diff --git a/.github/workflows/ci-e2e.yml b/.github/workflows/ci-e2e.yml index b126777135..611189a6ab 100644 --- a/.github/workflows/ci-e2e.yml +++ b/.github/workflows/ci-e2e.yml @@ -37,7 +37,7 @@ jobs: - run: .github/workflows/ci/wait-for http://localhost:3001/_actuator/probes/liveness -t 240 - run: .github/workflows/ci/wait-for http://localhost:3002/_actuator/probes/liveness -t 240 - - run: .github/workflows/ci/wait-for http://localhost:19551/ping -t 240 + - run: .github/workflows/ci/wait-for http://localhost:19550/ping -t 240 - uses: cypress-io/github-action@d79d2d530a66e641eb4a5f227e13bc985c60b964 # v4.2.2 with: diff --git a/babel.config.js b/babel.config.js index 318d3baf0a..08a024188d 100644 --- a/babel.config.js +++ b/babel.config.js @@ -14,6 +14,7 @@ module.exports = function (api) { "@shared-api": "./shared/api", "@shared-contexts": "./shared/contexts", "@shared-types": "./shared/types", + "@shared-contracts": "./shared/contracts", "@screens": "./mobile-app/app/screens", "@store": "./shared/store", "@translations": "./shared/translations", diff --git a/docker-compose.yml b/docker-compose.yml index ed37f5d4f3..9264159771 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -12,17 +12,22 @@ services: ports: - "19553:80" - "19552:8080" - - "19551:8082" + - "19550:8082" volumes: - "/var/run/docker.sock:/var/run/docker.sock:ro" defi-blockchain: - image: defi/defichain:master-91a01aea0 + image: defi/defichain:HEAD-420563c450 + ports: + - "19554:19554" + - "19551:19551" command: > defid -printtoconsole -rpcallowip=0.0.0.0/0 -rpcbind=0.0.0.0 + -ethrpcbind=0.0.0.0 + -rpcallowcors=http://localhost:8081 -rpcuser=playground -rpcpassword=playground -rpcworkqueue=512 @@ -55,10 +60,11 @@ services: -grandcentralheight=16 -grandcentralepilogueheight=17 -nextnetworkupgradeheight=18 - -changiintermediateheight=19 + environment: + - RUST_LOG=debug defi-playground: - image: ghcr.io/birthdayresearch/playground-api:3.34.0 + image: ghcr.io/birthdayresearch/playground-api:4.0.0-rc.1.2 depends_on: - defi-blockchain ports: @@ -71,7 +77,7 @@ services: - "traefik.http.routers.playground.entrypoints=web" defi-whale: - image: ghcr.io/birthdayresearch/whale-api:3.34.0 + image: ghcr.io/birthdayresearch/whale-api:4.0.0-rc.1.2 depends_on: - defi-blockchain ports: diff --git a/mobile-app/App.tsx b/mobile-app/App.tsx index 78650c3473..b841265c61 100644 --- a/mobile-app/App.tsx +++ b/mobile-app/App.tsx @@ -4,6 +4,7 @@ import { SecuredStoreAPI, LanguagePersistence, ThemePersistence, + DomainPersistence, Logging, } from "@api"; import { AppStateContextProvider } from "@contexts/AppStateContext"; @@ -28,6 +29,7 @@ import { LanguageProvider, useLanguage, } from "@shared-contexts/LanguageProvider"; +import { DomainProvider } from "@contexts/DomainContext"; import * as Localization from "expo-localization"; import { useColorScheme } from "react-native"; import { WalletPersistence } from "@api/wallet"; @@ -45,6 +47,8 @@ import { WalletToast } from "@components/WalletToast"; import { ServiceProviderPersistence } from "@api/wallet/service_provider"; import { FavouritePoolpairProvider } from "@contexts/FavouritePoolpairContext"; import BigNumber from "bignumber.js"; +import { EVMProvider } from "@contexts/EVMProvider"; +import { CustomServiceProvider } from "@contexts/CustomServiceProvider"; /** * Loads @@ -110,19 +114,30 @@ export default function App(): JSX.Element | null { api={LanguagePersistence} locale={Localization.locale} > - - - - - -
- - - - - + + + + + + + + +
+ + + + + + + + diff --git a/mobile-app/app/api/index.ts b/mobile-app/app/api/index.ts index fb4624ce8c..cdd78d2d69 100644 --- a/mobile-app/app/api/index.ts +++ b/mobile-app/app/api/index.ts @@ -7,3 +7,4 @@ export { FeatureFlagPersistence } from "./persistence/feature_flag_storage"; export { SlippageTolerancePersistence } from "./persistence/slippage-tolerance_storage"; export { PortfolioCurrencyPersistence } from "./persistence/portfolio_currency_storage"; export { FavouritePoolpairsPersistence } from "./persistence/favourite_poolpairs_storage"; +export { DomainPersistence } from "./persistence/domain_storage"; diff --git a/mobile-app/app/api/persistence/domain_storage.ts b/mobile-app/app/api/persistence/domain_storage.ts new file mode 100644 index 0000000000..8d86b1f31e --- /dev/null +++ b/mobile-app/app/api/persistence/domain_storage.ts @@ -0,0 +1,16 @@ +import AsyncStorage from "@react-native-async-storage/async-storage"; + +const KEY = "WALLET.EVMDOMAIN"; + +async function set(domain: NonNullable): Promise { + await AsyncStorage.setItem(KEY, domain); +} + +async function get(): Promise { + return await AsyncStorage.getItem(KEY); +} + +export const DomainPersistence = { + set, + get, +}; diff --git a/mobile-app/app/api/transaction/dfi_converter.ts b/mobile-app/app/api/transaction/dfi_converter.ts index 759487524b..ab2b10648a 100644 --- a/mobile-app/app/api/transaction/dfi_converter.ts +++ b/mobile-app/app/api/transaction/dfi_converter.ts @@ -6,13 +6,12 @@ import { CTransactionSegWit, TransactionSegWit, } from "@defichain/jellyfish-transaction"; - -export type ConversionMode = "utxosToAccount" | "accountToUtxos"; +import { ConvertDirection } from "@screens/enum"; export async function dfiConversionSigner( account: WhaleWalletAccount, amount: BigNumber, - mode: ConversionMode + mode: ConvertDirection, ): Promise { const script = await account.getScript(); const builder = account.withTransactionBuilder(); @@ -32,7 +31,7 @@ export async function dfiConversionSigner( }, ], }, - script + script, ); } else { signed = await builder.account.accountToUtxos( @@ -46,7 +45,7 @@ export async function dfiConversionSigner( ], mintingOutputsStart: 2, // 0: DfTx, 1: change, 2: minted utxos (mandated by jellyfish-tx) }, - script + script, ); } return new CTransactionSegWit(signed); @@ -54,47 +53,55 @@ export async function dfiConversionSigner( export function dfiConversionCrafter( amount: BigNumber, - mode: ConversionMode, + convertDirection: ConvertDirection, onBroadcast: () => any, onConfirmation: () => void, - submitButtonLabel?: string + submitButtonLabel?: string, ): DfTxSigner { + if ( + ![ + ConvertDirection.accountToUtxos, + ConvertDirection.utxosToAccount, + ].includes(convertDirection) + ) { + throw new Error("Unexpected DFI conversion"); + } + const [symbolA, symbolB] = - mode === "utxosToAccount" - ? ["UTXO", translate("screens/OceanInterface", "tokens")] - : [translate("screens/OceanInterface", "tokens"), "UTXO"]; + convertDirection === ConvertDirection.utxosToAccount + ? ["UTXO", translate("screens/OceanInterface", "DFI")] + : [translate("screens/OceanInterface", "DFI"), "UTXO"]; return { sign: async (account: WhaleWalletAccount) => - await dfiConversionSigner(account, amount, mode), + await dfiConversionSigner(account, amount, convertDirection), title: translate( "screens/ConvertConfirmScreen", - "Convert {{amount}} DFI to {{target}}", + "Convert {{amount}} {{symbolA}} to {{symbolB}} tokens", { amount: amount.toFixed(8), - target: - mode === "utxosToAccount" - ? translate("screens/ConvertScreen", "tokens") - : "UTXO", - } + symbolA, + symbolB, + }, ), drawerMessages: { preparing: translate("screens/OceanInterface", "Preparing to convert…"), waiting: translate( "screens/OceanInterface", - "Converting {{amount}} DFI {{symbolA}} to {{symbolB}}", + "Converting {{amount}} {{symbolA}} to {{symbolB}} tokens", { symbolA: symbolA, symbolB: symbolB, amount: amount.toFixed(8), - } + }, ), complete: translate( "screens/OceanInterface", - "{{amount}} DFI converted to {{symbolB}}", + "{{amount}} {{symbolA}} converted to {{symbolB}} tokens", { - symbolB: symbolB, + symbolA, + symbolB, amount: amount.toFixed(8), - } + }, ), }, onBroadcast, diff --git a/mobile-app/app/api/transaction/transfer_domain.ts b/mobile-app/app/api/transaction/transfer_domain.ts new file mode 100644 index 0000000000..0eced51a21 --- /dev/null +++ b/mobile-app/app/api/transaction/transfer_domain.ts @@ -0,0 +1,325 @@ +import { translate } from "@translations"; +import BigNumber from "bignumber.js"; +import { ethers, providers, utils } from "ethers"; +import { DfTxSigner } from "@waveshq/walletkit-ui/dist/store"; +import { WhaleWalletAccount } from "@defichain/whale-api-wallet"; +import { + CTransactionSegWit, + TransferDomain, + Script, +} from "@defichain/jellyfish-transaction"; +import { Prevout } from "@defichain/jellyfish-transaction-builder"; +import { fromAddress, Eth } from "@defichain/jellyfish-address"; +import { NetworkName } from "@defichain/jellyfish-network"; +import { ConvertDirection } from "@screens/enum"; +import TransferDomainV1 from "@shared-contracts/TransferDomainV1.json"; + +export const TD_CONTRACT_ADDR = "0xdf00000000000000000000000000000000000001"; + +const TRANSFER_DOMAIN_TYPE = { + DVM: 2, + EVM: 3, +}; + +export interface TransferDomainToken { + tokenId: string; + displaySymbol: string; + displayTextSymbol: string; + balance: BigNumber; +} + +interface TransferDomainSigner { + account: WhaleWalletAccount; + sourceTokenId: string; + targetTokenId: string; + amount: BigNumber; + convertDirection: ConvertDirection; + dvmAddress: string; + evmAddress: string; + chainId?: number; + networkName: NetworkName; + nonce: number; +} + +export async function transferDomainSigner({ + account, + sourceTokenId, + targetTokenId, + amount, + convertDirection, + dvmAddress, + evmAddress, + chainId, + networkName, + nonce, +}: TransferDomainSigner): Promise { + const dvmScript = fromAddress(dvmAddress, networkName)?.script as Script; + const evmScript = Eth.fromAddress(evmAddress) as Script; + const builder = account.withTransactionBuilder(); + + const isEvmToDvm = convertDirection === ConvertDirection.evmToDvm; + + const [sourceScript, dstScript] = isEvmToDvm + ? [evmScript, dvmScript] + : [dvmScript, evmScript]; + + const [srcDomain, dstDomain] = isEvmToDvm + ? [TRANSFER_DOMAIN_TYPE.EVM, TRANSFER_DOMAIN_TYPE.DVM] + : [TRANSFER_DOMAIN_TYPE.DVM, TRANSFER_DOMAIN_TYPE.EVM]; + + const signedEvmTxData = await createSignedEvmTx({ + isEvmToDvm, + sourceTokenId: stripEvmSuffixFromTokenId(sourceTokenId).toString(), + targetTokenId: stripEvmSuffixFromTokenId(targetTokenId).toString(), + amount, + dvmAddress, + evmAddress, + accountEvmAddress: await account.getEvmAddress(), + privateKey: await account.privateKey(), + chainId, + nonce, + }); + + const transferDomain: TransferDomain = { + items: [ + { + src: { + address: sourceScript, + domain: srcDomain, + amount: { + token: stripEvmSuffixFromTokenId(sourceTokenId), + amount: amount, + }, + data: isEvmToDvm ? signedEvmTxData : new Uint8Array([]), + }, + dst: { + address: dstScript, + domain: dstDomain, + amount: { + token: stripEvmSuffixFromTokenId(targetTokenId), + amount: amount, + }, + data: isEvmToDvm ? new Uint8Array([]) : signedEvmTxData, + }, + }, + ], + }; + + const { utxos, walletOwnerDvmScript } = await getTransferDomainVin( + account, + networkName, + ); + + const signed = await builder.account.transferDomain( + transferDomain, + walletOwnerDvmScript, + utxos, + ); + return new CTransactionSegWit(signed); +} + +async function getTransferDomainVin( + account: WhaleWalletAccount, + networkName: NetworkName, +): Promise<{ utxos: Prevout[]; walletOwnerDvmScript: Script }> { + const walletOwnerDvmAddress = await account.getAddress(); + const walletOwnerDvmScript = fromAddress(walletOwnerDvmAddress, networkName) + ?.script as Script; + + const utxoList = await account.client.address.listTransactionUnspent( + walletOwnerDvmAddress, + ); + + const utxos: Prevout[] = []; + if (utxoList.length > 0) { + utxos.push({ + txid: utxoList[0].vout.txid, + vout: utxoList[0].vout.n, + value: new BigNumber(utxoList[0].vout.value), + script: walletOwnerDvmScript, + tokenId: utxoList[0].vout.tokenId ?? 0, + }); + } + + return { utxos, walletOwnerDvmScript }; +} + +export function transferDomainCrafter({ + amount, + convertDirection, + sourceToken, + targetToken, + networkName, + onBroadcast, + onConfirmation, + chainId, + submitButtonLabel, + dvmAddress, + evmAddress, + nonce, +}: { + amount: BigNumber; + convertDirection: ConvertDirection; + sourceToken: TransferDomainToken; + targetToken: TransferDomainToken; + networkName: NetworkName; + onBroadcast: () => any; + onConfirmation: () => void; + chainId?: number; + submitButtonLabel?: string; + dvmAddress: string; + evmAddress: string; + nonce: number; +}): DfTxSigner { + if ( + ![ConvertDirection.evmToDvm, ConvertDirection.dvmToEvm].includes( + convertDirection, + ) + ) { + throw new Error("Unexpected transfer domain"); + } + + const [symbolA, symbolB] = + convertDirection === ConvertDirection.dvmToEvm + ? [ + sourceToken.displayTextSymbol, + `${targetToken.displayTextSymbol} (EVM)`, + ] + : [ + `${targetToken.displayTextSymbol} (EVM)`, + sourceToken.displayTextSymbol, + ]; + + return { + sign: async (account: WhaleWalletAccount) => + await transferDomainSigner({ + account, + amount, + convertDirection, + networkName, + sourceTokenId: sourceToken.tokenId, + targetTokenId: targetToken.tokenId, + dvmAddress, + evmAddress, + chainId, + nonce, + }), + title: translate( + "screens/ConvertConfirmScreen", + "Convert {{amount}} {{symbolA}} to {{symbolB}} tokens", + { + amount: amount.toFixed(8), + symbolA, + symbolB, + }, + ), + drawerMessages: { + preparing: translate("screens/OceanInterface", "Preparing to convert…"), + waiting: translate( + "screens/OceanInterface", + "Converting {{amount}} {{symbolA}} to {{symbolB}} tokens", + { + symbolA: symbolA, + symbolB: symbolB, + amount: amount.toFixed(8), + }, + ), + complete: translate( + "screens/OceanInterface", + "{{amount}} {{symbolA}} converted to {{symbolB}} tokens", + { + symbolA: symbolA, + symbolB: symbolB, + amount: amount.toFixed(8), + }, + ), + }, + onBroadcast, + onConfirmation, + submitButtonLabel: + submitButtonLabel !== undefined + ? translate("screens/ConvertConfirmScreen", submitButtonLabel) + : undefined, + }; +} + +interface EvmTxSigner { + isEvmToDvm: boolean; + sourceTokenId: string; + targetTokenId: string; + amount: BigNumber; + dvmAddress: string; + evmAddress: string; + accountEvmAddress: string; + privateKey: Buffer; + chainId?: number; + nonce: number; +} + +async function createSignedEvmTx({ + isEvmToDvm, + sourceTokenId, + targetTokenId, + amount, + dvmAddress, + evmAddress, + privateKey, + chainId, + nonce, +}: EvmTxSigner): Promise { + let data; + const tdFace = new utils.Interface(TransferDomainV1.abi); + const from = isEvmToDvm ? evmAddress : TD_CONTRACT_ADDR; + const to = isEvmToDvm ? TD_CONTRACT_ADDR : evmAddress; + const parsedAmount = utils.parseUnits( + amount.decimalPlaces(8, BigNumber.ROUND_DOWN).toFixed(), + 18, + ); // TODO: Get decimals from token contract + const vmAddress = dvmAddress; + + if (sourceTokenId === "0" || targetTokenId === "0") { + /* For DFI, use `transfer` function */ + const transferDfi = [from, to, parsedAmount, vmAddress]; + data = tdFace.encodeFunctionData("transfer", transferDfi); + } else { + /* For DST20, use `transferDST20` function */ + const dst20TokenId = stripEvmSuffixFromTokenId(sourceTokenId); + const contractAddress = getAddressFromDST20TokenId(dst20TokenId); + const transferDST20 = [contractAddress, from, to, parsedAmount, vmAddress]; + data = tdFace.encodeFunctionData("transferDST20", transferDST20); + } + const wallet = new ethers.Wallet(privateKey); + + const tx: providers.TransactionRequest = { + to: TD_CONTRACT_ADDR, + nonce, + chainId, + data: data, + value: 0, + gasLimit: 0, + gasPrice: 0, + type: 0, + }; + const evmtxSigned = (await wallet.signTransaction(tx)).substring(2); // rm prefix `0x` + return new Uint8Array(Buffer.from(evmtxSigned, "hex") || []); +} + +export function stripEvmSuffixFromTokenId(tokenId: string) { + if (tokenId.includes("_evm")) { + return Number(tokenId.replace("_evm", "")); + } + return Number(tokenId); +} + +/** + * Get DST20 contract address + * https://github.com/DeFiCh/ain/blob/f5a671362f9899080d0a0dddbbcdcecb7c19d9e3/lib/ain-contracts/src/lib.rs#L79 + */ +export function getAddressFromDST20TokenId(tokenId: number | string): string { + const parsedTokenId = BigInt(tokenId); + const numberStr = parsedTokenId.toString(16); // Convert parsedTokenId to hexadecimal + const paddedNumberStr = numberStr.padStart(38, "0"); // Pad with zeroes to the left + const finalStr = `ff${paddedNumberStr}`; + const tokenContractAddess = utils.getAddress(finalStr); + return tokenContractAddess; +} diff --git a/mobile-app/app/api/wallet/service_provider.ts b/mobile-app/app/api/wallet/service_provider.ts index ea2d13362b..aecc8e9665 100644 --- a/mobile-app/app/api/wallet/service_provider.ts +++ b/mobile-app/app/api/wallet/service_provider.ts @@ -1,14 +1,34 @@ import { SecuredStoreAPI } from "@api"; +import { CustomServiceProviderType } from "@contexts/CustomServiceProvider"; const KEY = "WALLET.SERVICE_PROVIDER_URL"; -async function set(url: NonNullable): Promise { - await SecuredStoreAPI.setItem(KEY, url); +async function set( + url: NonNullable, + type: CustomServiceProviderType = CustomServiceProviderType.DVM, +): Promise { + await SecuredStoreAPI.setItem(`${KEY}.${type}`, url); } -async function get(): Promise { - const val = await SecuredStoreAPI.getItem(KEY); - return val != null ? val : undefined; +async function get( + type: CustomServiceProviderType = CustomServiceProviderType.DVM, +): Promise { + const PROVIDER_KEY = `${KEY}.${type}`; + const val = await SecuredStoreAPI.getItem(PROVIDER_KEY); + if (val !== null) { + return val; + } + + if (type === CustomServiceProviderType.DVM && val === null) { + const existingDvm = await SecuredStoreAPI.getItem(KEY); + if (existingDvm !== null) { + await SecuredStoreAPI.setItem(PROVIDER_KEY, existingDvm); + await SecuredStoreAPI.removeItem(KEY); + return existingDvm; + } + } + + return undefined; } /** diff --git a/mobile-app/app/components/AddressEvmTag.tsx b/mobile-app/app/components/AddressEvmTag.tsx new file mode 100644 index 0000000000..cc7a0af821 --- /dev/null +++ b/mobile-app/app/components/AddressEvmTag.tsx @@ -0,0 +1,27 @@ +import { tailwind } from "@tailwind"; +import { LinearGradient } from "expo-linear-gradient"; + +export function AddressEvmTag({ + children, + customStyle, + testID, +}: { + children: React.ReactElement; + customStyle?: string; + testID: string; +}): JSX.Element { + return ( + + {children} + + ); +} diff --git a/mobile-app/app/components/BottomSheetHeader.tsx b/mobile-app/app/components/BottomSheetHeader.tsx index f1f0dd78f4..970e413110 100644 --- a/mobile-app/app/components/BottomSheetHeader.tsx +++ b/mobile-app/app/components/BottomSheetHeader.tsx @@ -39,7 +39,7 @@ export function BottomSheetHeader({ light={tailwind("text-mono-light-v2-900")} iconType="Feather" name="x-circle" - size={24} + size={22} /> diff --git a/mobile-app/app/components/BottomSheetTokenListHeader.tsx b/mobile-app/app/components/BottomSheetTokenListHeader.tsx index 32e16b366a..7e41e9107d 100644 --- a/mobile-app/app/components/BottomSheetTokenListHeader.tsx +++ b/mobile-app/app/components/BottomSheetTokenListHeader.tsx @@ -25,7 +25,7 @@ export function BottomSheetTokenListHeader({ diff --git a/mobile-app/app/components/DomainSwitch.tsx b/mobile-app/app/components/DomainSwitch.tsx new file mode 100644 index 0000000000..1b14ba1553 --- /dev/null +++ b/mobile-app/app/components/DomainSwitch.tsx @@ -0,0 +1,93 @@ +import { View, Text } from "react-native"; +import { ThemedTouchableOpacityV2 } from "@components/themed"; +import { getNativeIcon } from "@components/icons/assets"; +import { useThemeContext } from "@waveshq/walletkit-ui"; +import React from "react"; +import { useDomainContext, DomainType } from "@contexts/DomainContext"; +import { tailwind } from "@tailwind"; +import { LinearGradient } from "expo-linear-gradient"; + +export function DomainSwitch({ testID }: { testID: string }): JSX.Element { + const { isLight } = useThemeContext(); + const { domain, setDomain } = useDomainContext(); + const DFIIcon = getNativeIcon("DFIlogo"); + const EvmDFIIcon = getNativeIcon("EvmDFI"); + + const toggleDomain = async () => { + await setDomain( + domain === DomainType.DVM ? DomainType.EVM : DomainType.DVM, + ); + }; + return ( + + {domain === DomainType.DVM && ( + + + + + + + + DVM + + + + )} + {domain === DomainType.EVM && ( + + + + + + + + + EVM + + + + + )} + + ); +} diff --git a/mobile-app/app/components/EVMLinearGradient.tsx b/mobile-app/app/components/EVMLinearGradient.tsx new file mode 100644 index 0000000000..c57b6455e6 --- /dev/null +++ b/mobile-app/app/components/EVMLinearGradient.tsx @@ -0,0 +1,28 @@ +import { tailwind } from "@tailwind"; +import { LinearGradient } from "expo-linear-gradient"; +import { ReactElement } from "react"; + +/* Only apply evm border color if it's an EVM Token */ +export function EVMLinearGradient({ + children, + isEvmToken, +}: { + children: ReactElement; + isEvmToken?: boolean; +}): JSX.Element | null { + if (isEvmToken) { + return ( + + {children} + + ); + } + + return children; +} diff --git a/mobile-app/app/components/EvmTag.tsx b/mobile-app/app/components/EvmTag.tsx new file mode 100644 index 0000000000..091ccfb555 --- /dev/null +++ b/mobile-app/app/components/EvmTag.tsx @@ -0,0 +1,31 @@ +import { tailwind } from "@tailwind"; +import { Text } from "@components/Text"; +import { LinearGradient } from "expo-linear-gradient"; + +export function EvmTag({ + text = "EVM", + index, + testIDSuffix, +}: { + text?: string; + index: number; + testIDSuffix: string; +}): JSX.Element { + return ( + + + {text} + + + ); +} diff --git a/mobile-app/app/components/HeaderNetworkStatus.tsx b/mobile-app/app/components/HeaderNetworkStatus.tsx index 2131397629..38fdd6dca4 100644 --- a/mobile-app/app/components/HeaderNetworkStatus.tsx +++ b/mobile-app/app/components/HeaderNetworkStatus.tsx @@ -13,6 +13,7 @@ import { ViewStyle, } from "react-native"; import { useSelector } from "react-redux"; +import { useCustomServiceProviderContext } from "@contexts/CustomServiceProvider"; import { NetworkIcon } from "./icons/assets/NetworkIcon"; import { ThemedTextV2 } from "./themed"; @@ -26,7 +27,9 @@ export function HeaderNetworkStatus({ containerStyle?: StyleProp; }): JSX.Element { const { network } = useNetworkContext(); - const { isCustomUrl } = useServiceProviderContext(); + const { isCustomUrl: isCustomDvmUrl } = useServiceProviderContext(); + const { isCustomEvmUrl, isCustomEthRpcUrl } = + useCustomServiceProviderContext(); const { connected } = useSelector((state: RootState) => state.block); return ( @@ -53,7 +56,7 @@ export function HeaderNetworkStatus({ > {network} - {isCustomUrl && ( + {(isCustomDvmUrl || isCustomEvmUrl || isCustomEthRpcUrl) && ( ({ useNavigation: jest.fn(), })); @@ -45,7 +46,7 @@ describe("Header title", () => { subHeadingType="NetworkSelect" onPress={jest.fn()} disabled={false} - /> + />, ); expect(rendered.toJSON()).toMatchSnapshot(); }); diff --git a/mobile-app/app/components/HeaderTitle.tsx b/mobile-app/app/components/HeaderTitle.tsx index 45509e3b77..020d96ab62 100644 --- a/mobile-app/app/components/HeaderTitle.tsx +++ b/mobile-app/app/components/HeaderTitle.tsx @@ -8,6 +8,7 @@ import { } from "@waveshq/walletkit-ui"; import { RootState } from "@store"; import { tailwind } from "@tailwind"; +import { useCustomServiceProviderContext } from "@contexts/CustomServiceProvider"; import { ThemedIcon, ThemedText } from "./themed"; type SubHeadingType = "Status" | "NetworkSelect"; @@ -43,7 +44,7 @@ export function HeaderTitle({ onPress={onPress ?? goToNetworkDetails} testID={containerTestID} style={tailwind( - `flex-col ${Platform.OS === "ios" ? "items-center" : ""}` + `flex-col ${Platform.OS === "ios" ? "items-center" : ""}`, )} > {text !== undefined && ( @@ -68,7 +69,9 @@ export function HeaderTitle({ export function ConnectionStatus(): JSX.Element { const { network } = useNetworkContext(); - const { isCustomUrl } = useServiceProviderContext(); + const { isCustomUrl: isCustomDvmUrl } = useServiceProviderContext(); + const { isCustomEvmUrl, isCustomEthRpcUrl } = + useCustomServiceProviderContext(); const connected = useSelector((state: RootState) => state.block.connected); return ( @@ -76,7 +79,7 @@ export function ConnectionStatus(): JSX.Element { style={tailwind( `h-2 w-2 rounded-full ${ connected ? "bg-green-500" : "bg-red-500" - } mr-1.5` + } mr-1.5`, )} testID="header_status_indicator" /> @@ -90,7 +93,7 @@ export function ConnectionStatus(): JSX.Element { {network} - {isCustomUrl && ( + {(isCustomDvmUrl || isCustomEvmUrl || isCustomEthRpcUrl) && ( - {`${props.label}`} + {props.label} - {`${props.label}`} + {props.label} 0 + ? props.toAddressLabel + : props.toAddress; return ( <> ) : ( - + + + )} @@ -82,7 +103,7 @@ export function SummaryTitle(props: ISummaryTitleProps): JSX.Element { dark={tailwind("bg-mono-dark-v2-200")} light={tailwind("bg-mono-light-v2-200")} style={tailwind( - "rounded-full pl-1 pr-2.5 py-1 flex flex-row items-center overflow-hidden ml-2" + "rounded-full pl-1 pr-2.5 py-1 flex flex-row items-center overflow-hidden ml-2", )} > @@ -116,39 +137,80 @@ export function SummaryTitle(props: ISummaryTitleProps): JSX.Element { > {props.customToAddressTitle ?? translate("screens/common", "To")} - - {props.addressType === AddressType.WalletAddress && ( - - - - )} - + <> + {props.addressType === AddressType.WalletAddress && ( + + + + )} + + {toAddressLabel} + + + + ) : ( + // Whitelisted address - DVM + - {props.toAddressLabel != null && props.toAddressLabel.length > 0 - ? props.toAddressLabel - : props.toAddress} - - + {props.addressType === AddressType.WalletAddress && ( + + + + )} + + {toAddressLabel} + + + )} )} diff --git a/mobile-app/app/components/TokenDropdownButton.tsx b/mobile-app/app/components/TokenDropdownButton.tsx index 9ffab19ee1..5fcba32749 100644 --- a/mobile-app/app/components/TokenDropdownButton.tsx +++ b/mobile-app/app/components/TokenDropdownButton.tsx @@ -6,6 +6,7 @@ import { import { getNativeIcon } from "@components/icons/assets"; import { tailwind } from "@tailwind"; import { translate } from "@translations"; +import { EVMLinearGradient } from "./EVMLinearGradient"; export enum TokenDropdownButtonStatus { Active, @@ -15,13 +16,20 @@ export enum TokenDropdownButtonStatus { } export function TokenDropdownButton(props: { + tokenId?: string; symbol?: string; + displayedTextSymbol?: string; testID: string; onPress?: () => void; status: TokenDropdownButtonStatus; + isEvmToken?: boolean; }): JSX.Element { const Icon = - props.symbol !== undefined ? getNativeIcon(props.symbol) : undefined; + props.symbol !== undefined + ? props.tokenId === "0_evm" + ? getNativeIcon("DFI (EVM)") + : getNativeIcon(props.symbol) + : undefined; return ( - + + + + - {props.symbol} + {props.displayedTextSymbol ?? props.symbol} )} @@ -72,7 +83,7 @@ export function TokenDropdownButton(props: { size={24} style={tailwind( { "ml-2.5": props.symbol === undefined }, - { "ml-3.5": props.symbol !== undefined } + { "ml-3.5": props.symbol !== undefined }, )} dark={tailwind("text-mono-dark-v2-700")} light={tailwind("text-mono-light-v2-700")} diff --git a/mobile-app/app/components/WalletAddressRow.test.tsx b/mobile-app/app/components/WalletAddressRow.test.tsx index d7d63e2c60..99bc6c4f0f 100644 --- a/mobile-app/app/components/WalletAddressRow.test.tsx +++ b/mobile-app/app/components/WalletAddressRow.test.tsx @@ -4,6 +4,7 @@ import { RootState } from "@store"; import { Provider } from "react-redux"; import { userPreferences } from "@store/userPreferences"; +import { DomainType } from "@contexts/DomainContext"; import { WalletAddressRow } from "./WalletAddressRow"; jest.mock("@shared-contexts/WalletContext"); @@ -15,15 +16,15 @@ describe("Wallet Address Row", () => { addresses: { foo: { address: "foo", + evmAddress: "", label: "foo", - isMine: true, }, }, addressBook: { bar: { address: "bar", label: "bar", - isMine: false, + addressDomainType: DomainType.DVM, }, }, }, @@ -36,7 +37,7 @@ describe("Wallet Address Row", () => { const rendered = render( - + , ); expect(rendered.toJSON()).toMatchSnapshot(); }); diff --git a/mobile-app/app/components/WalletTextInputV2.tsx b/mobile-app/app/components/WalletTextInputV2.tsx index 73817cc862..9758e0c3c2 100644 --- a/mobile-app/app/components/WalletTextInputV2.tsx +++ b/mobile-app/app/components/WalletTextInputV2.tsx @@ -180,7 +180,7 @@ export const WalletTextInputV2 = forwardRef( typeof inlineText?.text === "string" && ( ( ); - } + }, ); export function ClearButtonV2(props: { @@ -231,7 +231,7 @@ const TextInputDefault = forwardRef( return ( ); - } + }, ); const TextInputIOS = forwardRef( @@ -246,7 +246,7 @@ const TextInputIOS = forwardRef( onFocus(e); } }, - [shouldHandleKeyboardEvents] + [shouldHandleKeyboardEvents], ); const handleOnBlur = useCallback(() => { shouldHandleKeyboardEvents.value = true; @@ -265,5 +265,5 @@ const TextInputIOS = forwardRef( {...otherProps} /> ); - } + }, ); diff --git a/mobile-app/app/components/icons/WalletIcon.tsx b/mobile-app/app/components/icons/WalletIcon.tsx new file mode 100644 index 0000000000..f4fac1381b --- /dev/null +++ b/mobile-app/app/components/icons/WalletIcon.tsx @@ -0,0 +1,22 @@ +import Svg, { Path, Rect, SvgProps } from "react-native-svg"; + +export function WalletIcon(props: SvgProps): JSX.Element { + return ( + + + + + ); +} diff --git a/mobile-app/app/components/icons/assets/ConvertIcon.tsx b/mobile-app/app/components/icons/assets/ConvertIcon.tsx new file mode 100644 index 0000000000..04b30d5d27 --- /dev/null +++ b/mobile-app/app/components/icons/assets/ConvertIcon.tsx @@ -0,0 +1,18 @@ +import Svg, { Path, SvgProps } from "react-native-svg"; + +interface ConvertIconProps extends SvgProps { + iconSize?: number; +} + +export function ConvertIcon(props: ConvertIconProps): JSX.Element { + return ( + + + + ); +} diff --git a/mobile-app/app/components/icons/assets/EvmDFI.tsx b/mobile-app/app/components/icons/assets/EvmDFI.tsx new file mode 100644 index 0000000000..97bd2b76d5 --- /dev/null +++ b/mobile-app/app/components/icons/assets/EvmDFI.tsx @@ -0,0 +1,52 @@ +import Svg, { + ClipPath, + Defs, + G, + LinearGradient, + Path, + Rect, + Stop, + SvgProps, +} from "react-native-svg"; + +export function EvmDFI(props: SvgProps): JSX.Element { + return ( + + + + + + + + + + + + + + + + + + + + + ); +} diff --git a/mobile-app/app/components/icons/assets/index.ts b/mobile-app/app/components/icons/assets/index.ts index d95319e877..7429981566 100644 --- a/mobile-app/app/components/icons/assets/index.ts +++ b/mobile-app/app/components/icons/assets/index.ts @@ -21,11 +21,13 @@ import { dSOL } from "./dSOL"; import { dSUI } from "./dSUI"; import { XCHF } from "./XCHF"; import { dXCHF } from "./dXCHF"; +import { EvmDFI } from "./EvmDFI"; const mapping: Record JSX.Element> = { _UTXO: DFI, DFI: DFI, "DFI (UTXO)": DFI, + "DFI (EVM)": EvmDFI, "DFI (Token)": DFI, BTC: BTC, DOT: DOT, @@ -43,6 +45,7 @@ const mapping: Record JSX.Element> = { DUSD: dUSD, dEUROC: dEUROC, DFIlogo: DFIlogo, + EvmDFI: EvmDFI, dDOT: dDOT, dMATIC: dMATIC, dSOL: dSOL, @@ -56,7 +59,7 @@ const mapping: Record JSX.Element> = { * @return {(props: SvgProps) => JSX.Element} */ export function getNativeIcon( - symbol: string + symbol: string, ): (props: SvgProps) => JSX.Element { const Icon = mapping[symbol]; if (Icon === undefined) { diff --git a/mobile-app/app/contexts/CustomServiceProvider.tsx b/mobile-app/app/contexts/CustomServiceProvider.tsx new file mode 100644 index 0000000000..c9911fd2ff --- /dev/null +++ b/mobile-app/app/contexts/CustomServiceProvider.tsx @@ -0,0 +1,202 @@ +import { EnvironmentNetwork } from "@waveshq/walletkit-core"; +import { useNetworkContext } from "@waveshq/walletkit-ui"; +import { BaseLogger } from "@waveshq/walletkit-ui/dist/contexts/logger"; +import React, { + createContext, + PropsWithChildren, + useContext, + useEffect, + useMemo, + useState, +} from "react"; +import { useDomainContext } from "./DomainContext"; + +export enum CustomServiceProviderType { + DVM = "DVM", + EVM = "EVM", + ETHRPC = "ETHRPC", +} + +interface CustomServiceProviderContextProps { + api: { + get: (type: CustomServiceProviderType) => Promise; + set: ( + url: NonNullable, + type?: CustomServiceProviderType, + ) => Promise; + }; + logger: BaseLogger; +} + +interface CustomServiceProviderURLProps + extends CustomServiceProviderContextProps { + network: EnvironmentNetwork; + defaultUrl: string; + type: CustomServiceProviderType; +} + +interface CustomServiceProviderLoader { + isUrlLoaded: boolean; + url: NonNullable; +} + +function useCustomServiceProviderUrl({ + api, + network, + logger, + defaultUrl, + type, +}: CustomServiceProviderURLProps): CustomServiceProviderLoader { + const [isUrlLoaded, setIsUrlLoaded] = useState(false); + const [url, setUrl] = useState>(defaultUrl); + + useEffect(() => { + api + .get(type) + .then((val) => { + setUrl(val !== undefined ? val : defaultUrl); + }) + .catch((err) => logger.error(err)) + .finally(() => setIsUrlLoaded(true)); + }, [url, network]); + + return { + isUrlLoaded, + url, + }; +} + +interface CustomServiceProviderContextI { + evmUrl: NonNullable; + ethRpcUrl: NonNullable; + isCustomEvmUrl: boolean; + isCustomEthRpcUrl: boolean; + defaultEvmUrl: string; + defaultEthRpcUrl: string; + setCustomUrl: ( + url: NonNullable, + type?: CustomServiceProviderType, + ) => Promise; +} + +const CustomServiceProviderContext = + createContext(undefined as any); + +export function useCustomServiceProviderContext(): CustomServiceProviderContextI { + return useContext(CustomServiceProviderContext); +} + +function getBlockscoutUrl(network: EnvironmentNetwork) { + // TODO: Add proper blockscout url for each network + switch (network) { + case EnvironmentNetwork.LocalPlayground: + case EnvironmentNetwork.RemotePlayground: + case EnvironmentNetwork.DevNet: + case EnvironmentNetwork.Changi: + return "https://blockscout.changi.ocean.jellyfishsdk.com"; + case EnvironmentNetwork.TestNet: + return "https://blockscout.testnet.ocean.jellyfishsdk.com"; + case EnvironmentNetwork.MainNet: + default: + return "https://blockscout.mainnet.ocean.jellyfishsdk.com"; + } +} + +function getEthRpcUrl(network: EnvironmentNetwork) { + // TODO: Add proper ethereum RPC URLs for each network + switch (network) { + case EnvironmentNetwork.LocalPlayground: + return "http://localhost:19551"; + case EnvironmentNetwork.RemotePlayground: + case EnvironmentNetwork.DevNet: + case EnvironmentNetwork.Changi: + return "http://34.34.156.49:20551"; // TODO: add final eth rpc url for changi, devnet and remote playground + case EnvironmentNetwork.MainNet: + return "https://changi.dfi.team"; // TODO: add final eth rpc url for mainnet, with proper domain name + case EnvironmentNetwork.TestNet: + default: + return "http://34.38.30.102:18551"; // TODO: add final eth rpc url for testnet, with proper domain name + } +} + +export function CustomServiceProvider( + props: CustomServiceProviderContextProps & PropsWithChildren, +): JSX.Element | null { + const { api, children, logger } = props; + const { network } = useNetworkContext(); + const { isEvmFeatureEnabled } = useDomainContext(); + const params = { api, network, logger }; + + // EVM + const defaultEvmUrl = getBlockscoutUrl(network); + const { url: evmUrl } = useCustomServiceProviderUrl({ + ...params, + defaultUrl: defaultEvmUrl, + type: CustomServiceProviderType.EVM, + }); + + // ETH-RPC + const defaultEthRpcUrl = getEthRpcUrl(network); + const { url: ethRpcUrl } = useCustomServiceProviderUrl({ + ...params, + defaultUrl: defaultEthRpcUrl, + type: CustomServiceProviderType.ETHRPC, + }); + + const [currentUrl, setCurrentUrl] = useState<{ + [key in CustomServiceProviderType]: string; + }>({ + [CustomServiceProviderType.DVM]: "", // not used here, added only to satify `key` type + [CustomServiceProviderType.EVM]: evmUrl, + [CustomServiceProviderType.ETHRPC]: ethRpcUrl, + }); + + useEffect(() => { + const url = isEvmFeatureEnabled ? evmUrl : defaultEvmUrl; + setCurrentUrl((prevState) => ({ + ...prevState, + [CustomServiceProviderType.EVM]: url, + })); + }, [evmUrl, isEvmFeatureEnabled]); + + useEffect(() => { + const url = isEvmFeatureEnabled ? ethRpcUrl : defaultEthRpcUrl; + setCurrentUrl((prevState) => ({ + ...prevState, + [CustomServiceProviderType.ETHRPC]: url, + })); + }, [ethRpcUrl, isEvmFeatureEnabled]); + + const isCustomEvmUrl = useMemo( + () => currentUrl.EVM !== defaultEvmUrl, + [currentUrl.EVM, defaultEvmUrl], + ); + const isCustomEthRpcUrl = useMemo( + () => currentUrl.ETHRPC !== defaultEthRpcUrl, + [currentUrl.ETHRPC, defaultEthRpcUrl], + ); + + const setCustomUrl = async ( + newUrl: string, + type: CustomServiceProviderType = CustomServiceProviderType.DVM, + ): Promise => { + setCurrentUrl((prevState) => ({ ...prevState, [type]: newUrl })); + await api.set(newUrl, type); + }; + + const context: CustomServiceProviderContextI = { + evmUrl: currentUrl.EVM ?? defaultEvmUrl, + ethRpcUrl: currentUrl.ETHRPC ?? defaultEthRpcUrl, + isCustomEvmUrl, + isCustomEthRpcUrl, + defaultEvmUrl, + defaultEthRpcUrl, + setCustomUrl, + }; + + return ( + + {children} + + ); +} diff --git a/mobile-app/app/contexts/DomainContext.tsx b/mobile-app/app/contexts/DomainContext.tsx new file mode 100644 index 0000000000..b91f0d20b4 --- /dev/null +++ b/mobile-app/app/contexts/DomainContext.tsx @@ -0,0 +1,105 @@ +import React, { + createContext, + useContext, + useEffect, + useState, + PropsWithChildren, +} from "react"; +import { useLogger } from "@shared-contexts/NativeLoggingProvider"; +import { useFeatureFlagContext } from "./FeatureFlagContext"; + +interface DomainLoader { + isDomainLoaded: boolean; + domain: NonNullable; +} + +interface DomainContextI { + api: { + get: () => Promise; + set: (domain: NonNullable) => Promise; + }; +} + +export enum DomainType { + DVM = "DVM", + EVM = "EVM", +} + +export function useDomain({ api }: DomainContextI): DomainLoader { + const defaultDomain = DomainType.DVM; + const logger = useLogger(); + const [isDomainLoaded, setIsDomainLoaded] = useState(false); + const [domain, setDomain] = useState>(defaultDomain); + + useEffect(() => { + api + .get() + .then((l) => { + let currentDomain: NonNullable = defaultDomain; + if (l !== null && l !== undefined) { + currentDomain = l as DomainType; // TODO fix this hardcoded typing if possible + } + setDomain(currentDomain); + }) + .catch((err) => logger.error(err)) + .finally(() => setIsDomainLoaded(true)); + }, []); + + return { + isDomainLoaded, + domain, + }; +} + +interface Domain { + domain: NonNullable; + isEvmFeatureEnabled: boolean; + setDomain: (domain: NonNullable) => Promise; +} + +const DomainContext = createContext(undefined as any); + +export function useDomainContext(): Domain { + return useContext(DomainContext); +} + +export function DomainProvider( + props: DomainContextI & PropsWithChildren, +): JSX.Element | null { + const { isFeatureAvailable } = useFeatureFlagContext(); + const { api } = props; + const { domain } = useDomain({ api }); + const [currentDomain, setCurrentDomain] = + useState>(domain); + + useEffect(() => { + setCurrentDomain(domain); + }, [domain]); + + useEffect(() => { + switch (currentDomain) { + case "EVM": + setDomain(DomainType.EVM); + break; + default: + setDomain(DomainType.DVM); + } + }, [currentDomain]); + + const setDomain = async (domain: DomainType): Promise => { + setCurrentDomain(domain); + await api.set(domain); + }; + + const context: Domain = { + domain: isFeatureAvailable("evm") ? currentDomain : DomainType.DVM, + isEvmFeatureEnabled: isFeatureAvailable("evm"), + setDomain, + }; + + return ( + + {props.children} + + ); +} diff --git a/mobile-app/app/contexts/EVMProvider.tsx b/mobile-app/app/contexts/EVMProvider.tsx new file mode 100644 index 0000000000..b9eee0a68e --- /dev/null +++ b/mobile-app/app/contexts/EVMProvider.tsx @@ -0,0 +1,67 @@ +import React, { + createContext, + useContext, + useEffect, + useMemo, + useState, +} from "react"; +import { providers } from "ethers"; +import { useNetworkContext } from "@waveshq/walletkit-ui"; +import { BaseLogger } from "@waveshq/walletkit-ui/dist/contexts/logger"; +import { useCustomServiceProviderContext } from "./CustomServiceProvider"; + +interface EVMProviderContextI { + provider: providers.JsonRpcProvider | null; + chainId?: number; +} +const EVMProviderContext = createContext(undefined as any); + +export function useEVMProvider(): EVMProviderContextI { + return useContext(EVMProviderContext); +} + +export function EVMProvider({ + children, + logger, +}: React.PropsWithChildren<{ logger: BaseLogger }>): JSX.Element | null { + const { ethRpcUrl } = useCustomServiceProviderContext(); + const { network } = useNetworkContext(); + const [chainId, setChainId] = useState(); + const [provider, setProvider] = useState( + null, + ); + + const getProvider = async () => { + try { + const provider = new providers.JsonRpcProvider(ethRpcUrl); + const { chainId } = await provider.getNetwork(); + setChainId(chainId); + setProvider(provider); + logger.info(`ChainID: ${chainId}`); + } catch (e) { + logger.info(`Eth rpc url: ${ethRpcUrl}`); + logger.error(e); + // Note: Added this for cases wherein eth rpc url is invalid or unreachable + setChainId(0); + setProvider(null); + } + }; + + useEffect(() => { + getProvider(); + }, [network, ethRpcUrl]); + + const client = useMemo( + () => ({ + provider, + chainId, + }), + [network, chainId, ethRpcUrl, provider], + ); + + return ( + + {children} + + ); +} diff --git a/mobile-app/app/contexts/FeatureFlagContext.tsx b/mobile-app/app/contexts/FeatureFlagContext.tsx index 4f2ef2595e..eb2b72f1a6 100644 --- a/mobile-app/app/contexts/FeatureFlagContext.tsx +++ b/mobile-app/app/contexts/FeatureFlagContext.tsx @@ -43,7 +43,7 @@ export function useFeatureFlagContext(): FeatureFlagContextI { } export function FeatureFlagProvider( - props: React.PropsWithChildren + props: React.PropsWithChildren, ): JSX.Element | null { const { network } = useNetworkContext(); const { url, isCustomUrl } = useServiceProviderContext(); @@ -80,7 +80,7 @@ export function FeatureFlagProvider( satisfies(appVersion, flag.version) && flag.networks?.includes(network) && flag.id === featureId && - flag.stage === "beta" + flag.stage === "beta", ); } @@ -118,7 +118,7 @@ export function FeatureFlagProvider( } const updateEnabledFeatures = async ( - flags: FeatureFlagID[] + flags: FeatureFlagID[], ): Promise => { setEnabledFeatures(flags); await FeatureFlagPersistence.set(flags); @@ -151,7 +151,7 @@ export function FeatureFlagProvider( satisfies(appVersion, flag.version) && flag.networks?.includes(network) && flag.platforms?.includes(Platform.OS) && - flag.stage === "beta" + flag.stage === "beta", ), }; diff --git a/mobile-app/app/contexts/__mocks__/CustomServiceProvider.tsx b/mobile-app/app/contexts/__mocks__/CustomServiceProvider.tsx new file mode 100644 index 0000000000..97d0492f83 --- /dev/null +++ b/mobile-app/app/contexts/__mocks__/CustomServiceProvider.tsx @@ -0,0 +1,11 @@ +export const useCustomServiceProviderContext = () => { + return { + evmUrl: "", + ethRpcUrl: "", + isCustomEvmUrl: false, + isCustomEthRpcUrl: false, + defaultEvmUrl: "", + defaultEthRpcUrl: "", + setCustomUrl: jest.fn(), + }; +}; diff --git a/mobile-app/app/contexts/__mocks__/DomainContext.tsx b/mobile-app/app/contexts/__mocks__/DomainContext.tsx new file mode 100644 index 0000000000..0a95faf8dd --- /dev/null +++ b/mobile-app/app/contexts/__mocks__/DomainContext.tsx @@ -0,0 +1,10 @@ +export enum DomainType { + DVM = "DVM", + EVM = "EVM", +} + +export const useDomainContext = () => { + return { + domain: "DVM", + }; +}; diff --git a/mobile-app/app/contexts/__mocks__/EVMProvider.tsx b/mobile-app/app/contexts/__mocks__/EVMProvider.tsx new file mode 100644 index 0000000000..7a6a8aab19 --- /dev/null +++ b/mobile-app/app/contexts/__mocks__/EVMProvider.tsx @@ -0,0 +1,6 @@ +export const useEVMProvider = () => { + return { + provider: null, + chainId: 1133, + }; +}; diff --git a/mobile-app/app/hooks/useAddressBook.ts b/mobile-app/app/hooks/useAddressBook.ts index 3e4ac59b2c..ef3b69470e 100644 --- a/mobile-app/app/hooks/useAddressBook.ts +++ b/mobile-app/app/hooks/useAddressBook.ts @@ -9,20 +9,22 @@ export function useAddressBook(): { } { const { network } = useNetworkContext(); const userPreferences = useSelector( - (state: RootState) => state.userPreferences + (state: RootState) => state.userPreferences, ); const dispatch = useAppDispatch(); const clearAddressBook = (): void => { const emptyAddressBook = {}; + // clear redux store dispatch(setAddressBook(emptyAddressBook)).then(() => { dispatch( + // clear persistance storage data setUserPreferences({ network, preferences: { ...userPreferences, addressBook: emptyAddressBook, }, - }) + }), ); }); }; diff --git a/mobile-app/app/hooks/useAddressLabel.ts b/mobile-app/app/hooks/useAddressLabel.ts index afcfaf664a..f86669c376 100644 --- a/mobile-app/app/hooks/useAddressLabel.ts +++ b/mobile-app/app/hooks/useAddressLabel.ts @@ -1,9 +1,10 @@ import { useSelector } from "react-redux"; import { RootState } from "@store"; +import { selectAllLabeledWalletAddress } from "@store/userPreferences"; export function useAddressLabel(address: string): string | null { - const addresses = useSelector( - (state: RootState) => state.userPreferences?.addresses + const addresses = useSelector((state: RootState) => + selectAllLabeledWalletAddress(state.userPreferences), ); let label = null; if (addresses?.[address] != null) { diff --git a/mobile-app/app/hooks/useWalletAddress.ts b/mobile-app/app/hooks/useWalletAddress.ts index 1fbccb3867..18bd7b9c7b 100644 --- a/mobile-app/app/hooks/useWalletAddress.ts +++ b/mobile-app/app/hooks/useWalletAddress.ts @@ -1,17 +1,27 @@ import { useWalletContext } from "@shared-contexts/WalletContext"; import { useCallback } from "react"; +export interface WalletAddressI { + dvm: string; + evm: string; + generatedLabel: string; +} + export function useWalletAddress(): { - fetchWalletAddresses: () => Promise; + fetchWalletAddresses: () => Promise; } { const { wallet, addressLength } = useWalletContext(); - const fetchWalletAddresses = useCallback(async (): Promise => { - const addresses: string[] = []; + const fetchWalletAddresses = useCallback(async (): Promise< + WalletAddressI[] + > => { + const addresses: WalletAddressI[] = []; for (let i = 0; i <= addressLength; i++) { const account = wallet.get(i); - const address = await account.getAddress(); - addresses.push(address); + const dvm = await account.getAddress(); + const evm = await account.getEvmAddress(); + const generatedLabel = `Address ${i + 1}`; + addresses.push({ dvm, evm, generatedLabel }); } return addresses; }, [wallet, addressLength]); diff --git a/mobile-app/app/hooks/wallet/Conversion.ts b/mobile-app/app/hooks/wallet/Conversion.ts index 42338f6721..d0da4047f9 100644 --- a/mobile-app/app/hooks/wallet/Conversion.ts +++ b/mobile-app/app/hooks/wallet/Conversion.ts @@ -8,11 +8,9 @@ import { unifiedDFISelector, transactionQueue, } from "@waveshq/walletkit-ui/dist/store"; -import { - ConversionMode, - dfiConversionCrafter, -} from "@api/transaction/dfi_converter"; +import { dfiConversionCrafter } from "@api/transaction/dfi_converter"; import { NativeLoggingProps } from "@shared-contexts/NativeLoggingProvider"; +import { ConvertDirection } from "@screens/enum"; interface useConversionProps { inputToken: InputToken; @@ -36,13 +34,13 @@ export function useConversion(props: useConversionProps): ConversionResult { const [isConversionRequired, setIsConversionRequired] = useState(false); const [conversionAmount, setConversionAmount] = useState(new BigNumber("0")); const DFIUnified = useSelector((state: RootState) => - unifiedDFISelector(state.wallet) + unifiedDFISelector(state.wallet), ); const DFIToken = useSelector((state: RootState) => - DFITokenSelector(state.wallet) + DFITokenSelector(state.wallet), ); const DFIUtxo = useSelector((state: RootState) => - DFIUtxoSelector(state.wallet) + DFIUtxoSelector(state.wallet), ); const unifiedAmount = new BigNumber(DFIUnified.amount); const reservedDFI = 0.1; @@ -63,7 +61,7 @@ export function useConversion(props: useConversionProps): ConversionResult { setConversionAmount( amount .minus(type === "utxo" ? DFIUtxo.amount : DFIToken.amount) - .plus(type === "utxo" ? reservedDFI : 0) + .plus(type === "utxo" ? reservedDFI : 0), ); setIsConversionRequired(true); } else { @@ -78,11 +76,11 @@ export function useConversion(props: useConversionProps): ConversionResult { } export function queueConvertTransaction( - { mode, amount }: { mode: ConversionMode; amount: BigNumber }, + { mode, amount }: { mode: ConvertDirection; amount: BigNumber }, dispatch: Dispatch, onBroadcast: () => void, logger: NativeLoggingProps, - onConfirmation: () => void = () => {} + onConfirmation: () => void = () => {}, ): void { try { dispatch( @@ -92,9 +90,9 @@ export function queueConvertTransaction( mode, onBroadcast, onConfirmation, - "CONVERTING" - ) - ) + "CONVERTING", + ), + ), ); } catch (e) { logger.error(e); diff --git a/mobile-app/app/screens/AppNavigator/BottomTabNavigator.tsx b/mobile-app/app/screens/AppNavigator/BottomTabNavigator.tsx index e79ef958cb..f45ca3ab37 100644 --- a/mobile-app/app/screens/AppNavigator/BottomTabNavigator.tsx +++ b/mobile-app/app/screens/AppNavigator/BottomTabNavigator.tsx @@ -10,6 +10,7 @@ import { PortfolioIcon, } from "@screens/WalletNavigator/assets/BottomNavIcon"; import { useThemeContext } from "@waveshq/walletkit-ui"; +import { DomainType, useDomainContext } from "@contexts/DomainContext"; import { PortfolioNavigator } from "./screens/Portfolio/PortfolioNavigator"; import { DexNavigator } from "./screens/Dex/DexNavigator"; import { LoansNavigator } from "./screens/Loans/LoansNavigator"; @@ -41,6 +42,7 @@ const getTabBarLabel = ({ export function BottomTabNavigator(): JSX.Element { const { isLight } = useThemeContext(); + const { domain } = useDomainContext(); return ( <> @@ -54,7 +56,8 @@ export function BottomTabNavigator(): JSX.Element { "px-5 py-2 h-16 border-t", { "bg-mono-light-v2-00 border-mono-light-v2-100": isLight }, { "bg-mono-dark-v2-00 border-mono-dark-v2-100": !isLight }, - { "pt-1 pb-4 h-24": Platform.OS === "ios" } + { "pt-1 pb-4 h-24": Platform.OS === "ios" }, + { hidden: domain !== DomainType.DVM }, ), tabBarActiveTintColor: getColor("brand-v2-500"), tabBarInactiveTintColor: isLight @@ -80,50 +83,58 @@ export function BottomTabNavigator(): JSX.Element { }} /> - - getTabBarLabel({ - focused, - color, - title: translate("BottomTabNavigator", "DEX"), - }), - tabBarTestID: "bottom_tab_dex", - tabBarIcon: ({ color }) => , - }} - /> + {domain === DomainType.DVM && ( + <> + + getTabBarLabel({ + focused, + color, + title: translate("BottomTabNavigator", "DEX"), + }), + tabBarTestID: "bottom_tab_dex", + tabBarIcon: ({ color }) => , + }} + /> - - getTabBarLabel({ - focused, - color, - title: translate("BottomTabNavigator", "Loans"), - }), - tabBarTestID: "bottom_tab_loans", - tabBarIcon: ({ color }) => , - }} - /> + + getTabBarLabel({ + focused, + color, + title: translate("BottomTabNavigator", "Loans"), + }), + tabBarTestID: "bottom_tab_loans", + tabBarIcon: ({ color }) => ( + + ), + }} + /> - - getTabBarLabel({ - focused, - color, - title: translate("BottomTabNavigator", "Auctions"), - }), - tabBarTestID: "bottom_tab_auctions", - tabBarIcon: ({ color }) => , - }} - /> + + getTabBarLabel({ + focused, + color, + title: translate("BottomTabNavigator", "Auctions"), + }), + tabBarTestID: "bottom_tab_auctions", + tabBarIcon: ({ color }) => ( + + ), + }} + /> + + )} ); diff --git a/mobile-app/app/screens/AppNavigator/screens/Auctions/screens/PlaceBidScreen.tsx b/mobile-app/app/screens/AppNavigator/screens/Auctions/screens/PlaceBidScreen.tsx index 0b9155fbaf..e25e34bb01 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Auctions/screens/PlaceBidScreen.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Auctions/screens/PlaceBidScreen.tsx @@ -47,13 +47,13 @@ type Props = StackScreenProps; export function PlaceBidScreen(props: Props): JSX.Element { const { batch, vault } = props.route.params; const tokens = useSelector((state: RootState) => - tokensSelector(state.wallet) + tokensSelector(state.wallet), ); const ownedToken = tokens.find((token) => token.id === batch.loan.id); const { minNextBidInToken, totalCollateralsValueInUSD } = useAuctionBidValue( batch, - vault.liquidationPenalty + vault.liquidationPenalty, ); const [fee, setFee] = useState(new BigNumber(0.0001)); const { bottomSheetRef, containerRef, isModalDisplayed, bottomSheetScreen } = @@ -61,15 +61,15 @@ export function PlaceBidScreen(props: Props): JSX.Element { const navigation = useNavigation>(); const hasPendingJob = useSelector((state: RootState) => - hasTxQueued(state.transactionQueue) + hasTxQueued(state.transactionQueue), ); const hasPendingBroadcastJob = useSelector((state: RootState) => - hasOceanTXQueued(state.ocean) + hasOceanTXQueued(state.ocean), ); const blockCount = useSelector((state: RootState) => state.block.count) ?? 0; const { blocksRemaining } = useAuctionTime( vault.liquidationHeight, - blockCount + blockCount, ); const logger = useLogger(); const client = useWhaleApiClient(); @@ -100,7 +100,7 @@ export function PlaceBidScreen(props: Props): JSX.Element { async function onBidPercentagePress( amount: BigNumber, - type: BidAmountButtonTypes + type: BidAmountButtonTypes, ): Promise { setValue("bidAmount", amount.toFixed(8)); await trigger("bidAmount"); @@ -117,7 +117,7 @@ export function PlaceBidScreen(props: Props): JSX.Element { type: "wallet_toast", placement: "top", duration: TOAST_DURATION, - } + }, ); } @@ -137,7 +137,7 @@ export function PlaceBidScreen(props: Props): JSX.Element { const ownedTokenAmount = ownedToken === undefined ? "0" : ownedToken.amount; const displayHigherBidWarning = getAmountInUSDValue(bidAmount).gte( - totalCollateralsValueInUSD.times(1.2) + totalCollateralsValueInUSD.times(1.2), ); const displayMinBidError = formState.errors.bidAmount?.type === "min"; const displayMinBidMessage = @@ -149,7 +149,7 @@ export function PlaceBidScreen(props: Props): JSX.Element { @@ -165,12 +165,12 @@ export function PlaceBidScreen(props: Props): JSX.Element { { ownedAmount: ownedToken?.amount ?? "0.00", symbol: batch.loan.displaySymbol, - } + }, )} @@ -207,6 +207,7 @@ export function PlaceBidScreen(props: Props): JSX.Element { {}} status={TokenDropdownButtonStatus.Locked} @@ -216,7 +217,7 @@ export function PlaceBidScreen(props: Props): JSX.Element { light={tailwind("bg-mono-light-v2-00")} dark={tailwind("bg-mono-dark-v2-00")} style={tailwind( - "flex flex-row justify-around items-center py-3 mt-6 mx-1 rounded-xl-v2 font-normal-v2" + "flex flex-row justify-around items-center py-3 mt-6 mx-1 rounded-xl-v2 font-normal-v2", )} > {Object.values(BidAmountButtonTypes).map( @@ -230,7 +231,7 @@ export function PlaceBidScreen(props: Props): JSX.Element { hasBorder={length - 1 !== index} /> ); - } + }, )} @@ -251,7 +252,7 @@ export function PlaceBidScreen(props: Props): JSX.Element { { amount: minNextBidInToken.toFixed(8), symbol: batch.loan.symbol, - } + }, )} )} @@ -271,13 +272,13 @@ export function PlaceBidScreen(props: Props): JSX.Element { renderText={(value: string) => ( {translate( "components/QuickBid", "Your bid is higher than the auction's collateral value of {{currency}}{{amount}}", - { amount: value, currency: "$" } + { amount: value, currency: "$" }, )} )} @@ -291,7 +292,7 @@ export function PlaceBidScreen(props: Props): JSX.Element { dark={tailwind("border-gray-700")} light={tailwind("border-gray-300")} style={tailwind( - "p-5 border-0.5 rounded-lg-v2 mx-1 my-6 font-normal-v2" + "p-5 border-0.5 rounded-lg-v2 mx-1 my-6 font-normal-v2", )} > {translate("screens/PlaceBidScreen", "Auction timeout")} @@ -332,7 +333,7 @@ export function PlaceBidScreen(props: Props): JSX.Element { > {translate( "screens/PlaceBidScreen", - "Review full details in the next screen" + "Review full details in the next screen", )} state.block.count ?? 0); const pairs = useSelector((state: RootState) => state.wallet.poolpairs); const tokens = useSelector((state: RootState) => - tokensSelector(state.wallet) + tokensSelector(state.wallet), ); const hasPendingJob = useSelector((state: RootState) => - hasTxQueued(state.transactionQueue) + hasTxQueued(state.transactionQueue), ); const hasPendingBroadcastJob = useSelector((state: RootState) => - hasOceanTXQueued(state.ocean) + hasOceanTXQueued(state.ocean), ); const DFIToken = useSelector((state: RootState) => - DFITokenSelector(state.wallet) + DFITokenSelector(state.wallet), ); const DFIUtxo = useSelector((state: RootState) => - DFIUtxoSelector(state.wallet) + DFIUtxoSelector(state.wallet), ); const reservedDfi = 0.1; @@ -152,7 +153,7 @@ export function CompositeSwapScreen({ route }: Props): JSX.Element { const [estimatedLessFeesAfterSlippage, setEstimatedLessFeesAfterSlippage] = useState(undefined); const [activeButtonGroup, setActiveButtonGroup] = useState( - ButtonGroupTabKey.InstantSwap + ButtonGroupTabKey.InstantSwap, ); const [isFutureSwap, setIsFutureSwap] = useState(false); const [bestPathEstimatedReturn, setBestPathEstimatedReturn] = useState< @@ -161,24 +162,24 @@ export function CompositeSwapScreen({ route }: Props): JSX.Element { const [oraclePriceMessage, setOraclePriceMessage] = useState( translate( "screens/CompositeSwapScreen", - "Future swap uses the oracle price of the selected token on the settlement block" - ) + "Future swap uses the oracle price of the selected token on the settlement block", + ), ); const [hasShownInputFocusBefore, setHasShownInputFocusBefore] = useState(false); const executionBlock = useSelector( - (state: RootState) => state.futureSwaps.executionBlock + (state: RootState) => state.futureSwaps.executionBlock, ); const { timeRemaining, transactionDate, isEnded } = useFutureSwapDate( executionBlock, - blockCount + blockCount, ); const { fromTokens, toTokens } = useSwappableTokens( selectedTokenA?.id, selectedTokenA?.displaySymbol, selectedTokenA?.symbol, - activeButtonGroup === ButtonGroupTabKey.FutureSwap + activeButtonGroup === ButtonGroupTabKey.FutureSwap, ); const { isFutureSwapOptionEnabled, @@ -242,7 +243,7 @@ export function CompositeSwapScreen({ route }: Props): JSX.Element { const { tokenA, tokenB } = watch(); const isReservedUtxoUsed = getDisplayUtxoWarningStatus( new BigNumber(tokenA), - selectedTokenA?.displaySymbol ?? "" + selectedTokenA?.displaySymbol ?? "", ); const { isConversionRequired, conversionAmount } = useConversion({ @@ -260,7 +261,7 @@ export function CompositeSwapScreen({ route }: Props): JSX.Element { const maxAmount = BigNumber.max( new BigNumber(token.amount).minus(reservedDfi), - 0 + 0, ); return maxAmount.isLessThanOrEqualTo(0) ? new BigNumber(0).toFixed(8) @@ -269,7 +270,7 @@ export function CompositeSwapScreen({ route }: Props): JSX.Element { const onTokenSelect = ( { tokenId, reserve, token: { displaySymbol, symbol } }: BottomSheetToken, - direction: "FROM" | "TO" + direction: "FROM" | "TO", ): void => { if ( (selectedTokenA?.displaySymbol === displaySymbol && @@ -386,7 +387,7 @@ export function CompositeSwapScreen({ route }: Props): JSX.Element { name: route.params.fromToken.name, }, }, - "FROM" + "FROM", ); return; @@ -408,7 +409,7 @@ export function CompositeSwapScreen({ route }: Props): JSX.Element { }, reserve: pair.data.tokenA.reserve, }, - "FROM" + "FROM", ); } if (tokenSelectOption.to.isPreselected) { @@ -423,7 +424,7 @@ export function CompositeSwapScreen({ route }: Props): JSX.Element { }, reserve: pair.data.tokenB.reserve, }, - "TO" + "TO", ); } }, [ @@ -451,7 +452,7 @@ export function CompositeSwapScreen({ route }: Props): JSX.Element { if (selectedTokenA !== undefined && selectedTokenB !== undefined) { const poolPairs = await getArbitraryPoolPair( selectedTokenA.id, - selectedTokenB.id + selectedTokenB.id, ); setSelectedPoolPairs(poolPairs); } @@ -472,7 +473,7 @@ export function CompositeSwapScreen({ route }: Props): JSX.Element { await calculatePriceRates( selectedTokenA.id, selectedTokenB.id, - new BigNumber(tokenA) + new BigNumber(tokenA), ); // Find the selected reserve in case it's null. From Token Detail Screen, reserve does not exist due to pair not existing @@ -485,10 +486,10 @@ export function CompositeSwapScreen({ route }: Props): JSX.Element { ? selectedTokenA.reserve : selectedReserve; const slippage = new BigNumber(1).minus( - new BigNumber(tokenA).div(tokenAReserve) + new BigNumber(tokenA).div(tokenAReserve), ); setEstimatedLessFeesAfterSlippage( - new BigNumber(estimatedLessDexFees).multipliedBy(slippage) + new BigNumber(estimatedLessDexFees).multipliedBy(slippage), ); setPriceRates([ @@ -522,7 +523,7 @@ export function CompositeSwapScreen({ route }: Props): JSX.Element { useEffect(() => { setIsFutureSwap( activeButtonGroup === ButtonGroupTabKey.FutureSwap && - isFutureSwapOptionEnabled + isFutureSwapOptionEnabled, ); }, [activeButtonGroup, isFutureSwapOptionEnabled]); @@ -534,7 +535,7 @@ export function CompositeSwapScreen({ route }: Props): JSX.Element { const fetchBestPath = async () => { const bestPath = await getBestPath( selectedTokenA.id === "0_unified" ? "0" : selectedTokenA.id, - selectedTokenB.id === "0_unified" ? "0" : selectedTokenB.id + selectedTokenB.id === "0_unified" ? "0" : selectedTokenB.id, ); setBestPathEstimatedReturn({ estimatedReturn: bestPath.estimatedReturn, @@ -559,38 +560,38 @@ export function CompositeSwapScreen({ route }: Props): JSX.Element { dexFeesInTokenBUnit = Burn fees + commission fee of 1 tokenA */ const dexFeesInTokenBUnit = new BigNumber( - bestPathEstimatedReturn?.estimatedReturn ?? 0 + bestPathEstimatedReturn?.estimatedReturn ?? 0, ) .minus( - new BigNumber(bestPathEstimatedReturn?.estimatedReturnLessDexFees ?? 0) + new BigNumber(bestPathEstimatedReturn?.estimatedReturnLessDexFees ?? 0), ) .multipliedBy(tokenA); /* Transaction fee + DEX fees */ return getPrecisedCurrencyValue( getTokenPrice("DFI", fee).plus( - getTokenPrice(selectedTokenB.symbol, dexFeesInTokenBUnit) - ) + getTokenPrice(selectedTokenB.symbol, dexFeesInTokenBUnit), + ), ); }, [priceRates, selectedTokenB, tokenA, bestPathEstimatedReturn, fee]); useEffect(() => { let message = translate( "screens/CompositeSwapScreen", - "Future swap uses the oracle price of the selected token on the settlement block" + "Future swap uses the oracle price of the selected token on the settlement block", ); if (selectedTokenA !== undefined) { if (selectedTokenA.displaySymbol === "DUSD") { if (selectedTokenB === undefined) { message = translate( "screens/CompositeSwapScreen", - "You are buying dTokens at 5% more than the oracle price at settlement block." + "You are buying dTokens at 5% more than the oracle price at settlement block.", ); } else { message = translate( "screens/CompositeSwapScreen", "You are buying {{displaySymbol}} at 5% more than the oracle price at settlement block.", - { displaySymbol: selectedTokenB.displaySymbol } + { displaySymbol: selectedTokenB.displaySymbol }, ); } } else { @@ -599,7 +600,7 @@ export function CompositeSwapScreen({ route }: Props): JSX.Element { "You are selling your {{displaySymbol}} at 5% less than the oracle price at settlement block.", { displaySymbol: selectedTokenA.displaySymbol, - } + }, ); } } @@ -721,7 +722,7 @@ export function CompositeSwapScreen({ route }: Props): JSX.Element { if (isConversionRequired) { queueConvertTransaction( { - mode: "utxosToAccount", + mode: ConvertDirection.utxosToAccount, amount: conversionAmount, }, dispatch, @@ -742,7 +743,7 @@ export function CompositeSwapScreen({ route }: Props): JSX.Element { params, merge: true, }); - } + }, ); } else { navigation.navigate("ConfirmCompositeSwapScreen", params); @@ -775,7 +776,7 @@ export function CompositeSwapScreen({ route }: Props): JSX.Element { return getTokenPrice(token.symbol, new BigNumber(tokenAmount)); }, - [] + [], ); const isBothTokensSelected = (): boolean => { @@ -784,7 +785,7 @@ export function CompositeSwapScreen({ route }: Props): JSX.Element { async function onPercentagePress( amount: string, - type: AmountButtonTypes + type: AmountButtonTypes, ): Promise { setValue("tokenA", amount); await trigger("tokenA"); @@ -811,7 +812,7 @@ export function CompositeSwapScreen({ route }: Props): JSX.Element { type: "wallet_toast", placement: "top", duration: TOAST_DURATION, - } + }, ); } @@ -858,7 +859,7 @@ export function CompositeSwapScreen({ route }: Props): JSX.Element { @@ -880,7 +881,7 @@ export function CompositeSwapScreen({ route }: Props): JSX.Element { @@ -933,7 +934,7 @@ export function CompositeSwapScreen({ route }: Props): JSX.Element { }} placeholder="0.00" placeholderTextColor={getColor( - isLight ? "mono-light-v2-900" : "mono-dark-v2-900" + isLight ? "mono-light-v2-900" : "mono-dark-v2-900", )} ref={amountInputRef} testID="text_input_tokenA" @@ -947,7 +948,7 @@ export function CompositeSwapScreen({ route }: Props): JSX.Element { validate: { greaterThanZero: (value: string) => new BigNumber( - value !== undefined && value !== "" ? value : 0 + value !== undefined && value !== "" ? value : 0, ).isGreaterThan(0), }, }} @@ -955,7 +956,7 @@ export function CompositeSwapScreen({ route }: Props): JSX.Element { navigateToTokenSelectionScreen(TokenListType.From) @@ -985,7 +987,7 @@ export function CompositeSwapScreen({ route }: Props): JSX.Element { > {translate( "screens/CompositeSwapScreen", - "Select a token first" + "Select a token first", )} )} @@ -1000,7 +1002,7 @@ export function CompositeSwapScreen({ route }: Props): JSX.Element { > {translate( "screens/CompositeSwapScreen", - "Insufficient balance" + "Insufficient balance", )} )} @@ -1015,7 +1017,7 @@ export function CompositeSwapScreen({ route }: Props): JSX.Element { > {translate( "screens/CompositeSwapScreen", - "A small amount of UTXO is reserved for fees" + "A small amount of UTXO is reserved for fees", )} )} @@ -1083,7 +1085,7 @@ export function CompositeSwapScreen({ route }: Props): JSX.Element { isBothTokensSelected() && priceRates !== undefined && activeButtonGroup === ButtonGroupTabKey.InstantSwap, - } + }, )} light={tailwind("border-mono-light-v2-300")} dark={tailwind("border-mono-dark-v2-300")} @@ -1096,12 +1098,13 @@ export function CompositeSwapScreen({ route }: Props): JSX.Element { tokenAmount={new BigNumber(tokenB).toFixed(8)} tokenUsdAmount={getAmountInUSDValue( selectedTokenB ?? undefined, - tokenB + tokenB, )} /> )} navigateToTokenSelectionScreen(TokenListType.To) @@ -1164,11 +1167,11 @@ export function CompositeSwapScreen({ route }: Props): JSX.Element { {isConversionRequired ? translate( "screens/CompositeSwapScreen", - "By continuing, the required amount of DFI will be converted" + "By continuing, the required amount of DFI will be converted", ) : translate( "screens/CompositeSwapScreen", - "Review full details in the next screen" + "Review full details in the next screen", )} )} diff --git a/mobile-app/app/screens/AppNavigator/screens/Dex/CompositeSwap/SwapTokenSelectionScreen.tsx b/mobile-app/app/screens/AppNavigator/screens/Dex/CompositeSwap/SwapTokenSelectionScreen.tsx index d33cf315ff..6f0f66ffe3 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Dex/CompositeSwap/SwapTokenSelectionScreen.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Dex/CompositeSwap/SwapTokenSelectionScreen.tsx @@ -18,6 +18,7 @@ import { useTokenPrice } from "@screens/AppNavigator/screens/Portfolio/hooks/Tok import { translate } from "@translations"; import { useThemeContext } from "@waveshq/walletkit-ui"; import { PortfolioParamList } from "@screens/AppNavigator/screens/Portfolio/PortfolioNavigator"; +import { DomainType } from "@contexts/DomainContext"; export enum TokenListType { From = "FROM", @@ -30,6 +31,8 @@ export interface SelectionToken { token: { name: string; displaySymbol: string; + displayTextSymbol?: string; + domainType?: DomainType; symbol: string; isLPS?: boolean; }; @@ -45,6 +48,7 @@ export function SwapTokenSelectionScreen({ route }: Props): JSX.Element { listType, list, onTokenPress, + isConvert = false, isFutureSwap = false, isSearchDTokensOnly = false, } = route.params; @@ -109,7 +113,7 @@ export function SwapTokenSelectionScreen({ route }: Props): JSX.Element { showClearButton={debouncedSearchTerm !== ""} placeholder={translate( "screens/SwapTokenSelectionScreen", - "Search token" + "Search token", )} containerStyle={tailwind([ "border-0.5", @@ -147,9 +151,11 @@ export function SwapTokenSelectionScreen({ route }: Props): JSX.Element { "screens/SwapTokenSelectionScreen", listType === TokenListType.From ? "AVAILABLE TOKENS" + : isConvert + ? "AVAILABLE FOR CONVERT" : isFutureSwap ? "AVAILABLE FOR FUTURE SWAP" - : "AVAILABLE FOR SWAP" + : "AVAILABLE FOR SWAP", )} ) : ( @@ -162,7 +168,7 @@ export function SwapTokenSelectionScreen({ route }: Props): JSX.Element { {translate( "screens/SwapTokenSelectionScreen", getEmptyResultText(), - { searchTerm: debouncedSearchTerm } + { searchTerm: debouncedSearchTerm }, )} )} @@ -175,7 +181,7 @@ export function SwapTokenSelectionScreen({ route }: Props): JSX.Element { type TokenPrice = ( symbol: string, amount: BigNumber, - isLPS?: boolean | undefined + isLPS?: boolean | undefined, ) => BigNumber; interface TokenItemProps { @@ -199,13 +205,12 @@ function TokenItem({ const activePriceUSDT = getTokenPrice( item.token.symbol, new BigNumber("1"), - item.token.isLPS + item.token.isLPS, ); - return ( @@ -238,7 +247,7 @@ function TokenItem({ renderText={(value) => ( @@ -250,7 +259,7 @@ function TokenItem({ {listType === TokenListType.From ? ( ( [t.token.displaySymbol, t.token.name].some((searchItem) => - searchItem.toLowerCase().includes(searchTerm.trim().toLowerCase()) - ) + searchItem.toLowerCase().includes(searchTerm.trim().toLowerCase()), + ), ); } diff --git a/mobile-app/app/screens/AppNavigator/screens/Dex/DexAddLiquidity.tsx b/mobile-app/app/screens/AppNavigator/screens/Dex/DexAddLiquidity.tsx index 442419d6a0..648f02ab14 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Dex/DexAddLiquidity.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Dex/DexAddLiquidity.tsx @@ -41,6 +41,7 @@ import { ButtonV2 } from "@components/ButtonV2"; import { useToast } from "react-native-toast-notifications"; import { useBottomSheet } from "@hooks/useBottomSheet"; import { useDisplayUtxoWarning } from "@hooks/wallet/DisplayUtxoWarning"; +import { ConvertDirection } from "@screens/enum"; import { ViewPoolHeader } from "./components/ViewPoolHeader"; import { ViewPoolDetails, DataRoutes } from "./components/ViewPoolDetails"; import { LiquidityCalculationSummary } from "./components/LiquidityCalculationSummary"; @@ -63,20 +64,20 @@ export function AddLiquidityScreen(props: Props): JSX.Element { const navigation = useNavigation>(); const dispatch = useAppDispatch(); const DFIToken = useSelector((state: RootState) => - DFITokenSelector(state.wallet) + DFITokenSelector(state.wallet), ); const DFIUtxo = useSelector((state: RootState) => - DFIUtxoSelector(state.wallet) + DFIUtxoSelector(state.wallet), ); const hasPendingJob = useSelector((state: RootState) => - hasTxQueued(state.transactionQueue) + hasTxQueued(state.transactionQueue), ); const hasPendingBroadcastJob = useSelector((state: RootState) => - hasOceanTXQueued(state.ocean) + hasOceanTXQueued(state.ocean), ); const pairs = useSelector((state: RootState) => state.wallet.poolpairs); const tokens = useSelector((state: RootState) => - tokensSelector(state.wallet) + tokensSelector(state.wallet), ); const { getTokenPrice } = useTokenPrice(); const { pair: pairData, pairInfo, originScreen } = props.route.params; @@ -106,7 +107,7 @@ export function AddLiquidityScreen(props: Props): JSX.Element { const [tokenAAmount, setTokenAAmount] = useState(""); const [tokenBAmount, setTokenBAmount] = useState(""); const [sharePercentage, setSharePercentage] = useState( - new BigNumber(0) + new BigNumber(0), ); const [canContinue, setCanContinue] = useState(false); @@ -118,7 +119,7 @@ export function AddLiquidityScreen(props: Props): JSX.Element { inputToken: { type: "token", amount: new BigNumber( - pair?.tokenA.id === "0" ? tokenAAmount : tokenBAmount + pair?.tokenA.id === "0" ? tokenAAmount : tokenBAmount, ), }, deps: [pair, tokenAAmount, tokenBAmount, balanceA, balanceB], @@ -175,11 +176,11 @@ export function AddLiquidityScreen(props: Props): JSX.Element { setSharePercentage(refAmount.div(pair.tokenB.reserve)); } }, - [pair] + [pair], ); const getAddressTokenById = ( - poolpairTokenId: string + poolpairTokenId: string, ): WalletToken | undefined => { return tokens.find((token) => { if (poolpairTokenId === "0" || poolpairTokenId === "0_utxo") { @@ -207,7 +208,7 @@ export function AddLiquidityScreen(props: Props): JSX.Element { _amount: string, type: AmountButtonTypes, displaySymbolA: string, - displaySymbolB: string + displaySymbolB: string, ): void { showToast(type, displaySymbolA, displaySymbolB); } @@ -224,7 +225,7 @@ export function AddLiquidityScreen(props: Props): JSX.Element { if (isConversionRequired) { queueConvertTransaction( { - mode: "utxosToAccount", + mode: ConvertDirection.utxosToAccount, amount: conversionAmount, }, dispatch, @@ -282,7 +283,7 @@ export function AddLiquidityScreen(props: Props): JSX.Element { }, merge: true, }); - } + }, ); } else { navigation.navigate({ @@ -309,7 +310,7 @@ export function AddLiquidityScreen(props: Props): JSX.Element { function showToast( type: AmountButtonTypes, displaySymbolA: string, - displaySymbolB: string + displaySymbolB: string, ): void { if (displaySymbolA === undefined || displaySymbolB === undefined) { return; @@ -354,7 +355,7 @@ export function AddLiquidityScreen(props: Props): JSX.Element { pair !== undefined && getDisplayUtxoWarningStatus( new BigNumber(tokenAAmount), - pair?.tokenA.displaySymbol + pair?.tokenA.displaySymbol, ) && new BigNumber(tokenAAmount).isGreaterThan(0) ) { @@ -369,7 +370,7 @@ export function AddLiquidityScreen(props: Props): JSX.Element { pair !== undefined && getDisplayUtxoWarningStatus( new BigNumber(tokenBAmount), - pair?.tokenB.displaySymbol + pair?.tokenB.displaySymbol, ) && new BigNumber(tokenBAmount).isGreaterThan(0) ) { @@ -403,14 +404,14 @@ export function AddLiquidityScreen(props: Props): JSX.Element { ? TransactionCardStatus.Error : isInputAFocus ? TransactionCardStatus.Active - : undefined + : undefined, ); setTokenBTransactionCardStatus( hasBError ? TransactionCardStatus.Error : isInputBFocus ? TransactionCardStatus.Active - : undefined + : undefined, ); }, [hasAError, hasBError, isInputAFocus, isInputBFocus]); @@ -424,8 +425,8 @@ export function AddLiquidityScreen(props: Props): JSX.Element { new BigNumber(tokenAAmount), new BigNumber(tokenBAmount), balanceA, - balanceB - ) + balanceB, + ), ); }, [pair, tokenAAmount, tokenBAmount, balanceA, balanceB]); @@ -445,10 +446,10 @@ export function AddLiquidityScreen(props: Props): JSX.Element { aSymbol, bSymbol, aToBRate: new BigNumber(poolpair.tokenB.reserve).div( - poolpair.tokenA.reserve + poolpair.tokenA.reserve, ), bToARate: new BigNumber(poolpair.tokenA.reserve).div( - poolpair.tokenB.reserve + poolpair.tokenB.reserve, ), }); if (addressTokenA !== undefined) { @@ -456,9 +457,9 @@ export function AddLiquidityScreen(props: Props): JSX.Element { addressTokenA.id === "0_unified" ? BigNumber.max( new BigNumber(addressTokenA.amount).minus(reservedDfi), - 0 + 0, ) - : new BigNumber(addressTokenA.amount) + : new BigNumber(addressTokenA.amount), ); } if (addressTokenB !== undefined) { @@ -466,9 +467,9 @@ export function AddLiquidityScreen(props: Props): JSX.Element { addressTokenB.id === "0_unified" ? BigNumber.max( new BigNumber(addressTokenB.amount).minus(reservedDfi), - 0 + 0, ) - : new BigNumber(addressTokenB.amount) + : new BigNumber(addressTokenB.amount), ); } } @@ -514,7 +515,7 @@ export function AddLiquidityScreen(props: Props): JSX.Element { amount, type, pair.tokenA.displaySymbol, - pair.tokenB.displaySymbol + pair.tokenB.displaySymbol, ); }} symbol={pair.tokenA.displaySymbol} @@ -537,7 +538,7 @@ export function AddLiquidityScreen(props: Props): JSX.Element { amount, type, pair.tokenA.displaySymbol, - pair.tokenB.displaySymbol + pair.tokenB.displaySymbol, ); }} symbol={pair.tokenB.displaySymbol} @@ -575,7 +576,7 @@ export function AddLiquidityScreen(props: Props): JSX.Element { resultingLplhs={{ value: translate( "screens/AddLiquidity", - "LP Tokens to receive" + "LP Tokens to receive", ), testID: "lp_tokens_to_receive", themedProps: { @@ -590,9 +591,9 @@ export function AddLiquidityScreen(props: Props): JSX.Element { testID: "lp_tokens_to_receive_value", usdAmount: getTokenPrice( pair.aSymbol, - new BigNumber(tokenAAmount) + new BigNumber(tokenAAmount), ).plus( - getTokenPrice(pair.bSymbol, new BigNumber(tokenBAmount)) + getTokenPrice(pair.bSymbol, new BigNumber(tokenBAmount)), ), themedProps: { style: tailwind("font-semibold-v2 text-sm"), @@ -610,11 +611,11 @@ export function AddLiquidityScreen(props: Props): JSX.Element { {isConversionRequired ? translate( "screens/AddLiquidity", - "By continuing, the required amount of DFI will be converted" + "By continuing, the required amount of DFI will be converted", ) : translate( "screens/AddLiquidity", - "Review full details in the next screen" + "Review full details in the next screen", )} @@ -668,7 +669,7 @@ function canAddLiquidity( tokenAAmount: BigNumber, tokenBAmount: BigNumber, balanceA: BigNumber | undefined, - balanceB: BigNumber | undefined + balanceB: BigNumber | undefined, ): boolean { if (tokenAAmount.isNaN() || tokenBAmount.isNaN()) { // empty string, use still input-ing diff --git a/mobile-app/app/screens/AppNavigator/screens/Dex/DexNavigator.tsx b/mobile-app/app/screens/AppNavigator/screens/Dex/DexNavigator.tsx index a32e453092..9ea9e73458 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Dex/DexNavigator.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Dex/DexNavigator.tsx @@ -61,6 +61,7 @@ export interface DexParamList { listType: TokenListType; list: SelectionToken[]; onTokenPress: (token: SelectionToken) => void; + isConvert?: boolean; isFutureSwap: boolean; isSearchDTokensOnly?: boolean; }; diff --git a/mobile-app/app/screens/AppNavigator/screens/Dex/components/PoolPairCards/PoolPairCards.tsx b/mobile-app/app/screens/AppNavigator/screens/Dex/components/PoolPairCards/PoolPairCards.tsx index 422c3c7765..5b213fcc32 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Dex/components/PoolPairCards/PoolPairCards.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Dex/components/PoolPairCards/PoolPairCards.tsx @@ -78,7 +78,7 @@ export function PoolPairCards({ useFavouritePoolpairContext(); const sortedPairs = sortPoolpairsByFavourite( availablePairs, - isFavouritePoolpair + isFavouritePoolpair, ); const { tvl } = useSelector((state: RootState) => state.block); const [filteredYourPairs, setFilteredYourPairs] = @@ -89,7 +89,7 @@ export function PoolPairCards({ const pairSortingFn = ( pairA: DexItem, - pairB: DexItem + pairB: DexItem, ): number => availablePairs.findIndex((x) => x.data.id === pairA.data.id) - availablePairs.findIndex((x) => x.data.id === pairB.data.id); @@ -109,9 +109,9 @@ export function PoolPairCards({ .filter((pair) => pair.data.displaySymbol .toLowerCase() - .includes(debouncedSearchTerm.trim().toLowerCase()) + .includes(debouncedSearchTerm.trim().toLowerCase()), ) - .sort(pairSortingFn) + .sort(pairSortingFn), ); } else { setFilteredYourPairs([]); @@ -166,7 +166,7 @@ export function PoolPairCards({ title={translate("screens/DexScreen", "No favorites added")} subtitle={translate( "screens/DexScreen", - "Tap the star icon to add your favorite pools here" + "Tap the star icon to add your favorite pools here", )} /> )} @@ -198,7 +198,7 @@ export function PoolPairCards({ dark={tailwind("text-mono-dark-v2-500")} light={tailwind("text-mono-light-v2-500")} style={tailwind( - "font-normal-v2 text-xs uppercase pl-10 mb-2" + "font-normal-v2 text-xs uppercase pl-10 mb-2", )} > {translate("screens/DexScreen", "Available pairs")} @@ -243,7 +243,7 @@ function PoolCard({ const isFavoritePair = isFavouritePoolpair(yourPair.id); const poolPairData = pairs.find( - (pr) => pr.data.symbol === (yourPair as AddressToken).symbol + (pr) => pr.data.symbol === (yourPair as AddressToken).symbol, ); const mappedPair = poolPairData?.data; @@ -291,7 +291,7 @@ function PoolCard({ walletTokenPrice={getTokenPrice( yourPair.symbol, new BigNumber((yourPair as WalletToken).amount), - true + true, )} /> )} @@ -353,7 +353,7 @@ function AvailablePool(props: AvailablePoolProps): JSX.Element { isFavouritePair={props.isFavouritePair} onPress={() => { showToast( - props.isFavouritePair ? "UNSET_FAVOURITE" : "SET_FAVOURITE" + props.isFavouritePair ? "UNSET_FAVOURITE" : "SET_FAVOURITE", ); props.setFavouritePoolpair(props.pair.id); }} @@ -378,10 +378,10 @@ function AvailablePool(props: AvailablePoolProps): JSX.Element { {props.pair?.apr?.total !== undefined && props.pair?.apr?.total !== null && ( >, - isFavouritePair: (id: string) => boolean + isFavouritePair: (id: string) => boolean, ): Array> { return pairs.slice().sort((firstPair, secondPair) => { if (isFavouritePair(firstPair.data.id)) { @@ -566,7 +568,7 @@ function NewPoolsSection({ onActionPress={() => onActionPress( pairItem.data as PoolPairData, - pairItem.data as WalletToken + pairItem.data as WalletToken, ) } onPress={() => onPress(pairItem.data.id)} diff --git a/mobile-app/app/screens/AppNavigator/screens/Loans/components/BottomSheetLoanTokensList.tsx b/mobile-app/app/screens/AppNavigator/screens/Loans/components/BottomSheetLoanTokensList.tsx index 4b4901a8b0..3194daa6e4 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Loans/components/BottomSheetLoanTokensList.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Loans/components/BottomSheetLoanTokensList.tsx @@ -40,7 +40,7 @@ export const BottomSheetLoanTokensList = ({ return filterLoanTokensBySearchTerm( loanTokens, debouncedSearchTerm, - isSearchFocus + isSearchFocus, ); }, [debouncedSearchTerm, isSearchFocus]); @@ -64,12 +64,12 @@ export const BottomSheetLoanTokensList = ({ keyExtractor={(item) => item.tokenId} renderItem={({ item }: ListRenderItemInfo): JSX.Element => { const currentPrice = getPrecisedTokenValue( - getActivePrice(item.token.symbol, item.activePrice) + getActivePrice(item.token.symbol, item.activePrice), ); return ( @@ -101,7 +102,7 @@ export const BottomSheetLoanTokensList = ({ renderText={(value) => ( @@ -117,7 +118,7 @@ export const BottomSheetLoanTokensList = ({ renderText={(value) => ( @@ -145,7 +146,7 @@ export const BottomSheetLoanTokensList = ({ showClearButton={searchString !== ""} placeholder={translate( "components/BottomSheetLoanTokensList", - "Search with token name" + "Search with token name", )} containerStyle={tailwind([ "border-0.5", @@ -184,12 +185,12 @@ export const BottomSheetLoanTokensList = ({ {searchString.trim() === "" ? translate( "components/BottomSheetLoanTokensList", - "Search with token name" + "Search with token name", ) : translate( "components/BottomSheetLoanTokensList", "Search results for “{{searchTerm}}”", - { searchTerm: searchString } + { searchTerm: searchString }, )} @@ -210,14 +211,14 @@ export const BottomSheetLoanTokensList = ({ function filterLoanTokensBySearchTerm( loanTokens: LoanToken[], searchTerm: string, - isFocused: boolean + isFocused: boolean, ): LoanToken[] { if (searchTerm === "") { return isFocused ? [] : loanTokens; } return loanTokens.filter((t) => { return [t.token.displaySymbol].some((searchItem) => - searchItem.toLowerCase().includes(searchTerm.trim().toLowerCase()) + searchItem.toLowerCase().includes(searchTerm.trim().toLowerCase()), ); }); } diff --git a/mobile-app/app/screens/AppNavigator/screens/Loans/screens/AddOrRemoveCollateralScreen.tsx b/mobile-app/app/screens/AppNavigator/screens/Loans/screens/AddOrRemoveCollateralScreen.tsx index 0fae6a1ff0..000c61b98a 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Loans/screens/AddOrRemoveCollateralScreen.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Loans/screens/AddOrRemoveCollateralScreen.tsx @@ -54,6 +54,7 @@ import { queueConvertTransaction } from "@hooks/wallet/Conversion"; import { NavigationProp, useNavigation } from "@react-navigation/native"; import { BottomSheetTokenListHeader } from "@components/BottomSheetTokenListHeader"; import { LoanVaultTokenAmount } from "@defichain/whale-api-client/dist/api/loan"; +import { ConvertDirection } from "@screens/enum"; import { getActivePrice } from "../../Auctions/helpers/ActivePrice"; import { ActiveUSDValueV2 } from "../VaultDetail/components/ActiveUSDValueV2"; import { LoanParamList } from "../LoansNavigator"; @@ -96,17 +97,17 @@ export function AddOrRemoveCollateralScreen({ route }: Props): JSX.Element { const dispatch = useAppDispatch(); const DFIUtxo = useSelector((state: RootState) => - DFIUtxoSelector(state.wallet) + DFIUtxoSelector(state.wallet), ); const DFIToken = useSelector((state: RootState) => - DFITokenSelector(state.wallet) + DFITokenSelector(state.wallet), ); const hasPendingJob = useSelector((state: RootState) => - hasTxQueued(state.transactionQueue) + hasTxQueued(state.transactionQueue), ); const hasPendingBroadcastJob = useSelector((state: RootState) => - hasOceanTXQueued(state.ocean) + hasOceanTXQueued(state.ocean), ); const navigation = useNavigation>(); @@ -130,7 +131,7 @@ export function AddOrRemoveCollateralScreen({ route }: Props): JSX.Element { isAdd && selectedCollateralItem.token.id === "0" ? new BigNumber(collateralAmount).isGreaterThan(DFIToken.amount) && new BigNumber(collateralAmount).isLessThanOrEqualTo( - selectedCollateralItem.available + selectedCollateralItem.available, ) : false; @@ -139,7 +140,7 @@ export function AddOrRemoveCollateralScreen({ route }: Props): JSX.Element { : collateralAmount; const collateralInputValue = getCollateralValue( new BigNumber(collateralInputAmount), - selectedCollateralItem + selectedCollateralItem, ); // Vault collaterals value @@ -149,26 +150,26 @@ export function AddOrRemoveCollateralScreen({ route }: Props): JSX.Element { ? new BigNumber(currentVaultCollateralValue).plus(collateralInputValue) : new BigNumber(currentVaultCollateralValue).minus(collateralInputValue); const totalVaultCollateralValueInUSD = new BigNumber( - getPrecisedTokenValue(totalVaultCollateralValue) + getPrecisedTokenValue(totalVaultCollateralValue), ); // Collateral value for selected token const currentTokenBalance = vault?.collateralAmounts?.find( - (c) => c.id === selectedCollateralItem?.token.id + (c) => c.id === selectedCollateralItem?.token.id, )?.amount ?? "0"; const totalTokenBalance = isAdd ? new BigNumber(currentTokenBalance)?.plus(collateralInputAmount) : BigNumber.max( 0, - new BigNumber(currentTokenBalance)?.minus(collateralInputAmount) + new BigNumber(currentTokenBalance)?.minus(collateralInputAmount), ); const tokenCollateralValue = getCollateralValue( totalTokenBalance, - selectedCollateralItem + selectedCollateralItem, ); const totalTokenValueInUSD = new BigNumber( - getPrecisedTokenValue(tokenCollateralValue) + getPrecisedTokenValue(tokenCollateralValue), ); const activePrice = new BigNumber( @@ -177,8 +178,8 @@ export function AddOrRemoveCollateralScreen({ route }: Props): JSX.Element { selectedCollateralItem.activePrice, selectedCollateralItem.factor, "ACTIVE", - "COLLATERAL" - ) + "COLLATERAL", + ), ); const collateralVaultShare = getVaultShare(totalTokenBalance, activePrice, totalVaultCollateralValue) ?? @@ -197,7 +198,7 @@ export function AddOrRemoveCollateralScreen({ route }: Props): JSX.Element { totalVaultCollateralValue, new BigNumber(vault.loanValue), selectedCollateralItem.token.id, - totalTokenBalance + totalTokenBalance, ); const getUpdatedCollateralAmounts = (): LoanVaultTokenAmount[] => { @@ -211,11 +212,11 @@ export function AddOrRemoveCollateralScreen({ route }: Props): JSX.Element { activePrice: selectedCollateralItem.activePrice, }; const collateralExists = vault.collateralAmounts.find( - (col) => col.id === selectedCollateralItem.token.id + (col) => col.id === selectedCollateralItem.token.id, ); if (collateralExists) { const updatedCollateralAmounts = vault.collateralAmounts.map((col) => - col.id === collateralAmountToUpdate.id ? collateralAmountToUpdate : col + col.id === collateralAmountToUpdate.id ? collateralAmountToUpdate : col, ); return updatedCollateralAmounts; } else { @@ -239,7 +240,7 @@ export function AddOrRemoveCollateralScreen({ route }: Props): JSX.Element { async function onPercentageChange( amount: string, - type: AmountButtonTypes + type: AmountButtonTypes, ): Promise { setValue("collateralAmount", amount); await trigger("collateralAmount"); @@ -272,18 +273,18 @@ export function AddOrRemoveCollateralScreen({ route }: Props): JSX.Element { translate( "screens/AddOrRemoveCollateralScreen", isAdd ? toastOptionsOnAdd.message : toastOptionsOnRemove.message, - isAdd ? toastOptionsOnAdd.params : toastOptionsOnRemove.params + isAdd ? toastOptionsOnAdd.params : toastOptionsOnRemove.params, ), { type: "wallet_toast", placement: "top", duration: TOAST_DURATION, - } + }, ); } const onAddCollateral = async ( - props: LoanParamList["ConfirmEditCollateralScreen"] + props: LoanParamList["ConfirmEditCollateralScreen"], ): Promise => { const initialParams = { name: "ConfirmEditCollateralScreen", @@ -295,7 +296,7 @@ export function AddOrRemoveCollateralScreen({ route }: Props): JSX.Element { }; if (isConversionRequired) { const conversionAmount = new BigNumber(props.amount).minus( - DFIToken.amount + DFIToken.amount, ); initialParams.params.conversion = { DFIUtxo, @@ -305,14 +306,14 @@ export function AddOrRemoveCollateralScreen({ route }: Props): JSX.Element { } as any; queueConvertTransaction( { - mode: "utxosToAccount", + mode: ConvertDirection.utxosToAccount, amount: conversionAmount, }, dispatch, () => { navigation.navigate(initialParams); }, - logger + logger, ); } else { navigation.navigate(initialParams); @@ -320,7 +321,7 @@ export function AddOrRemoveCollateralScreen({ route }: Props): JSX.Element { }; const onRemoveCollateral = async ( - props: LoanParamList["ConfirmEditCollateralScreen"] + props: LoanParamList["ConfirmEditCollateralScreen"], ): Promise => { navigation.navigate({ name: "ConfirmEditCollateralScreen", @@ -334,7 +335,7 @@ export function AddOrRemoveCollateralScreen({ route }: Props): JSX.Element { const handleEditCollateral = async (): Promise => { const collateralItem = collateralTokens.find( - (col) => col.token.id === selectedCollateralItem.token.id + (col) => col.token.id === selectedCollateralItem.token.id, ); if (vault === undefined || collateralItem === undefined) { return; @@ -397,7 +398,7 @@ export function AddOrRemoveCollateralScreen({ route }: Props): JSX.Element { new BigNumber(vault.loanValue) .multipliedBy(vault.loanScheme.minColRatio) .dividedBy(100) - .dividedBy(2) + .dividedBy(2), ); if (isDFILessThanHalfOfRequiredCollateral) { return { @@ -433,7 +434,7 @@ export function AddOrRemoveCollateralScreen({ route }: Props): JSX.Element { style={tailwind("flex-col flex-1")} testID="add_remove_collateral_screen" contentContainerStyle={tailwind( - "flex-grow justify-between pt-8 px-5 pb-14" + "flex-grow justify-between pt-8 px-5 pb-14", )} > @@ -446,7 +447,7 @@ export function AddOrRemoveCollateralScreen({ route }: Props): JSX.Element { > {translate( "screens/AddOrRemoveCollateralScreen", - isAdd ? "I WANT TO ADD" : "I WANT TO REMOVE" + isAdd ? "I WANT TO ADD" : "I WANT TO REMOVE", )} @@ -475,7 +476,7 @@ export function AddOrRemoveCollateralScreen({ route }: Props): JSX.Element { > @@ -515,6 +516,7 @@ export function AddOrRemoveCollateralScreen({ route }: Props): JSX.Element { { setBottomSheetScreen([ @@ -540,7 +542,7 @@ export function AddOrRemoveCollateralScreen({ route }: Props): JSX.Element { @@ -577,7 +579,7 @@ export function AddOrRemoveCollateralScreen({ route }: Props): JSX.Element { { amount: selectedCollateralItem.available.toFixed(8), symbol: selectedCollateralItem.token.displaySymbol, - } + }, ) : translate( "screens/AddOrRemoveCollateralScreen", @@ -585,7 +587,7 @@ export function AddOrRemoveCollateralScreen({ route }: Props): JSX.Element { { amount: currentTokenBalance, symbol: selectedCollateralItem.token.displaySymbol, - } + }, )} )} @@ -600,7 +602,7 @@ export function AddOrRemoveCollateralScreen({ route }: Props): JSX.Element { > {translate( "screens/AddOrRemoveCollateralScreen", - "A small amount of UTXO is reserved for fees" + "A small amount of UTXO is reserved for fees", )} )} @@ -616,7 +618,7 @@ export function AddOrRemoveCollateralScreen({ route }: Props): JSX.Element { > {translate( "screens/AddOrRemoveCollateralScreen", - "Insufficient Balance" + "Insufficient Balance", )} )} @@ -631,7 +633,7 @@ export function AddOrRemoveCollateralScreen({ route }: Props): JSX.Element { > {translate( "screens/AddOrRemoveCollateralScreen", - removeCollateralError.message + removeCollateralError.message, )} )} @@ -655,7 +657,7 @@ export function AddOrRemoveCollateralScreen({ route }: Props): JSX.Element { lhs={{ value: translate( "screens/AddOrRemoveCollateralScreen", - "Vault ID" + "Vault ID", ), testID: "add_remove_collateral_vault_id_label", themedProps: lhsThemedProps, @@ -684,7 +686,7 @@ export function AddOrRemoveCollateralScreen({ route }: Props): JSX.Element { lhs={{ value: translate( "screens/AddOrRemoveCollateralScreen", - "Vault share" + "Vault share", ), testID: "add_remove_collateral_vault_share", themedProps: lhsThemedProps, @@ -714,7 +716,7 @@ export function AddOrRemoveCollateralScreen({ route }: Props): JSX.Element { lhs={{ value: translate( "screens/AddOrRemoveCollateralScreen", - "Max loan amount" + "Max loan amount", ), testID: "add_remove_collateral_max_loan", themedProps: lhsThemedProps, @@ -756,7 +758,7 @@ export function AddOrRemoveCollateralScreen({ route }: Props): JSX.Element { "screens/AddOrRemoveCollateralScreen", isConversionRequired ? "By continuing, the required amount of DFI will be converted" - : "Review full details in the next screen" + : "Review full details in the next screen", )} )} @@ -826,7 +828,7 @@ function TotalTokenCollateralRow(props: { > {translate( "screens/AddOrRemoveCollateralScreen", - "Total collateral" + "Total collateral", )} diff --git a/mobile-app/app/screens/AppNavigator/screens/Loans/screens/BorrowLoanTokenScreen.tsx b/mobile-app/app/screens/AppNavigator/screens/Loans/screens/BorrowLoanTokenScreen.tsx index 4c2bf5f580..3dca96f01f 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Loans/screens/BorrowLoanTokenScreen.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Loans/screens/BorrowLoanTokenScreen.tsx @@ -80,23 +80,23 @@ export function BorrowLoanTokenScreen({ const blockCount = useSelector((state: RootState) => state.block.count); const vaults = useSelector((state: RootState) => vaultsSelector(state.loans)); const loanTokens = useSelector((state: RootState) => - loanTokensSelector(state.loans) + loanTokensSelector(state.loans), ); const [vault, setVault] = useState(route.params.vault); const [loanToken, setLoanToken] = useState(route.params.loanToken); const [totalAnnualInterest, setTotalAnnualInterest] = useState( - new BigNumber(NaN) + new BigNumber(NaN), ); const [fee, setFee] = useState(new BigNumber(0.0001)); const interestPerBlock = useInterestPerBlock( new BigNumber(vault.loanScheme.interestRate ?? NaN), - new BigNumber(loanToken.interest) + new BigNumber(loanToken.interest), ); const { requiredTokensShare } = useValidCollateralRatio( vault.collateralAmounts, new BigNumber(vault.collateralValue), - new BigNumber(vault.loanValue) + new BigNumber(vault.loanValue), ); const maxLoanAmount = useMaxLoan({ @@ -105,16 +105,16 @@ export function BorrowLoanTokenScreen({ existingLoanValue: new BigNumber(vault.loanValue), minColRatio: new BigNumber(vault.loanScheme.minColRatio), loanActivePrice: new BigNumber( - getActivePrice(loanToken.token.symbol, loanToken.activePrice) + getActivePrice(loanToken.token.symbol, loanToken.activePrice), ), interestPerBlock: interestPerBlock, }); const blocksPerDay = useBlocksPerDay(); const hasPendingJob = useSelector((state: RootState) => - hasTxQueued(state.transactionQueue) + hasTxQueued(state.transactionQueue), ); const hasPendingBroadcastJob = useSelector((state: RootState) => - hasOceanTXQueued(state.ocean) + hasOceanTXQueued(state.ocean), ); // Form Input @@ -129,9 +129,9 @@ export function BorrowLoanTokenScreen({ ? new BigNumber(0) : new BigNumber(borrowAmount), new BigNumber( - getActivePrice(loanToken.token.symbol, loanToken.activePrice) + getActivePrice(loanToken.token.symbol, loanToken.activePrice), ), - interestPerBlock + interestPerBlock, ); const [disableContinue, setDisableContinue] = useState(false); const { isDFILessThanHalfOfRequiredCollateral } = @@ -142,13 +142,13 @@ export function BorrowLoanTokenScreen({ loanValue: new BigNumber(vault.loanValue).plus( new BigNumber(borrowAmount).isNaN() ? new BigNumber(0) - : new BigNumber(borrowAmount) + : new BigNumber(borrowAmount), ), loanToken: loanToken, minColRatio: vault.loanScheme.minColRatio, }); const { atRiskThreshold } = useColRatioThreshold( - new BigNumber(vault.loanScheme.minColRatio) + new BigNumber(vault.loanScheme.minColRatio), ); // Bottom sheet @@ -172,7 +172,7 @@ export function BorrowLoanTokenScreen({ @@ -201,7 +201,7 @@ export function BorrowLoanTokenScreen({ @@ -233,7 +233,7 @@ export function BorrowLoanTokenScreen({ async function onPercentagePress( amount: string, - type: AmountButtonTypes + type: AmountButtonTypes, ): Promise { setValue("borrowAmount", amount); await trigger("borrowAmount"); @@ -259,14 +259,14 @@ export function BorrowLoanTokenScreen({ type: "wallet_toast", placement: "top", duration: TOAST_DURATION, - } + }, ); } const updateInterestAmount = (): void => { const loanTokenPrice = getActivePrice( loanToken.token.symbol, - loanToken.activePrice + loanToken.activePrice, ); if (borrowAmount === undefined || loanTokenPrice === "0") { return; @@ -336,14 +336,14 @@ export function BorrowLoanTokenScreen({ fetchVaults({ address, client, - }) + }), ); } }, [blockCount, address, isFocused]); useEffect(() => { const updatedVault = vaults.find( - (v) => v.vaultId === vault.vaultId + (v) => v.vaultId === vault.vaultId, ) as LoanVaultActive; setVault(updatedVault); }, [vaults]); @@ -358,7 +358,7 @@ export function BorrowLoanTokenScreen({ resultingColRatio.isLessThan(vault.loanScheme.minColRatio) || hasPendingJob || hasPendingBroadcastJob || - !formState.isValid + !formState.isValid, ); }, [ resultingColRatio, @@ -379,7 +379,7 @@ export function BorrowLoanTokenScreen({ @@ -411,7 +411,7 @@ export function BorrowLoanTokenScreen({ > @@ -436,7 +436,7 @@ export function BorrowLoanTokenScreen({ }} placeholder="0.00" placeholderTextColor={getColor( - isLight ? "mono-light-v2-500" : "mono-dark-v2-500" + isLight ? "mono-light-v2-500" : "mono-dark-v2-500", )} testID="text_input_borrow_amount" /> @@ -448,7 +448,7 @@ export function BorrowLoanTokenScreen({ validate: { greaterThanZero: (value: string) => new BigNumber( - value !== undefined && value !== "" ? value : 0 + value !== undefined && value !== "" ? value : 0, ).isGreaterThan(0), hasDFIandDUSDCollateral: () => requiredTokensShare.isGreaterThan(0), // need >0 DFI and or DUSD to take loan @@ -461,12 +461,12 @@ export function BorrowLoanTokenScreen({ price={new BigNumber( typeof borrowAmount === "string" && borrowAmount.length > 0 ? borrowAmount - : 0 + : 0, ).multipliedBy( getActivePrice( loanToken.token.symbol, - loanToken.activePrice - ) + loanToken.activePrice, + ), )} style={tailwind("text-sm")} testId="borrow_amount_in_usd" @@ -476,6 +476,7 @@ export function BorrowLoanTokenScreen({ { setBottomSheetScreen(bottomSheetLoanTokenList); @@ -494,7 +495,7 @@ export function BorrowLoanTokenScreen({ > {translate( "screens/BorrowLoanTokenScreen", - "Amount entered will result in vault liquidation" + "Amount entered will result in vault liquidation", )} )} @@ -536,7 +537,7 @@ export function BorrowLoanTokenScreen({ > {translate( "screens/BorrowLoanTokenScreen", - inputValidationMessage.message + inputValidationMessage.message, )} ) : ( @@ -549,7 +550,7 @@ export function BorrowLoanTokenScreen({ > {translate( "screens/BorrowLoanTokenScreen", - "Review full details in the next screen" + "Review full details in the next screen", )} ) @@ -611,7 +612,7 @@ function VaultInput(props: VaultInputProps): JSX.Element { /> ; @@ -48,20 +49,20 @@ export function CreateVaultScreen({ navigation, route }: Props): JSX.Element { const { network } = useNetworkContext(); const { address } = useWalletContext(); const loanSchemes = useSelector((state: RootState) => - ascColRatioLoanScheme(state.loans) + ascColRatioLoanScheme(state.loans), ); const hasFetchedLoanSchemes = useSelector( - (state: RootState) => state.loans.hasFetchedLoanSchemes + (state: RootState) => state.loans.hasFetchedLoanSchemes, ); const logger = useLogger(); const hasPendingJob = useSelector((state: RootState) => - hasTxQueued(state.transactionQueue) + hasTxQueued(state.transactionQueue), ); const hasPendingBroadcastJob = useSelector((state: RootState) => - hasOceanTXQueued(state.ocean) + hasOceanTXQueued(state.ocean), ); const DFIUtxo = useSelector((state: RootState) => - DFIUtxoSelector(state.wallet) + DFIUtxoSelector(state.wallet), ); const RESERVE_AMOUNT = 2.1; @@ -72,7 +73,7 @@ export function CreateVaultScreen({ navigation, route }: Props): JSX.Element { const [conversionStatus, setConversionStatus] = useState( new BigNumber(RESERVE_AMOUNT).gt(DFIUtxo.amount) ? ConversionStatus.Required - : ConversionStatus.Not_Required + : ConversionStatus.Not_Required, ); const [conversionAmount, setConversionAmount] = useState< BigNumber | undefined @@ -84,7 +85,7 @@ export function CreateVaultScreen({ navigation, route }: Props): JSX.Element { network === EnvironmentNetwork.TestNet || network === EnvironmentNetwork.DevNet ? 2 - : 1 + : 1, ); const onSubmit = async (): Promise => { @@ -100,7 +101,7 @@ export function CreateVaultScreen({ navigation, route }: Props): JSX.Element { const convertAmount = new BigNumber(RESERVE_AMOUNT).minus(DFIUtxo.amount); queueConvertTransaction( { - mode: "accountToUtxos", + mode: ConvertDirection.accountToUtxos, amount: convertAmount, }, dispatch, @@ -111,7 +112,7 @@ export function CreateVaultScreen({ navigation, route }: Props): JSX.Element { logger, () => { setConversionStatus(ConversionStatus.Completed); - } + }, ); } else { if (hasPendingJob || hasPendingBroadcastJob) { @@ -131,10 +132,10 @@ export function CreateVaultScreen({ navigation, route }: Props): JSX.Element { fetchVaults({ address, client, - }) + }), ); }, - logger + logger, ); } }; @@ -167,7 +168,7 @@ export function CreateVaultScreen({ navigation, route }: Props): JSX.Element { const needsConvert = new BigNumber(RESERVE_AMOUNT).gt(DFIUtxo.amount); setConversionStatus( - needsConvert ? ConversionStatus.Required : ConversionStatus.Not_Required + needsConvert ? ConversionStatus.Required : ConversionStatus.Not_Required, ); if (needsConvert) { setConversionAmount(undefined); @@ -184,7 +185,7 @@ export function CreateVaultScreen({ navigation, route }: Props): JSX.Element { > {translate( "screens/CreateVaultScreen", - "Select a loan scheme for your vault." + "Select a loan scheme for your vault.", )} @@ -222,7 +223,7 @@ export function CreateVaultScreen({ navigation, route }: Props): JSX.Element { "screens/CreateVaultScreen", conversionStatus === ConversionStatus.Required ? "Continue" - : "Create vault" + : "Create vault", )} onPress={onSubmit} styleProps="mt-0 mx-7" @@ -249,7 +250,7 @@ function ButtonActionMessage(props: { "screens/CreateVaultScreen", props.isConversionRequired ? "By continuing, the required amount of DFI will be converted" - : "Monitor your vault’s collateralization to prevent liquidation." + : "Monitor your vault’s collateralization to prevent liquidation.", )} )} @@ -267,11 +268,11 @@ async function createVault( dispatch: Dispatch, onBroadcast: () => void, onConfirmation: () => void, - logger: NativeLoggingProps + logger: NativeLoggingProps, ): Promise { try { const signer = async ( - account: WhaleWalletAccount + account: WhaleWalletAccount, ): Promise => { const script = await account.getScript(); const builder = account.withTransactionBuilder(); @@ -280,7 +281,7 @@ async function createVault( ownerAddress: script, schemeId: loanScheme.id, }, - script + script, ); return new CTransactionSegWit(signed); }; @@ -292,14 +293,14 @@ async function createVault( drawerMessages: { preparing: translate( "screens/OceanInterface", - "Preparing to create vault…" + "Preparing to create vault…", ), waiting: translate("screens/OceanInterface", "Creating vault"), complete: translate("screens/OceanInterface", "Vault created"), }, onBroadcast, onConfirmation, - }) + }), ); } catch (e) { logger.error(e); diff --git a/mobile-app/app/screens/AppNavigator/screens/Loans/screens/PaybackLoanScreen.tsx b/mobile-app/app/screens/AppNavigator/screens/Loans/screens/PaybackLoanScreen.tsx index bcdd0a04f3..9f11afa8b8 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Loans/screens/PaybackLoanScreen.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Loans/screens/PaybackLoanScreen.tsx @@ -61,10 +61,10 @@ export function PaybackLoanScreen({ navigation, route }: Props): JSX.Element { const dispatch = useAppDispatch(); const [vault, setVault] = useState(routeParams.vault); const [loanTokenAmount, setLoanTokenAmount] = useState( - routeParams.loanTokenAmount + routeParams.loanTokenAmount, ); const vaults = useSelector((state: RootState) => - activeVaultsSelector(state.loans) + activeVaultsSelector(state.loans), ); useEffect(() => { @@ -72,7 +72,7 @@ export function PaybackLoanScreen({ navigation, route }: Props): JSX.Element { }, []); const collateralTokens = useSelector( - (state: RootState) => state.loans.collateralTokens + (state: RootState) => state.loans.collateralTokens, ); useEffect(() => { @@ -81,7 +81,7 @@ export function PaybackLoanScreen({ navigation, route }: Props): JSX.Element { setVault(vault); } const loanTokenAmount = vault?.loanAmounts.find( - (l: LoanVaultTokenAmount) => l.id === routeParams.loanTokenAmount.id + (l: LoanVaultTokenAmount) => l.id === routeParams.loanTokenAmount.id, ); if (loanTokenAmount !== undefined) { setLoanTokenAmount(loanTokenAmount); @@ -89,7 +89,7 @@ export function PaybackLoanScreen({ navigation, route }: Props): JSX.Element { }, [vaults]); const tokens = useSelector((state: RootState) => - tokensSelector(state.wallet) + tokensSelector(state.wallet), ); const toast = useToast(); const TOAST_DURATION = 2000; @@ -102,7 +102,7 @@ export function PaybackLoanScreen({ navigation, route }: Props): JSX.Element { }); } const loanToken = useSelector((state: RootState) => - loanTokenByTokenId(state.loans, loanTokenAmount.id) + loanTokenByTokenId(state.loans, loanTokenAmount.id), ); const { isLight } = useThemeContext(); const canUseOperations = useLoanOperations(vault?.state); @@ -112,7 +112,7 @@ export function PaybackLoanScreen({ navigation, route }: Props): JSX.Element { }); const { amountToPay } = watch(); const collateralDUSD = vault?.collateralAmounts?.find( - ({ symbol }) => symbol === "DUSD" + ({ symbol }) => symbol === "DUSD", ); const collateralDUSDAmount = collateralDUSD?.amount ?? "0"; const [fee, setFee] = useState(new BigNumber(0.0001)); @@ -129,14 +129,14 @@ export function PaybackLoanScreen({ navigation, route }: Props): JSX.Element { if (routeParams.isPaybackDUSDUsingCollateral) { setValue( "amountToPay", - BigNumber.min(collateralDUSDAmount, loanTokenAmount.amount).toFixed(8) + BigNumber.min(collateralDUSDAmount, loanTokenAmount.amount).toFixed(8), ); } }, [loanTokenAmount, collateralDUSDAmount]); const interestPerBlock = useInterestPerBlock( new BigNumber(vault?.loanScheme.interestRate ?? NaN), - new BigNumber(loanToken?.interest ?? NaN) + new BigNumber(loanToken?.interest ?? NaN), ); const token = tokens?.find((t) => t.id === loanTokenAmount.id); const tokenBalance = @@ -152,21 +152,23 @@ export function PaybackLoanScreen({ navigation, route }: Props): JSX.Element { ? collateralFactor : undefined, undefined, - routeParams.isPaybackDUSDUsingCollateral === true ? "COLLATERAL" : undefined + routeParams.isPaybackDUSDUsingCollateral === true + ? "COLLATERAL" + : undefined, ); const hasPendingJob = useSelector((state: RootState) => - hasTxQueued(state.transactionQueue) + hasTxQueued(state.transactionQueue), ); const hasPendingBroadcastJob = useSelector((state: RootState) => - hasOceanTXQueued(state.ocean) + hasOceanTXQueued(state.ocean), ); const getCollateralValue = (collateralValue: string) => { if (routeParams.isPaybackDUSDUsingCollateral) { // In case of DUSD payment using collateral return new BigNumber(collateralValue).minus( - new BigNumber(amountToPay).multipliedBy(loanTokenActivePriceInUSD) + new BigNumber(amountToPay).multipliedBy(loanTokenActivePriceInUSD), ); } return new BigNumber(collateralValue); @@ -177,10 +179,10 @@ export function PaybackLoanScreen({ navigation, route }: Props): JSX.Element { new BigNumber(vault?.loanValue ?? NaN), BigNumber.min( new BigNumber(amountToPay).isNaN() ? "0" : amountToPay, - loanTokenAmount.amount + loanTokenAmount.amount, ).multipliedBy(-1), new BigNumber(loanTokenActivePriceInUSD), - interestPerBlock + interestPerBlock, ); const navigateToConfirmScreen = async (): Promise => { @@ -202,7 +204,7 @@ export function PaybackLoanScreen({ navigation, route }: Props): JSX.Element { const onChangeFromAmount = async ( amount: string, - type: AmountButtonTypes + type: AmountButtonTypes, ): Promise => { const isMax = type === AmountButtonTypes.Max; const toastMessage = isMax @@ -214,7 +216,7 @@ export function PaybackLoanScreen({ navigation, route }: Props): JSX.Element { percent: type, }; showToast( - translate("screens/PaybackLoanScreen", toastMessage, toastOption) + translate("screens/PaybackLoanScreen", toastMessage, toastOption), ); await trigger("amountToPay"); }; @@ -238,7 +240,7 @@ export function PaybackLoanScreen({ navigation, route }: Props): JSX.Element { "screens/PaybackLoanScreen", routeParams.isPaybackDUSDUsingCollateral ? "I WANT TO PAY WITH DUSD COLLATERAL" - : "I WANT TO PAY" + : "I WANT TO PAY", )} @@ -266,7 +268,7 @@ export function PaybackLoanScreen({ navigation, route }: Props): JSX.Element { > @@ -276,7 +278,7 @@ export function PaybackLoanScreen({ navigation, route }: Props): JSX.Element { routeParams.isPaybackDUSDUsingCollateral ? BigNumber.min( collateralDUSDAmount, - loanTokenAmount.amount + loanTokenAmount.amount, ).toFixed(8) : "" } @@ -309,7 +311,7 @@ export function PaybackLoanScreen({ navigation, route }: Props): JSX.Element { }} placeholder="0.00" placeholderTextColor={getColor( - isLight ? "mono-light-v2-500" : "mono-dark-v2-500" + isLight ? "mono-light-v2-500" : "mono-dark-v2-500", )} testID="payback_input_text" editable={amountToPay !== undefined} @@ -323,7 +325,7 @@ export function PaybackLoanScreen({ navigation, route }: Props): JSX.Element { validate: { greaterThanZero: (value: string) => new BigNumber( - value !== undefined && value !== "" ? value : 0 + value !== undefined && value !== "" ? value : 0, ).isGreaterThan(0), notSufficientFunds: (value) => new BigNumber(tokenBalance).gte(value), @@ -335,7 +337,7 @@ export function PaybackLoanScreen({ navigation, route }: Props): JSX.Element { new BigNumber(amountToPay).isNaN() ? new BigNumber(0) : new BigNumber(amountToPay).multipliedBy( - loanTokenActivePriceInUSD + loanTokenActivePriceInUSD, ) } style={tailwind("text-sm")} @@ -344,6 +346,7 @@ export function PaybackLoanScreen({ navigation, route }: Props): JSX.Element { /> )} @@ -467,7 +470,7 @@ function TransactionDetailsSection({ }; const loanRemaining = BigNumber.max( new BigNumber(outstandingBalance).minus(amountToPay), - 0 + 0, ); return ( void; @@ -104,7 +116,8 @@ export interface PortfolioParamList { AddOrEditAddressBookScreen: { title: string; onSaveButtonPress: (address?: string) => void; - addressLabel?: LocalAddress; + addressLabel?: WhitelistedAddress; + addressDomainType?: DomainType; address?: string; isAddNew: boolean; }; @@ -146,7 +159,8 @@ export interface PortfolioParamList { }; listType: TokenListType; list: any; - onTokenPress: (item: SelectionToken) => {}; + onTokenPress: (item: SelectionToken) => void; + isConvert?: boolean; isFutureSwap?: boolean; isSearchDTokensOnly?: boolean; }; @@ -178,6 +192,7 @@ const PortfolioStack = createStackNavigator(); export function PortfolioNavigator(): JSX.Element { const navigation = useNavigation>(); const { isLight } = useThemeContext(); + const { isEvmFeatureEnabled } = useDomainContext(); const goToNetworkSelect = (): void => { navigation.navigate("NetworkSelectionScreenPortfolio"); }; @@ -211,6 +226,7 @@ export function PortfolioNavigator(): JSX.Element { source={ isLight ? GridBackgroundImageLight : GridBackgroundImageDark } + // eslint-disable-next-line react-native/no-inline-styles style={{ height: 220, width: "100%", @@ -218,7 +234,17 @@ export function PortfolioNavigator(): JSX.Element { contentFit="cover" /> ), - headerLeft: () => , + headerLeft: () => ( + + {isEvmFeatureEnabled && } + + + + ), headerLeftContainerStyle: tailwind("pl-5", { "pb-2": Platform.OS === "ios", "pb-1.5": Platform.OS !== "ios", @@ -341,7 +367,7 @@ export function PortfolioNavigator(): JSX.Element { headerRight: () => ( ), - headerTitle: translate("screens/ConvertScreen", "Convert DFI"), + headerTitle: translate("screens/ConvertScreen", "Convert"), }} /> @@ -477,7 +503,7 @@ export function PortfolioNavigator(): JSX.Element { ), @@ -516,7 +542,7 @@ export function PortfolioNavigator(): JSX.Element { ...screenOptions, headerTitle: translate( "screens/WithdrawFutureSwapScreen", - "Withdraw" + "Withdraw", ), headerRight: () => ( @@ -557,7 +583,7 @@ export function PortfolioNavigator(): JSX.Element { ...screenOptions, headerTitle: translate( "screens/ConfirmWithdrawFutureSwapScreen", - "Confirm" + "Confirm", ), headerRight: () => ( @@ -600,7 +626,7 @@ export function PortfolioNavigator(): JSX.Element { ), headerTitle: translate( "screens/TransactionDetailScreen", - "Transaction" + "Transaction", ), }} /> @@ -611,7 +637,7 @@ export function PortfolioNavigator(): JSX.Element { ...screenOptions, headerTitle: translate( "components/UtxoVsTokenFaq", - "About UTXO And Tokens" + "About UTXO And Tokens", ), }} /> diff --git a/mobile-app/app/screens/AppNavigator/screens/Portfolio/PortfolioScreen.tsx b/mobile-app/app/screens/AppNavigator/screens/Portfolio/PortfolioScreen.tsx index 9ba4b9227c..3f072b6e4b 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Portfolio/PortfolioScreen.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Portfolio/PortfolioScreen.tsx @@ -13,18 +13,18 @@ import { import { useDisplayBalancesContext } from "@contexts/DisplayBalancesContext"; import { useWalletContext } from "@shared-contexts/WalletContext"; import { - useWalletPersistenceContext, useThemeContext, + useWalletPersistenceContext, useWhaleApiClient, useWhaleRpcClient, } from "@waveshq/walletkit-ui"; import { useBottomTabBarHeight } from "@react-navigation/bottom-tabs"; import { StackScreenProps } from "@react-navigation/stack"; import { - ocean, dexPricesSelectorByDenomination, fetchDexPrice, fetchTokens, + ocean, tokensSelector, WalletToken, } from "@waveshq/walletkit-ui/dist/store"; @@ -72,6 +72,7 @@ import { BottomSheetHeader } from "@components/BottomSheetHeader"; import * as SplashScreen from "expo-splash-screen"; import { useLogger } from "@shared-contexts/NativeLoggingProvider"; import { bottomTabDefaultRoutes } from "@screens/AppNavigator/constants/DefaultRoutes"; +import { DomainType, useDomainContext } from "@contexts/DomainContext"; import { AddressSelectionButtonV2 } from "./components/AddressSelectionButtonV2"; import { ActionButtons } from "./components/ActionButtons"; import { @@ -90,6 +91,7 @@ import { } from "./components/TotalPortfolio"; import { useTokenPrice } from "./hooks/TokenPrice"; import { PortfolioParamList } from "./PortfolioNavigator"; +import { useEvmTokenBalances } from "./hooks/EvmTokenBalances"; type Props = StackScreenProps; @@ -99,17 +101,18 @@ export interface PortfolioRowToken extends WalletToken { export function PortfolioScreen({ navigation }: Props): JSX.Element { const { isLight } = useThemeContext(); + const { domain } = useDomainContext(); const isFocused = useIsFocused(); const height = useBottomTabBarHeight(); const client = useWhaleApiClient(); const whaleRpcClient = useWhaleRpcClient(); - const { address, addressLength } = useWalletContext(); + const { address } = useWalletContext(); const { denominationCurrency, setDenominationCurrency } = useDenominationCurrency(); const { getTokenPrice } = useTokenPrice(denominationCurrency); const prices = useSelector((state: RootState) => - dexPricesSelectorByDenomination(state.wallet, denominationCurrency) + dexPricesSelectorByDenomination(state.wallet, denominationCurrency), ); const { wallets } = useWalletPersistenceContext(); const lockedTokens = useTokenLockedBalance({ denominationCurrency }) as Map< @@ -122,15 +125,16 @@ export function PortfolioScreen({ navigation }: Props): JSX.Element { } = useDisplayBalancesContext(); const blockCount = useSelector((state: RootState) => state.block.count); const vaults = useSelector((state: RootState) => - activeVaultsSelector(state.loans) + activeVaultsSelector(state.loans), ); const dispatch = useAppDispatch(); const [refreshing, setRefreshing] = useState(false); const [isZeroBalance, setIsZeroBalance] = useState(true); const { hasFetchedToken, allTokens } = useSelector( - (state: RootState) => state.wallet + (state: RootState) => state.wallet, ); + const { hasFetchedEvmTokens } = useSelector((state: RootState) => state.evm); const ref = useRef(null); const logger = useLogger(); useScrollToTop(ref); @@ -146,7 +150,7 @@ export function PortfolioScreen({ navigation }: Props): JSX.Element { fetchFutureSwaps({ client: whaleRpcClient, address, - }) + }), ); dispatch(fetchExecutionBlock({ client: whaleRpcClient })); }); @@ -167,13 +171,13 @@ export function PortfolioScreen({ navigation }: Props): JSX.Element { fetchTokens({ client, address, - }) + }), ); dispatch( fetchVaults({ client, address, - }) + }), ); }); }; @@ -185,7 +189,7 @@ export function PortfolioScreen({ navigation }: Props): JSX.Element { fetchDexPrice({ client, denomination: denominationCurrency, - }) + }), ); }, [blockCount, denominationCurrency]); @@ -196,21 +200,22 @@ export function PortfolioScreen({ navigation }: Props): JSX.Element { }, [address, client, dispatch]); const tokens = useSelector((state: RootState) => - tokensSelector(state.wallet) + tokensSelector(state.wallet), ); + const { evmTokens } = useEvmTokenBalances(); const { totalAvailableValue, dstTokens } = useMemo(() => { - return tokens.reduce( + return (domain === DomainType.EVM ? evmTokens : tokens).reduce( ( { totalAvailableValue, dstTokens, }: { totalAvailableValue: BigNumber; dstTokens: PortfolioRowToken[] }, - token + token, ) => { const usdAmount = getTokenPrice( token.symbol, new BigNumber(token.amount), - token.isLPS + token.isLPS, ); if (token.symbol === "DFI") { return { @@ -224,7 +229,7 @@ export function PortfolioScreen({ navigation }: Props): JSX.Element { } return { totalAvailableValue: totalAvailableValue.plus( - usdAmount.isNaN() ? 0 : usdAmount + usdAmount.isNaN() ? 0 : usdAmount, ), dstTokens: [ ...dstTokens, @@ -238,9 +243,9 @@ export function PortfolioScreen({ navigation }: Props): JSX.Element { { totalAvailableValue: new BigNumber(0), dstTokens: [], - } + }, ); - }, [prices, tokens]); + }, [prices, tokens, domain, evmTokens]); // add token that are 100% locked as collateral into dstTokens const combinedTokens = useMemo(() => { @@ -281,7 +286,7 @@ export function PortfolioScreen({ navigation }: Props): JSX.Element { const [filteredTokens, setFilteredTokens] = useState(combinedTokens); // portfolio tab items const onPortfolioButtonGroupChange = ( - portfolioButtonGroupTabKey: PortfolioButtonGroupTabKey + portfolioButtonGroupTabKey: PortfolioButtonGroupTabKey, ): void => { setDenominationCurrency(portfolioButtonGroupTabKey); }; @@ -327,7 +332,7 @@ export function PortfolioScreen({ navigation }: Props): JSX.Element { // Asset sort bottom sheet list const [assetSortType, setAssetSortType] = useState( - PortfolioSortType.HighestDenominationValue + PortfolioSortType.HighestDenominationValue, ); // to display selected sorted type text const [isSorted, setIsSorted] = useState(false); // to display acsending/descending icon const [showAssetSortBottomSheet, setShowAssetSortBottomSheet] = @@ -336,7 +341,7 @@ export function PortfolioScreen({ navigation }: Props): JSX.Element { (assetSortType: PortfolioSortType): PortfolioRowToken[] => { let sortTokensFunc: ( a: PortfolioRowToken, - b: PortfolioRowToken + b: PortfolioRowToken, ) => number; switch (assetSortType) { case PortfolioSortType.HighestDenominationValue: @@ -365,16 +370,21 @@ export function PortfolioScreen({ navigation }: Props): JSX.Element { return filteredTokens.sort(sortTokensFunc); }, - [filteredTokens, assetSortType, denominationCurrency] + [domain, filteredTokens, assetSortType, denominationCurrency], ); useEffect(() => { setAssetSortType(PortfolioSortType.HighestDenominationValue); // reset sorting state upon denominationCurrency change }, [denominationCurrency]); + // Reset button group in EVM domain + useEffect(() => { + setActiveButtonGroup(ButtonGroupTabKey.AllTokens); + }, [domain]); + // token tab items const [activeButtonGroup, setActiveButtonGroup] = useState( - ButtonGroupTabKey.AllTokens + ButtonGroupTabKey.AllTokens, ); const handleButtonFilter = useCallback( (buttonGroupTabKey: ButtonGroupTabKey) => { @@ -393,7 +403,7 @@ export function PortfolioScreen({ navigation }: Props): JSX.Element { }); setFilteredTokens(filterTokens); }, - [combinedTokens] + [combinedTokens], ); const totalLockedValue = useMemo(() => { @@ -403,7 +413,7 @@ export function PortfolioScreen({ navigation }: Props): JSX.Element { return [...lockedTokens.values()].reduce( (totalLockedValue: BigNumber, value: LockedBalance) => totalLockedValue.plus(value.tokenValue.isNaN() ? 0 : value.tokenValue), - new BigNumber(0) + new BigNumber(0), ); }, [lockedTokens, prices]); @@ -417,19 +427,21 @@ export function PortfolioScreen({ navigation }: Props): JSX.Element { (totalVaultLoansValue, loanToken) => { const tokenValue = getTokenPrice( loanToken.symbol, - new BigNumber(loanToken.amount) + new BigNumber(loanToken.amount), ); return totalVaultLoansValue.plus( - new BigNumber(tokenValue).isNaN() ? 0 : tokenValue + new BigNumber(tokenValue).isNaN() ? 0 : tokenValue, ); }, - new BigNumber(0) + new BigNumber(0), ); return totalLoansValue.plus( - new BigNumber(totalVaultLoansValue).isNaN() ? 0 : totalVaultLoansValue + new BigNumber(totalVaultLoansValue).isNaN() + ? 0 + : totalVaultLoansValue, ); }, - new BigNumber(0) + new BigNumber(0), ); }, [prices, vaults]); @@ -440,7 +452,7 @@ export function PortfolioScreen({ navigation }: Props): JSX.Element { useEffect(() => { setIsZeroBalance( - !tokens.some((token) => new BigNumber(token.amount).isGreaterThan(0)) + !tokens.some((token) => new BigNumber(token.amount).isGreaterThan(0)), ); }, [tokens]); @@ -513,15 +525,49 @@ export function PortfolioScreen({ navigation }: Props): JSX.Element { "bg-mono-light-v2-100": isLight, "bg-mono-dark-v2-100": !isLight, }), - headerRight: (): JSX.Element => { + header: (): JSX.Element => { return ( - dismissModal(false)} - testID="close_bottom_sheet_button" + - - + + + + + {domain} + + + {translate("screens/PortfolioScreen", "network")} + + + + dismissModal(false)} + testID="close_bottom_sheet_button" + > + + + ); }, }; @@ -530,7 +576,7 @@ export function PortfolioScreen({ navigation }: Props): JSX.Element { navigation.dispatch( CommonActions.reset({ routes: bottomTabDefaultRoutes, - }) + }), ); }; @@ -566,7 +612,7 @@ export function PortfolioScreen({ navigation }: Props): JSX.Element { }, }, ]; - }, [address, isLight]); + }, [address, isLight, domain]); // Hide splashscreen when first page is loaded to prevent white screen // It is wrapped on a timeout so it will execute once the JS stack is cleared up @@ -591,11 +637,7 @@ export function PortfolioScreen({ navigation }: Props): JSX.Element { dark={tailwind("bg-mono-dark-v2-00")} style={tailwind("px-5 flex flex-row items-center")} > - expandModal(false)} - /> + expandModal(false)} /> @@ -623,11 +665,14 @@ export function PortfolioScreen({ navigation }: Props): JSX.Element { /> - + + {domain === DomainType.DVM && ( + + )} {/* to show bottom sheet for asset sort */} {activeButtonGroup === ButtonGroupTabKey.AllTokens && ( )} - {!hasFetchedToken ? ( + {!hasFetchedToken || + (domain === DomainType.EVM && !hasFetchedEvmTokens) ? ( @@ -656,6 +703,7 @@ export function PortfolioScreen({ navigation }: Props): JSX.Element { onButtonGroupPress: handleButtonFilter, }} denominationCurrency={denominationCurrency} + isEvmDomain={domain === DomainType.EVM} /> )} {Platform.OS === "web" ? ( @@ -702,16 +750,17 @@ function AssetSortRow(props: { assetSortType: PortfolioSortType; denominationCurrency: string; onPress: () => void; + isEvmDomain: boolean; }): JSX.Element { const highestCurrencyValue = translate( "screens/PortfolioScreen", "Highest value ({{denominationCurrency}})", - { denominationCurrency: props.denominationCurrency } + { denominationCurrency: props.denominationCurrency }, ); const lowestCurrencyValue = translate( "screens/PortfolioScreen", "Lowest value ({{denominationCurrency}})", - { denominationCurrency: props.denominationCurrency } + { denominationCurrency: props.denominationCurrency }, ); const getDisplayedSortText = (text: PortfolioSortType): string => { if (text === PortfolioSortType.HighestDenominationValue) { @@ -724,7 +773,9 @@ function AssetSortRow(props: { return ( {translate("screens/PortfolioScreen", "ASSETS")} - - - {translate( - "screens/PortfolioScreen", - props.isSorted - ? getDisplayedSortText(props.assetSortType) - : "Sort by" - )} - - - + + {translate( + "screens/PortfolioScreen", + props.isSorted + ? getDisplayedSortText(props.assetSortType) + : "Sort by", + )} + + + + )} ); } diff --git a/mobile-app/app/screens/AppNavigator/screens/Portfolio/assets/EmptyEvmPortfolioIcon.tsx b/mobile-app/app/screens/AppNavigator/screens/Portfolio/assets/EmptyEvmPortfolioIcon.tsx new file mode 100644 index 0000000000..e0c0a59456 --- /dev/null +++ b/mobile-app/app/screens/AppNavigator/screens/Portfolio/assets/EmptyEvmPortfolioIcon.tsx @@ -0,0 +1,89 @@ +import Svg, { + Ellipse, + Path, + LinearGradient, + G, + Stop, + Defs, + Rect, + ClipPath, +} from "react-native-svg"; + +export function EmptyEvmPortfolioIcon(): JSX.Element { + const GElement = G as any; + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); +} diff --git a/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/ActionButtons.test.tsx b/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/ActionButtons.test.tsx index 8d1699a45d..1b39090a95 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/ActionButtons.test.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/ActionButtons.test.tsx @@ -4,14 +4,22 @@ import { configureStore } from "@reduxjs/toolkit"; import { RootState } from "@store"; import { setTokenSymbol, wallet } from "@waveshq/walletkit-ui/dist/store"; import { futureSwaps } from "@store/futureSwap"; +import { StoreProvider } from "@contexts/StoreProvider"; import { ActionButtons } from "./ActionButtons"; jest.mock("@contexts/FeatureFlagContext"); +jest.mock("@contexts/DomainContext"); + jest.mock("@react-navigation/native", () => ({ useNavigation: jest.fn(), })); -describe("DFI Action Buttons", () => { +jest.mock("react-native/Libraries/Utilities/Platform", () => ({ + OS: "web", + select: () => jest.fn, +})); + +describe.skip("DFI Action Buttons", () => { it("should match snapshot for Action Buttons component", async () => { const initialState: Partial = { futureSwaps: { @@ -51,9 +59,11 @@ describe("DFI Action Buttons", () => { }); const rendered = render( - - - + + + + + , ); expect(rendered.toJSON()).toMatchSnapshot(); }); diff --git a/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/ActionButtons.tsx b/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/ActionButtons.tsx index fa1eb8e089..18823667a7 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/ActionButtons.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/ActionButtons.tsx @@ -17,10 +17,18 @@ import { getColor, tailwind } from "@tailwind"; import { translate } from "@translations"; import { ScrollView, Text, View } from "react-native"; import { useSelector } from "react-redux"; +import { useDomainContext, DomainType } from "@contexts/DomainContext"; import { getNativeIcon } from "@components/icons/assets"; import { useThemeContext } from "@waveshq/walletkit-ui"; import BigNumber from "bignumber.js"; +import { ConvertIcon } from "@components/icons/assets/ConvertIcon"; +import { ConvertDirection } from "@screens/enum"; import { PortfolioParamList } from "../PortfolioNavigator"; +import { + SelectionToken, + TokenListType, +} from "../../Dex/CompositeSwap/SwapTokenSelectionScreen"; +import { useTokenBalance } from "../hooks/TokenBalance"; export interface ActionButtonsProps { name: string; @@ -30,35 +38,115 @@ export interface ActionButtonsProps { onPress: () => void; testID: string; badge?: string | number; + isEvmDomain?: boolean; } export function ActionButtons(): JSX.Element { const { isFeatureAvailable } = useFeatureFlagContext(); + const { domain, isEvmFeatureEnabled } = useDomainContext(); + const isEvmDomain = domain === DomainType.EVM; + + const { dvmTokens, evmTokens } = useTokenBalance(); + const navigation = useNavigation>(); const futureSwaps = useSelector((state: RootState) => - futureSwapSelector(state) + futureSwapSelector(state), ); const { hasFetchedToken } = useSelector((state: RootState) => state.wallet); const DFIUtxo = useSelector((state: RootState) => - DFIUtxoSelector(state.wallet) + DFIUtxoSelector(state.wallet), ); const DFIToken = useSelector((state: RootState) => - DFITokenSelector(state.wallet) + DFITokenSelector(state.wallet), ); const hasDFIBalance = hasFetchedToken && new BigNumber(DFIUtxo.amount ?? 0).plus(DFIToken.amount ?? 0).gt(0); + const getConvertDirection = (tokenId: string) => { + if (domain === DomainType.DVM && tokenId === "0") { + return ConvertDirection.accountToUtxos; + } else if (domain === DomainType.DVM && tokenId === "0_utxo") { + return ConvertDirection.utxosToAccount; + } + + return domain === DomainType.EVM + ? ConvertDirection.evmToDvm + : ConvertDirection.dvmToEvm; + }; + + const navigateToTokenSelectionScreen = (listType: TokenListType): void => { + navigation.navigate("SwapTokenSelectionScreen", { + fromToken: { + symbol: undefined, + displaySymbol: undefined, + }, + listType: listType, + list: domain === DomainType.EVM ? evmTokens : dvmTokens, + onTokenPress: (item) => { + const defaultTargetToken = { + tokenId: + domain === DomainType.DVM + ? `${item.tokenId}_evm` + : item.tokenId.replace("_evm", ""), + available: new BigNumber(0), + token: { + ...item.token, + name: + domain === DomainType.DVM + ? `${item.token.name} for EVM` + : item.token.name, + domainType: DomainType.EVM, + }, + }; + + let targetToken: SelectionToken | undefined; + if (domain === DomainType.DVM && item.tokenId === "0_utxo") { + // If DFI UTXO -> choose DFI Token + targetToken = dvmTokens.find((token) => token.tokenId === "0"); + } else if (domain === DomainType.DVM && item.tokenId === "0") { + // If DFI Token -> no default + targetToken = undefined; + } else if (domain === DomainType.EVM) { + // If EVM -> choose DVM equivalent + targetToken = + dvmTokens.find( + (token) => token.tokenId === item.tokenId.replace("_evm", ""), + ) ?? defaultTargetToken; + } else if (domain === DomainType.DVM) { + // If DVM -> choose EVM equivalent + targetToken = + evmTokens.find( + (token) => token.tokenId === `${item.tokenId}_evm`, + ) ?? defaultTargetToken; + } + + navigation.navigate({ + name: "ConvertScreen", + params: { + sourceToken: item, + targetToken, + convertDirection: getConvertDirection(item.tokenId), + }, + merge: true, + }); + }, + isFutureSwap: false, + isSearchDTokensOnly: false, + }); + }; + return ( - {hasDFIBalance && ( + {hasDFIBalance && !isEvmDomain && ( navigation.navigate("Receive")} /> - {isFeatureAvailable("future_swap") && futureSwaps.length > 0 && ( + {!isEvmDomain && ( 9 ? "9+" : futureSwaps.length} - testID="future_swap_button" - onPress={() => navigation.navigate("FutureSwapScreen")} + testID="swap_tokens_button" + onPress={() => + navigation.navigate({ + name: "CompositeSwap", + params: {}, + merge: true, + }) + } /> )} - - navigation.navigate({ - name: "CompositeSwap", - params: {}, - merge: true, - }) - } - /> - {isFeatureAvailable("ocg_cfp_dfip") && ( + {isEvmFeatureEnabled && ( navigation.navigate("OCGProposalsScreen")} + name={translate("components/ActionButtons", "Convert")} + iconSize={28} + testID="convert_action_button" + onPress={() => { + navigateToTokenSelectionScreen(TokenListType.From); + }} + isEvmDomain /> )} - navigation.navigate("TransactionsScreen")} - /> + + {!isEvmDomain && ( + <> + {isFeatureAvailable("future_swap") && futureSwaps.length > 0 && ( + 9 ? "9+" : futureSwaps.length} + testID="future_swap_button" + onPress={() => navigation.navigate("FutureSwapScreen")} + /> + )} + + {isFeatureAvailable("ocg_cfp_dfip") && ( + navigation.navigate("OCGProposalsScreen")} + /> + )} + navigation.navigate("TransactionsScreen")} + /> + + )} ); @@ -141,17 +248,30 @@ function ActionButton(props: ActionButtonsProps): JSX.Element { dark={tailwind("bg-mono-dark-v2-00")} light={tailwind("bg-mono-light-v2-00")} style={tailwind( - "rounded-full w-15 h-15 items-center justify-center mx-2.5" + "rounded-full w-15 h-15 items-center justify-center mx-2.5", )} onPress={props.onPress} testID={props.testID} > {props.iconType === undefined ? ( - + <> + {props.isEvmDomain ? ( + + ) : ( + + )} + ) : ( { @@ -12,15 +13,15 @@ describe("Address List Edit Button", () => { addresses: { foo: { address: "foo", + evmAddress: "", label: "foo", - isMine: true, }, }, addressBook: { bar: { address: "bar", label: "bar", - isMine: false, + addressDomainType: DomainType.DVM, }, }, }, @@ -33,7 +34,7 @@ describe("Address List Edit Button", () => { const rendered = render( - + , ); expect(rendered.toJSON()).toMatchSnapshot(); diff --git a/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/AddressRow.tsx b/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/AddressRow.tsx index 387d54d183..2167c8d30c 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/AddressRow.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/AddressRow.tsx @@ -8,17 +8,27 @@ import { ThemedTouchableOpacity, ThemedViewV2, } from "@components/themed"; -import { RandomAvatar } from "@screens/AppNavigator/screens/Portfolio/components/RandomAvatar"; import { WalletTextInputV2 } from "@components/WalletTextInputV2"; import { Control, Controller } from "react-hook-form"; import { NetworkName } from "@defichain/jellyfish-network"; import { fromAddress } from "@defichain/jellyfish-address"; -import { LocalAddress } from "@store/userPreferences"; +import { + LocalAddress, + selectAllLabeledWalletAddress, + WhitelistedAddress, +} from "@store/userPreferences"; import { debounce } from "lodash"; import { useEffect, useMemo, useState } from "react"; import { useSelector } from "react-redux"; import { RootState } from "@store"; -import { useWalletAddress } from "@hooks/useWalletAddress"; +import { useWalletAddress, WalletAddressI } from "@hooks/useWalletAddress"; +import { DomainType, useDomainContext } from "@contexts/DomainContext"; +import { + AddressType as JellyfishAddressType, + getAddressType, +} from "@waveshq/walletkit-core"; +import { RandomAvatar } from "@screens/AppNavigator/screens/Portfolio/components/RandomAvatar"; +import { AddressEvmTag } from "@components/AddressEvmTag"; export function AddressRow({ control, @@ -34,6 +44,9 @@ export function AddressRow({ onAddressType, showQrButton = true, onlyLocalAddress, + matchedAddress, + setMatchedAddress, + setAddressLabel, }: { control: Control; networkName: NetworkName; @@ -44,27 +57,34 @@ export function AddressRow({ inputFooter?: React.ReactElement; title: string; address: string; - onMatchedAddress?: (matchedAddress?: LocalAddress) => void; + onMatchedAddress?: ( + matchedAddress?: LocalAddress | WhitelistedAddress, + ) => void; onAddressType?: (addressType?: AddressType) => void; showQrButton?: boolean; onlyLocalAddress?: boolean; + matchedAddress?: LocalAddress | WhitelistedAddress | undefined; + setMatchedAddress?: (address?: LocalAddress | WhitelistedAddress) => void; + setAddressLabel?: React.Dispatch>; }): JSX.Element { const { fetchWalletAddresses } = useWalletAddress(); + const { domain } = useDomainContext(); const defaultValue = ""; const addressBook = useSelector( - (state: RootState) => state.userPreferences.addressBook + (state: RootState) => state.userPreferences.addressBook, ); - const walletAddress = useSelector( - (state: RootState) => state.userPreferences.addresses + const walletAddress = useSelector((state: RootState) => + selectAllLabeledWalletAddress(state.userPreferences), ); const [jellyfishWalletAddress, setJellyfishWalletAddresses] = useState< - string[] + WalletAddressI[] >([]); - const [matchedAddress, setMatchedAddress] = useState(); const [addressType, setAddressType] = useState(); + const [validEvmAddress, setValidEvmAddress] = useState(false); + const validLocalAddress = useMemo(() => { if (address === "") { return true; @@ -75,53 +95,75 @@ export function AddressRow({ return true; }, [onlyLocalAddress, addressType, address]); + const addressObj = jellyfishWalletAddress.find( + (e: WalletAddressI) => e.dvm === address || e.evm === address, + ); + + const displayAddressLabel = + matchedAddress?.label !== "" + ? matchedAddress?.label + : addressObj?.generatedLabel; + const debounceMatchAddress = debounce(() => { - if ( - address !== undefined && - addressBook !== undefined && - addressBook[address] !== undefined - ) { - setMatchedAddress(addressBook[address]); - setAddressType(AddressType.Whitelisted); - } else if ( - address !== undefined && - walletAddress !== undefined && - walletAddress[address] !== undefined - ) { - setMatchedAddress(walletAddress[address]); - setAddressType(AddressType.WalletAddress); - } else if ( - address !== undefined && - jellyfishWalletAddress.includes(address) - ) { - // wallet address that does not have a label - setMatchedAddress({ - address, - label: "", - isMine: true, - }); - setAddressType(AddressType.WalletAddress); - } else { - setMatchedAddress(undefined); - if (onlyLocalAddress) { - setAddressType(undefined); + // Check if address input field is not empty + if (address !== undefined && setMatchedAddress !== undefined) { + if (addressBook !== undefined && addressBook[address] !== undefined) { + // Whitelisted Addresses + setMatchedAddress(addressBook[address]); + setAddressType(AddressType.Whitelisted); + return; + } + + // Your Address - Labelled + if (walletAddress !== undefined && walletAddress[address] !== undefined) { + setMatchedAddress(walletAddress[address]); + setAddressType(AddressType.WalletAddress); + return; + } + + if (addressObj) { + // Your addresses - Unlabelled + setMatchedAddress({ + address: addressObj.dvm, + evmAddress: addressObj.evm, + label: "", + }); + setAddressType(AddressType.WalletAddress); } else { - setAddressType( - fromAddress(address, networkName) !== undefined - ? AddressType.OthersButValid - : undefined - ); + setMatchedAddress(undefined); // Unsaved valid DVM address + if (onlyLocalAddress) { + setAddressType(undefined); + } else if ( + getAddressType(address, networkName) === JellyfishAddressType.ETH + ) { + // Unsaved and valid EVM address + setAddressType(AddressType.OthersButValid); + setValidEvmAddress(true); + } else { + setValidEvmAddress(false); + setAddressType( + fromAddress(address, networkName) !== undefined + ? AddressType.OthersButValid + : undefined, + ); + } } } }, 200); + useEffect(() => { + if (setAddressLabel !== undefined) { + setAddressLabel(displayAddressLabel); + } + }, [displayAddressLabel]); + useEffect(() => { debounceMatchAddress(); }, [address, addressBook]); useEffect(() => { - void fetchWalletAddresses().then((walletAddresses) => - setJellyfishWalletAddresses(walletAddresses) + fetchWalletAddresses().then((walletAddresses) => + setJellyfishWalletAddresses(walletAddresses), ); }, [fetchWalletAddresses]); @@ -215,7 +257,7 @@ export function AddressRow({ > {translate( "screens/SendScreen", - "Invalid address. Make sure the address is correct to avoid irrecoverable losses" + "Invalid address. Make sure the address is correct to avoid irrecoverable losses", )} )} @@ -226,77 +268,115 @@ export function AddressRow({ required: true, validate: { isValidAddress: (address) => - fromAddress(address, networkName) !== undefined && - (!onlyLocalAddress || - jellyfishWalletAddress.includes(address) || - (walletAddress !== undefined && - walletAddress[address] !== undefined)), + // Check if its either a valid EVM/DVM address && + !!getAddressType(address, networkName) && + // EVM -> EVM domain transfer is not allowed + !( + getAddressType(address, networkName) === + JellyfishAddressType.ETH && domain === DomainType.EVM + ), }, }} /> - {addressType !== undefined && ( - - {addressType === AddressType.OthersButValid ? ( - <> - - - {translate("screens/SendScreen", "Verified")} - - - ) : ( - addressType !== undefined && - validLocalAddress && ( - - {addressType === AddressType.WalletAddress && ( - - - - )} - + + {addressType !== undefined && ( + <> + {/* Verified tag for unsaved but verified DVM/EVM address */} + {addressType === AddressType.OthersButValid && ( + <> + - {matchedAddress?.label !== "" - ? matchedAddress?.label - : matchedAddress.address} + {translate("screens/SendScreen", "Verified {{text}}", { + text: validEvmAddress ? "MetaChain (EVM) address" : "", + })} - - ) - )} - - )} + + )} + + {/* Whitelisted and Yours Addresses */} + {addressType !== AddressType.OthersButValid && + validLocalAddress && ( + <> + {/* Checks if selected address is a Whitelisted EVM address */} + {(matchedAddress as WhitelistedAddress)?.addressDomainType === + DomainType.EVM || + // Check if selected address from Your Addresses is EVM address + getAddressType(address, networkName) === + JellyfishAddressType.ETH ? ( + + <> + {addressType === AddressType.WalletAddress && ( + + + + )} + + {displayAddressLabel} + + + + ) : ( + // Whitelisted address - DVM + + {addressType === AddressType.WalletAddress && ( + + + + )} + + {displayAddressLabel} + + + )} + + )} + + )} + ); } diff --git a/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/AddressSelectionButton.test.tsx b/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/AddressSelectionButton.test.tsx index 3b51ccc184..2866c4a36a 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/AddressSelectionButton.test.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/AddressSelectionButton.test.tsx @@ -3,6 +3,7 @@ import { RootState } from "@store"; import { userPreferences } from "@store/userPreferences"; import { render } from "@testing-library/react-native"; import { Provider } from "react-redux"; +import { DomainType } from "@contexts/DomainContext"; import { AddressSelectionButton } from "./AddressSelectionButton"; describe("Address Selection Button", () => { @@ -13,15 +14,15 @@ describe("Address Selection Button", () => { addresses: { foo: { address: "foo", + evmAddress: "", label: "foo", - isMine: true, }, }, addressBook: { bar: { address: "bar", label: "bar", - isMine: false, + addressDomainType: DomainType.DVM, }, }, }, @@ -39,7 +40,7 @@ describe("Address Selection Button", () => { onPress={onPress} hasCount /> - + , ); expect(rendered.toJSON()).toMatchSnapshot(); diff --git a/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/AddressSelectionButtonV2.tsx b/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/AddressSelectionButtonV2.tsx index 6f046c97fa..d81b9d506f 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/AddressSelectionButtonV2.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/AddressSelectionButtonV2.tsx @@ -5,19 +5,55 @@ import { } from "@components/themed"; import { tailwind } from "@tailwind"; import { useAddressLabel } from "@hooks/useAddressLabel"; +import { DomainType, useDomainContext } from "@contexts/DomainContext"; +import { useWalletContext } from "@shared-contexts/WalletContext"; +import { useSelector } from "react-redux"; +import { RootState } from "@store"; +import { useEffect, useState } from "react"; +import { useWalletAddress, WalletAddressI } from "@hooks/useWalletAddress"; +import { useLogger } from "@shared-contexts/NativeLoggingProvider"; import { RandomAvatar } from "./RandomAvatar"; interface AddressSelectionButtonProps { - address: string; - addressLength: number; onPress?: () => void; disabled?: boolean; } export function AddressSelectionButtonV2( - props: AddressSelectionButtonProps + props: AddressSelectionButtonProps, ): JSX.Element { - const addressLabel = useAddressLabel(props.address); + const { domain } = useDomainContext(); + const { address, evmAddress } = useWalletContext(); + const displayAddress = domain === DomainType.EVM ? evmAddress : address; + const activeLabel = useAddressLabel(displayAddress); + const { fetchWalletAddresses } = useWalletAddress(); + + const userPreferences = useSelector( + (state: RootState) => state.userPreferences, + ); + const labeledAddresses = userPreferences.addresses; + const logger = useLogger(); + + const [availableAddresses, setAvailableAddresses] = useState< + WalletAddressI[] + >([]); + + // Getting addresses + const fetchAddresses = async (): Promise => { + const addresses = await fetchWalletAddresses(); + setAvailableAddresses(addresses); + }; + + const activeAddress = availableAddresses.find(({ dvm }) => dvm === address); + const displayAddressLabel = + activeLabel === null + ? activeAddress?.generatedLabel + : labeledAddresses?.[address]?.label; + + useEffect(() => { + fetchAddresses().catch(logger.error); + }, [address]); + return ( - + - {addressLabel != null ? addressLabel : props.address} + {displayAddressLabel} ); diff --git a/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/BottomSheetAddressBook.tsx b/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/BottomSheetAddressBook.tsx deleted file mode 100644 index b96d4ec009..0000000000 --- a/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/BottomSheetAddressBook.tsx +++ /dev/null @@ -1,263 +0,0 @@ -import { View } from "@components"; -import { - ThemedFlatList, - ThemedIcon, - ThemedText, - ThemedTouchableOpacity, - ThemedView, -} from "@components/themed"; -import { translate } from "@translations"; -import React, { memo, useCallback, useMemo, useState } from "react"; -import { Platform, TouchableOpacity } from "react-native"; -import { tailwind } from "@tailwind"; -import { BottomSheetFlatList } from "@gorhom/bottom-sheet"; -import { useNetworkContext, useThemeContext } from "@waveshq/walletkit-ui"; -import { useSelector } from "react-redux"; -import { RootState } from "@store"; -import { - hasTxQueued, - hasOceanTXQueued, -} from "@waveshq/walletkit-ui/dist/store"; -import { NavigationProp, useNavigation } from "@react-navigation/native"; -import { BottomSheetWithNavRouteParam } from "@components/BottomSheetWithNav"; -import { - LabeledAddress, - setAddressBook, - setUserPreferences, -} from "@store/userPreferences"; -import { useAppDispatch } from "@hooks/useAppDispatch"; -import { RandomAvatar } from "./RandomAvatar"; - -interface BottomSheetAddressBookProps { - address: string; - onAddressSelect: (address: string) => void; - onCloseButtonPress: () => void; - navigateToScreen: { - screenName: string; - }; -} - -export const BottomSheetAddressBook = ( - props: BottomSheetAddressBookProps -): React.MemoExoticComponent<() => JSX.Element> => - memo(() => { - const { isLight } = useThemeContext(); - const flatListComponents = { - mobile: BottomSheetFlatList, - web: ThemedFlatList, - }; - const FlatList = - Platform.OS === "web" - ? flatListComponents.web - : flatListComponents.mobile; - const dispatch = useAppDispatch(); - const hasPendingJob = useSelector((state: RootState) => - hasTxQueued(state.transactionQueue) - ); - const hasPendingBroadcastJob = useSelector((state: RootState) => - hasOceanTXQueued(state.ocean) - ); - const [isEditing, setIsEditing] = useState(false); - const navigation = - useNavigation>(); - const { network } = useNetworkContext(); - const userPreferences = useSelector( - (state: RootState) => state.userPreferences - ); - const addressBook = userPreferences.addressBook; - - const addresses = useMemo((): string[] => { - if (addressBook === undefined) { - return []; - } - - return Object.keys(addressBook); - }, [addressBook]); - - const FooterComponent = useMemo(() => { - return ( - { - navigation.navigate({ - name: props.navigateToScreen.screenName, - params: { - title: "Add new address", - isAddressBook: true, - index: addresses.length + 1, - onSaveButtonPress: (labelAddress: LabeledAddress) => { - dispatch(setAddressBook(labelAddress)).then(() => { - const addresses = { ...addressBook, ...labelAddress }; - dispatch( - setUserPreferences({ - network, - preferences: { - ...userPreferences, - addressBook: addresses, - }, - }) - ); - }); - navigation.goBack(); - setIsEditing(false); - }, - }, - merge: true, - }); - }} - testID="add_new_address" - > - - - - - - {translate( - "components/BottomSheetAddressBook", - "ADD NEW ADDRESS" - )} - - - - - ); - }, [addresses, addressBook]); - - const onChangeAddress = (address: string): void => { - if (hasPendingJob || hasPendingBroadcastJob) { - return; - } - props.onAddressSelect(address); - }; - - const HeaderComponent = useMemo(() => { - return ( - - - - {translate("components/BottomSheetAddressBook", "Address book")} - - - - - - - - - - ); - }, [isEditing, addresses]); - - const AddressListItem = useCallback( - // eslint-disable-next-line react/no-unused-prop-types - ({ item, index }: { item: string; index: number }): JSX.Element => { - return ( - { - onChangeAddress(item); - }} - testID={`address_row_${index}`} - disabled={hasPendingJob || hasPendingBroadcastJob} - > - - - - {addressBook?.[item]?.label != null && - addressBook?.[item]?.label !== "" && ( - - {addressBook[item]?.label} - - )} - - {item} - - - - - ); - }, - [isEditing, addressBook] - ); - - return ( - item} - stickyHeaderIndices={[0]} - style={tailwind({ - "bg-gray-800": !isLight, - "bg-white": isLight, - })} - data={addresses} - renderItem={AddressListItem} - ListHeaderComponent={HeaderComponent} - ListFooterComponent={FooterComponent} - /> - ); - }); - -function WalletCounterDisplay({ - addressLength, -}: { - addressLength: number; -}): JSX.Element { - return ( - - {translate( - "components/BottomSheetAddressBook", - "{{length}} ADDRESS(ES)", - { length: addressLength } - )} - - ); -} diff --git a/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/BottomSheetAddressDetail.tsx b/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/BottomSheetAddressDetail.tsx deleted file mode 100644 index b11263efd9..0000000000 --- a/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/BottomSheetAddressDetail.tsx +++ /dev/null @@ -1,498 +0,0 @@ -import { View } from "@components"; -import { - ThemedFlatList, - ThemedIcon, - ThemedText, - ThemedTouchableOpacity, - ThemedView, -} from "@components/themed"; -import { translate } from "@translations"; -import React, { memo, useCallback, useEffect, useState } from "react"; -import { Platform, TouchableOpacity } from "react-native"; -import { tailwind } from "@tailwind"; -import { openURL } from "@api/linking"; -import { useDeFiScanContext } from "@shared-contexts/DeFiScanContext"; -import { IconButton } from "@components/IconButton"; -import { useToast } from "react-native-toast-notifications"; -import { debounce } from "lodash"; -import * as Clipboard from "expo-clipboard"; -import { - MAX_ALLOWED_ADDRESSES, - useWalletContext, -} from "@shared-contexts/WalletContext"; -import { useLogger } from "@shared-contexts/NativeLoggingProvider"; -import { BottomSheetFlatList } from "@gorhom/bottom-sheet"; -import { useThemeContext, useNetworkContext } from "@waveshq/walletkit-ui"; -import { - wallet as walletReducer, - hasTxQueued, - hasOceanTXQueued, -} from "@waveshq/walletkit-ui/dist/store"; -import { useSelector } from "react-redux"; -import { loans } from "@store/loans"; -import { RootState } from "@store"; -import { NavigationProp, useNavigation } from "@react-navigation/native"; -import { BottomSheetWithNavRouteParam } from "@components/BottomSheetWithNav"; -import { - LabeledAddress, - setAddresses, - setUserPreferences, -} from "@store/userPreferences"; -import { useAddressLabel } from "@hooks/useAddressLabel"; -import { useAppDispatch } from "@hooks/useAppDispatch"; -import { useWalletAddress } from "@hooks/useWalletAddress"; -import { AddressListEditButton } from "./AddressListEditButton"; -import { RandomAvatar } from "./RandomAvatar"; - -interface BottomSheetAddressDetailProps { - address: string; - addressLabel: string; - onReceiveButtonPress: () => void; - onTransactionsButtonPress: () => void; - onCloseButtonPress: () => void; - navigateToScreen: { - screenName: string; - }; -} - -export const BottomSheetAddressDetail = ( - props: BottomSheetAddressDetailProps -): React.MemoExoticComponent<() => JSX.Element> => - memo(() => { - const { isLight } = useThemeContext(); - const flatListComponents = { - mobile: BottomSheetFlatList, - web: ThemedFlatList, - }; - const FlatList = - Platform.OS === "web" - ? flatListComponents.web - : flatListComponents.mobile; - const { - addressLength, - setIndex, - wallet, - activeAddressIndex, - discoverWalletAddresses, - } = useWalletContext(); - const toast = useToast(); - const [showToast, setShowToast] = useState(false); - const TOAST_DURATION = 2000; - const [availableAddresses, setAvailableAddresses] = useState([]); - const [canCreateAddress, setCanCreateAddress] = useState(false); - const logger = useLogger(); - const { fetchWalletAddresses } = useWalletAddress(); - const dispatch = useAppDispatch(); - const blockCount = useSelector((state: RootState) => state.block.count); - const hasPendingJob = useSelector((state: RootState) => - hasTxQueued(state.transactionQueue) - ); - const hasPendingBroadcastJob = useSelector((state: RootState) => - hasOceanTXQueued(state.ocean) - ); - const [isEditing, setIsEditing] = useState(false); - const navigation = - useNavigation>(); - const { network } = useNetworkContext(); - const userPreferences = useSelector( - (state: RootState) => state.userPreferences - ); - const labeledAddresses = userPreferences.addresses; - const activeLabel = useAddressLabel(props.address); - - const onActiveAddressPress = useCallback( - debounce(() => { - if (showToast) { - return; - } - setShowToast(true); - setTimeout(() => setShowToast(false), TOAST_DURATION); - }, 500), - [showToast] - ); - - useEffect(() => { - if (showToast) { - Clipboard.setString(props.address); - toast.show(translate("components/toaster", "Copied"), { - type: "wallet_toast", - placement: "top", - duration: TOAST_DURATION, - }); - } else { - toast.hideAll(); - } - }, [showToast, props.address]); - - // Getting addresses - const fetchAddresses = async (): Promise => { - const addresses = await fetchWalletAddresses(); - setAvailableAddresses(addresses); - await isNextAddressUsable(); - }; - - const isNextAddressUsable = async (): Promise => { - // incremented 1 to check if next account in the wallet is usable. - const next = addressLength + 1; - const isUsable = await wallet.isUsable(next); - setCanCreateAddress(isUsable && MAX_ALLOWED_ADDRESSES > next); - }; - - useEffect(() => { - fetchAddresses().catch(logger.error); - }, [wallet, addressLength]); - - useEffect(() => { - isNextAddressUsable().catch(logger.error); - }, [blockCount]); - - const CreateAddress = useCallback(() => { - if (!canCreateAddress || isEditing) { - return <>; - } - - return ( - { - await onChangeAddress(addressLength + 1); - }} - testID="create_new_address" - > - - - - - - {translate( - "components/BottomSheetAddressDetail", - "CREATE WALLET ADDRESS" - )} - - - - - ); - }, [canCreateAddress, addressLength, isEditing]); - - const onChangeAddress = async (index: number): Promise => { - if ( - hasPendingJob || - hasPendingBroadcastJob || - index === activeAddressIndex - ) { - return; - } - - dispatch(walletReducer.actions.setHasFetchedToken(false)); - dispatch(loans.actions.setHasFetchedVaultsData(false)); - await setIndex(index); - props.onCloseButtonPress(); - }; - - const AddressListItem = useCallback( - // eslint-disable-next-line react/no-unused-prop-types - ({ item, index }: { item: string; index: number }): JSX.Element => { - return ( - { - if (isEditing) { - navigation.navigate({ - name: props.navigateToScreen.screenName, - params: { - title: "Edit address label", - isAddressBook: false, - address: item, - addressLabel: - labeledAddresses != null ? labeledAddresses[item] : "", - index: index + 1, - type: "edit", - onSaveButtonPress: (labelAddress: LabeledAddress) => { - const addresses = { - ...labeledAddresses, - ...labelAddress, - }; - dispatch(setAddresses(addresses)).then(() => { - dispatch( - setUserPreferences({ - network, - preferences: { - ...userPreferences, - addresses, - }, - }) - ); - }); - navigation.goBack(); - setIsEditing(false); - }, - }, - merge: true, - }); - } else { - await onChangeAddress(index); - } - }} - testID={`address_row_${index}`} - disabled={hasPendingJob || hasPendingBroadcastJob} - > - - - - {labeledAddresses?.[item]?.label != null && - labeledAddresses?.[item]?.label !== "" && ( - - {labeledAddresses[item]?.label} - - )} - - {item} - - - {isEditing ? ( - - ) : item === props.address ? ( - - ) : ( - - )} - - - ); - }, - [isEditing, labeledAddresses] - ); - - const AddressDetail = useCallback(() => { - return ( - - - - - - - - {activeLabel != null && ( - - - {activeLabel} - - - )} - - - - - - - - setIsEditing(!isEditing)} - /> - - - ); - }, [props, addressLength, isEditing, activeLabel]); - - return ( - item} - stickyHeaderIndices={[0]} - style={tailwind({ - "bg-gray-800": !isLight, - "bg-white": isLight, - })} - data={availableAddresses} - renderItem={AddressListItem} - ListHeaderComponent={AddressDetail} - ListFooterComponent={CreateAddress} - /> - ); - }); - -function ActiveAddress({ - address, - onPress, -}: { - address: string; - onPress: () => void; -}): JSX.Element { - const { getAddressUrl } = useDeFiScanContext(); - return ( - - - - {address} - - - await openURL(getAddressUrl(address))} - style={tailwind("mb-2 ml-1 bg-transparent")} - > - - - - ); -} - -function AddressDetailAction({ - onReceivePress, - onTransactionsButtonPress, -}: { - onReceivePress: () => void; - onTransactionsButtonPress: () => void; -}): JSX.Element { - return ( - - - - - ); -} - -function WalletCounterDisplay({ - addressLength, -}: { - addressLength: number; -}): JSX.Element { - return ( - - {translate( - "components/BottomSheetAddressDetail", - "{{length}} ADDRESS(ES)", - { length: addressLength + 1 } - )} - - ); -} - -function DiscoverWalletAddress({ - onPress, -}: { - onPress: () => void; -}): JSX.Element { - return ( - - - - ); -} diff --git a/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/BottomSheetAddressDetailV2.tsx b/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/BottomSheetAddressDetailV2.tsx index 3ba77913dd..3f9e33f474 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/BottomSheetAddressDetailV2.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/BottomSheetAddressDetailV2.tsx @@ -20,11 +20,11 @@ import { } from "@shared-contexts/WalletContext"; import { useLogger } from "@shared-contexts/NativeLoggingProvider"; import { BottomSheetFlatList } from "@gorhom/bottom-sheet"; -import { useThemeContext, useNetworkContext } from "@waveshq/walletkit-ui"; +import { useNetworkContext, useThemeContext } from "@waveshq/walletkit-ui"; import { - wallet as walletReducer, - hasTxQueued, hasOceanTXQueued, + hasTxQueued, + wallet as walletReducer, } from "@waveshq/walletkit-ui/dist/store"; import { useSelector } from "react-redux"; import { loans } from "@store/loans"; @@ -36,11 +36,12 @@ import { setAddresses, setUserPreferences, } from "@store/userPreferences"; -import { useAddressLabel } from "@hooks/useAddressLabel"; import { useAppDispatch } from "@hooks/useAppDispatch"; import { openURL } from "@api/linking"; import { ThemedFlatListV2 } from "@components/themed/ThemedFlatListV2"; -import { useWalletAddress } from "@hooks/useWalletAddress"; +import { useWalletAddress, WalletAddressI } from "@hooks/useWalletAddress"; +import { DomainType, useDomainContext } from "@contexts/DomainContext"; +import { useAddressLabel } from "@hooks/useAddressLabel"; import { RandomAvatar } from "./RandomAvatar"; interface BottomSheetAddressDetailProps { @@ -56,7 +57,7 @@ interface BottomSheetAddressDetailProps { } export const BottomSheetAddressDetailV2 = ( - props: BottomSheetAddressDetailProps + props: BottomSheetAddressDetailProps, ): React.MemoExoticComponent<() => JSX.Element> => memo(() => { const { isLight } = useThemeContext(); @@ -78,42 +79,45 @@ export const BottomSheetAddressDetailV2 = ( const toast = useToast(); const [showToast, setShowToast] = useState(false); const TOAST_DURATION = 2000; - const [availableAddresses, setAvailableAddresses] = useState([]); + const [availableAddresses, setAvailableAddresses] = useState< + WalletAddressI[] + >([]); const [canCreateAddress, setCanCreateAddress] = useState(false); const { fetchWalletAddresses } = useWalletAddress(); const logger = useLogger(); const dispatch = useAppDispatch(); + const { domain } = useDomainContext(); const blockCount = useSelector((state: RootState) => state.block.count); const hasPendingJob = useSelector((state: RootState) => - hasTxQueued(state.transactionQueue) + hasTxQueued(state.transactionQueue), ); const hasPendingBroadcastJob = useSelector((state: RootState) => - hasOceanTXQueued(state.ocean) + hasOceanTXQueued(state.ocean), ); const navigation = useNavigation>(); const { network } = useNetworkContext(); const userPreferences = useSelector( - (state: RootState) => state.userPreferences + (state: RootState) => state.userPreferences, ); const labeledAddresses = userPreferences.addresses; const activeLabel = useAddressLabel(props.address); const { getAddressUrl } = useDeFiScanContext(); const onActiveAddressPress = useCallback( - debounce(() => { + debounce((addressToCopy: string) => { if (showToast) { return; } + Clipboard.setString(addressToCopy); setShowToast(true); setTimeout(() => setShowToast(false), TOAST_DURATION); }, 500), - [showToast] + [showToast], ); useEffect(() => { if (showToast) { - Clipboard.setString(props.address); toast.show(translate("components/toaster", "Address copied"), { type: "wallet_toast", placement: "top", @@ -122,7 +126,7 @@ export const BottomSheetAddressDetailV2 = ( } else { toast.hideAll(); } - }, [showToast, props.address]); + }, [showToast]); // Getting addresses const fetchAddresses = async (): Promise => { @@ -164,7 +168,7 @@ export const BottomSheetAddressDetailV2 = ( > {translate( "components/BottomSheetAddressDetail", - "Create wallet address" + "Create wallet address", )} @@ -179,7 +183,6 @@ export const BottomSheetAddressDetailV2 = ( ) { return; } - dispatch(walletReducer.actions.setHasFetchedToken(false)); dispatch(loans.actions.setHasFetchedVaultsData(false)); await setIndex(index); @@ -188,18 +191,27 @@ export const BottomSheetAddressDetailV2 = ( }; const AddressListItem = useCallback( - // eslint-disable-next-line react/no-unused-prop-types - ({ item, index }: { item: string; index: number }): JSX.Element => { - const isSelected = item === props.address; - const hasLabel = - labeledAddresses?.[item]?.label != null && - labeledAddresses?.[item]?.label !== ""; + ({ + item, + index, + }: { + // eslint-disable-next-line react/no-unused-prop-types + item: WalletAddressI; + // eslint-disable-next-line react/no-unused-prop-types + index: number; + }): JSX.Element => { + const isSelected = item.dvm === props.address; + const displayAddress = domain === DomainType.EVM ? item.evm : item.dvm; + + // if no existing address label, then display label from generatedAddress key + const displayAddressLabel = + labeledAddresses?.[item.dvm]?.label ?? item.generatedLabel; return ( - + - {hasLabel && ( - - - {labeledAddresses[item]?.label} - - {isSelected && ( - - )} - - )} - {isSelected && !hasLabel && ( + + {displayAddressLabel} + + {isSelected && ( )} + + await openURL(getAddressUrl(item))} + onPress={async () => + await openURL(getAddressUrl(displayAddress)) + } disabled={!isSelected} style={tailwind( - "border-0 flex flex-1 flex-row items-center" + "border-0 flex flex-1 flex-row items-center", )} > - {item} + {displayAddress} {isSelected && ( { @@ -306,7 +308,7 @@ export const BottomSheetAddressDetailV2 = ( ...userPreferences, addresses, }, - }) + }), ); }); navigation.goBack(); @@ -315,7 +317,7 @@ export const BottomSheetAddressDetailV2 = ( merge: true, }); }} - testID={`address_edit_indicator_${item}`} + testID={`address_edit_indicator_${displayAddress}`} > ); }, - [labeledAddresses] + [labeledAddresses, domain], ); const AddressDetailHeader = useCallback(() => { + const activeAddress = availableAddresses.find( + ({ dvm }) => dvm === props.address, + ); + const displayAddressLabel = + activeLabel === null + ? activeAddress?.generatedLabel + : labeledAddresses?.[props.address]?.label; + + const activeDomainAddress = + domain === DomainType.DVM ? activeAddress?.dvm : activeAddress?.evm; return ( - {activeLabel != null && ( - - - {activeLabel} - - - )} + + + {displayAddressLabel} + + onActiveAddressPress(activeDomainAddress ?? "")} /> @@ -364,11 +375,11 @@ export const BottomSheetAddressDetailV2 = ( ); - }, [props, addressLength, activeLabel]); + }, [props, addressLength, activeLabel, domain, availableAddresses]); return ( item} + keyExtractor={(item) => item.dvm} stickyHeaderIndices={[0]} style={tailwind({ "bg-mono-dark-v2-100": !isLight, diff --git a/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/CreateOrEditAddressLabelForm.tsx b/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/CreateOrEditAddressLabelForm.tsx index 6f0f5b1f46..f2251c5e41 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/CreateOrEditAddressLabelForm.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/CreateOrEditAddressLabelForm.tsx @@ -1,36 +1,23 @@ -import { memo, useCallback, useEffect, useState } from "react"; +import { memo, useEffect, useState } from "react"; import { StackScreenProps } from "@react-navigation/stack"; import { BottomSheetWithNavRouteParam } from "@components/BottomSheetWithNav"; -import { - ThemedScrollViewV2, - ThemedText, - ThemedTextV2, -} from "@components/themed"; +import { ThemedScrollViewV2, ThemedTextV2 } from "@components/themed"; import { BottomSheetScrollView } from "@gorhom/bottom-sheet"; import { Platform, View } from "react-native"; import { tailwind } from "@tailwind"; import { translate } from "@translations"; -import { WalletTextInput } from "@components/WalletTextInput"; import { LabeledAddress, LocalAddress } from "@store/userPreferences"; -import { fromAddress } from "@defichain/jellyfish-address"; -import { - useNetworkContext, - useThemeContext, - useWalletNodeContext, -} from "@waveshq/walletkit-ui"; -import { useSelector } from "react-redux"; -import { RootState } from "@store"; -import { authentication, Authentication } from "@store/authentication"; -import { MnemonicStorage } from "@api/wallet/mnemonic_storage"; -import { useLogger } from "@shared-contexts/NativeLoggingProvider"; -import { useAppDispatch } from "@hooks/useAppDispatch"; +import { useThemeContext } from "@waveshq/walletkit-ui"; import { WalletTextInputV2 } from "@components/WalletTextInputV2"; import { SubmitButtonGroup } from "@components/SubmitButtonGroup"; +import { useWalletAddress, WalletAddressI } from "@hooks/useWalletAddress"; +import { useSelector } from "react-redux"; +import { RootState } from "@store"; +import { DomainType, useDomainContext } from "@contexts/DomainContext"; import { RandomAvatar } from "./RandomAvatar"; export interface CreateOrEditAddressLabelFormProps { title: string; - isAddressBook: boolean; address?: string; addressLabel?: LocalAddress; onSaveButtonPress: (labelAddress: LabeledAddress) => void; @@ -43,12 +30,15 @@ type Props = StackScreenProps< export const CreateOrEditAddressLabelForm = memo( ({ route, navigation }: Props): JSX.Element => { - // const { isLight } = useThemeContext() - const { title, isAddressBook, address, addressLabel, onSaveButtonPress } = - route.params; + const { title, address, addressLabel, onSaveButtonPress } = route.params; const { isLight } = useThemeContext(); + const { domain } = useDomainContext(); + const [walletAddress, setWalletAddress] = useState([]); + const { fetchWalletAddresses } = useWalletAddress(); + const walletAddressFromStore = useSelector( + (state: RootState) => state.userPreferences.addresses, + ); const [labelInput, setLabelInput] = useState(addressLabel?.label); - const [addressInput, setAddressInput] = useState(); const bottomSheetComponents = { mobile: BottomSheetScrollView, web: ThemedScrollViewV2, @@ -57,15 +47,15 @@ export const CreateOrEditAddressLabelForm = memo( Platform.OS === "web" ? bottomSheetComponents.web : bottomSheetComponents.mobile; - const { networkName } = useNetworkContext(); - const addressBook = useSelector( - (state: RootState) => state.userPreferences.addressBook - ); const [labelInputErrorMessage, setLabelInputErrorMessage] = useState(""); - const [addressInputErrorMessage, setAddressInputErrorMessage] = - useState(""); const [labelInputLength, setLabelInputLength] = useState(0); + useEffect(() => { + fetchWalletAddresses().then((walletAddresses) => { + setWalletAddress(walletAddresses); + }); + }, [fetchWalletAddresses]); + useEffect(() => { if (labelInput !== undefined) { setLabelInputLength(labelInput.trim().length); @@ -73,47 +63,45 @@ export const CreateOrEditAddressLabelForm = memo( }, [labelInput]); const validateLabelInput = (input: string): boolean => { - if (input !== undefined) { + const trimmedInput = input.trim(); + if (trimmedInput !== undefined) { if (input.trim().length > 40) { setLabelInputErrorMessage("Invalid label. Maximum of 40 characters."); return false; } - if (isAddressBook && input.trim() === "") { - setLabelInputErrorMessage("Please enter an address label"); + if (trimmedInput === "") { + setLabelInputErrorMessage("Label cannot be empty."); return false; } - } - setLabelInputErrorMessage(""); - return true; - }; + // check if label exists in address book + if ( + walletAddress.some( + (item) => + item.generatedLabel === trimmedInput && item.dvm !== address, + ) + ) { + setLabelInputErrorMessage("Use a unique wallet label."); + return false; + } - const validateAddressInput = (input: string): boolean => { - const decodedAddress = fromAddress(input, networkName); - if (decodedAddress === undefined) { - setAddressInputErrorMessage("Please enter a valid address"); - return false; - } - if (addressBook?.[input.trim()] !== undefined) { - setAddressInputErrorMessage( - "This address already exists in your address book, please enter a different address" - ); - return false; + // Check walletAddressFromStore object + if ( + Object.values(walletAddressFromStore).some( + (item) => item.label === trimmedInput && item.address !== address, + ) + ) { + setLabelInputErrorMessage("Use a unique wallet label"); + return false; + } } - setAddressInputErrorMessage(""); - return true; - }; - const handleSubmit = async (): Promise => { - if (!isAddressBook) { - handleEditSubmit(); - } else { - handleCreateSubmit(); - } + setLabelInputErrorMessage(""); + return true; }; - const handleEditSubmit = (): void => { + const handleEditSubmit = async (): Promise => { if ( labelInput === undefined || address === undefined || @@ -123,69 +111,32 @@ export const CreateOrEditAddressLabelForm = memo( } onSaveButtonPress({ [address]: { - address, + address: address, + evmAddress: getEVMAddress(address), label: labelInput.trim(), - isMine: true, }, }); }; - // Passcode prompt on create - const dispatch = useAppDispatch(); - const { - data: { type: encryptionType }, - } = useWalletNodeContext(); - const isEncrypted = encryptionType === "MNEMONIC_ENCRYPTED"; - const logger = useLogger(); - const handleCreateSubmit = useCallback(() => { - if ( - !isEncrypted || - addressInput === undefined || - labelInput === undefined || - !validateLabelInput(labelInput) || - !validateAddressInput(addressInput) - ) { - return; + const getEVMAddress = (address: string) => { + const storedWalletAddress = walletAddressFromStore[ + address + ] as LocalAddress; + if (storedWalletAddress && storedWalletAddress.evmAddress) { + return storedWalletAddress.evmAddress; } - - const auth: Authentication = { - consume: async (passphrase) => await MnemonicStorage.get(passphrase), - onAuthenticated: async () => { - onSaveButtonPress({ - [addressInput]: { - address: addressInput, - label: labelInput.trim(), - isMine: false, - }, - }); - }, - onError: (e) => logger.error(e), - message: translate("screens/Settings", "Enter passcode to continue"), - loading: translate("screens/Settings", "Verifying access"), - }; - dispatch(authentication.actions.prompt(auth)); - }, [dispatch, isEncrypted, addressInput, labelInput, onSaveButtonPress]); + // to support backward compatibility for already saved address + const addressObj = walletAddress.find((a) => a.dvm === address); + return addressObj?.evm ?? ""; + }; const isSaveDisabled = (): boolean => { - if ( - isAddressBook && - (addressInput === undefined || - labelInput === undefined || - labelInputErrorMessage !== "" || - addressInputErrorMessage !== "") - ) { - return true; - } - if ( - !isAddressBook && - (labelInput === undefined || - labelInput === addressLabel?.label || - labelInputErrorMessage !== "") - ) { - return true; - } - - return false; + return ( + labelInput === undefined || + labelInput === "" || + labelInput === addressLabel?.label || + labelInputErrorMessage !== "" + ); }; return ( @@ -205,7 +156,12 @@ export const CreateOrEditAddressLabelForm = memo( {translate("components/CreateOrEditAddressLabelForm", title)} - {address !== undefined && } + {address !== undefined && ( + + )} { setLabelInput(""); - if (isAddressBook) { - validateLabelInput(""); - } else { - setLabelInputErrorMessage(""); - } + setLabelInputErrorMessage(""); }} placeholder={translate( "components/CreateOrEditAddressLabelForm", - "Enter label" + "Enter label", )} style={tailwind("h-9 w-6/12 flex-grow")} hasBottomSheet @@ -241,7 +193,7 @@ export const CreateOrEditAddressLabelForm = memo( type: "error", text: translate( "components/CreateOrEditAddressLabelForm", - labelInputErrorMessage + labelInputErrorMessage, ), }} testID="address_book_label_input" @@ -255,105 +207,48 @@ export const CreateOrEditAddressLabelForm = memo( {translate( "components/CreateOrEditAddressLabelForm", "{{length}}/40 characters", - { length: labelInputLength.toString() } + { length: labelInputLength.toString() }, )} )} - {isAddressBook && ( - <> - - {translate("components/CreateOrEditAddressLabelForm", "ADDRESS")} - - - - )} - navigation.goBack()} - onSubmit={handleSubmit} + onSubmit={handleEditSubmit} displayCancelBtn title="save_address_label" /> ); - } + }, ); -function AddressDisplay({ address }: { address: string }): JSX.Element { +function AddressDisplay({ + address, + label, +}: { + address: string; + label: string; +}): JSX.Element { return ( - {address} + {label} ); } - -function AddressInput({ - addressInput, - setAddressInput, - validateAddressInput, - addressInputErrorMessage, -}: { - addressInput?: string; - setAddressInput: (val?: string) => void; - validateAddressInput: (val: string) => boolean; - addressInputErrorMessage: string; -}): JSX.Element { - return ( - { - setAddressInput(text); - validateAddressInput(text); - }} - onClearButtonPress={() => { - setAddressInput(""); - validateAddressInput(""); - }} - placeholder={translate( - "components/CreateOrEditAddressLabelForm", - "Enter address" - )} - style={tailwind("w-6/12 flex-grow")} - hasBottomSheet - valid={addressInputErrorMessage === ""} - inlineText={{ - type: "error", - text: translate( - "components/CreateOrEditAddressLabelForm", - addressInputErrorMessage - ), - }} - testID="address_book_address_input" - /> - ); -} diff --git a/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/DFIBalanceCard.test.tsx b/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/DFIBalanceCard.test.tsx index 16a9fa3908..5c5f11e026 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/DFIBalanceCard.test.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/DFIBalanceCard.test.tsx @@ -6,9 +6,14 @@ import { configureStore } from "@reduxjs/toolkit"; import { block } from "@waveshq/walletkit-ui/dist/store/block"; import { loans } from "@store/loans"; import { LoanVaultState } from "@defichain/whale-api-client/dist/api/loan"; +import { evm } from "@store/evm"; import { DFIBalanceCard } from "./DFIBalanceCard"; jest.mock("../../../../../contexts/DisplayBalancesContext"); +jest.mock("@contexts/DomainContext"); +jest.mock("@contexts/EVMProvider"); +jest.mock("@contexts/CustomServiceProvider"); + jest.mock("@react-navigation/native", () => ({ useNavigation: jest.fn(), useIsFocused: jest.fn(), @@ -108,6 +113,11 @@ describe("DFI Balance Card", () => { loanSchemes: [], loanTokens: [], }, + evm: { + evmWalletDetails: null, + evmTokenBalances: [], + hasFetchedEvmTokens: true, + }, }; const store = configureStore({ preloadedState: initialState, @@ -115,6 +125,7 @@ describe("DFI Balance Card", () => { wallet: wallet.reducer, block: block.reducer, loans: loans.reducer, + evm: evm.reducer, }, }); const component = ( diff --git a/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/DFIBalanceCard.tsx b/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/DFIBalanceCard.tsx index 237a6cc514..fa9f9b331d 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/DFIBalanceCard.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/DFIBalanceCard.tsx @@ -16,8 +16,10 @@ import { useTokenPrice } from "@screens/AppNavigator/screens/Portfolio/hooks/Tok import { TextSkeletonLoaderV2 } from "@components/TextSkeletonLoaderV2"; import BigNumber from "bignumber.js"; import { translate } from "@translations"; +import { useDomainContext, DomainType } from "@contexts/DomainContext"; import { TokenNameText } from "./TokenNameText"; import { TokenAmountText } from "./TokenAmountText"; +import { useEvmTokenBalances } from "../hooks/EvmTokenBalances"; interface DFIBalaceCardProps { denominationCurrency: string; @@ -26,25 +28,37 @@ interface DFIBalaceCardProps { export function DFIBalanceCard({ denominationCurrency, }: DFIBalaceCardProps): JSX.Element { + const { domain } = useDomainContext(); + const { evmTokens } = useEvmTokenBalances(); + const evmDFIToken = evmTokens.find(({ id }) => id === "0_evm"); const navigation = useNavigation>(); const DFIToken = useSelector((state: RootState) => - DFITokenSelector(state.wallet) + DFITokenSelector(state.wallet), ); const DFIUtxo = useSelector((state: RootState) => - DFIUtxoSelector(state.wallet) + DFIUtxoSelector(state.wallet), ); const DFIUnified = useSelector((state: RootState) => - unifiedDFISelector(state.wallet) + unifiedDFISelector(state.wallet), ); const { hasFetchedToken } = useSelector((state: RootState) => state.wallet); + const { hasFetchedEvmTokens } = useSelector((state: RootState) => state.evm); const { getTokenPrice } = useTokenPrice(denominationCurrency); // input based on selected denomination from portfolio tab + const isEvmDomain = domain === DomainType.EVM; + const tokenAmount = isEvmDomain + ? new BigNumber(evmDFIToken?.amount ?? 0) + : new BigNumber(DFIUnified.amount ?? 0); const usdAmount = getTokenPrice( DFIUnified.symbol, - new BigNumber(DFIUnified.amount), - DFIUnified.isLPS + tokenAmount, + DFIUnified.isLPS, ); const DFIIcon = getNativeIcon("_UTXO"); + const EvmDFIIcon = getNativeIcon("EvmDFI"); + const isPositiveBalance = isEvmDomain + ? new BigNumber(evmDFIToken?.amount ?? 0).gt(0) + : new BigNumber(DFIUtxo.amount ?? 0).plus(DFIToken.amount ?? 0).gt(0); return ( @@ -55,20 +69,33 @@ export function DFIBalanceCard({ onPress={() => navigation.navigate({ name: "TokenDetailScreen", - params: { token: DFIUnified, usdAmount }, + params: { + token: { + ...DFIUnified, + amount: tokenAmount, + usdAmount, + ...(isEvmDomain && { + name: `${DFIUnified.name} for EVM`, + displaySymbol: "DFI", + id: "0_evm", + }), + }, + }, merge: true, }) } activeOpacity={0.7} - disabled={ - !new BigNumber(DFIUtxo.amount ?? 0).plus(DFIToken.amount ?? 0).gt(0) - } + disabled={!isPositiveBalance} > - + {!isEvmDomain ? ( + + ) : ( + + )} @@ -77,9 +104,9 @@ export function DFIBalanceCard({ "pt-0.5": Platform.OS === "android", })} > - {hasFetchedToken ? ( + {hasFetchedToken || (isEvmDomain && hasFetchedEvmTokens) ? ( - {hasFetchedToken && - !new BigNumber(DFIUtxo.amount ?? 0) - .plus(DFIToken.amount ?? 0) - .gt(0) && } + {hasFetchedToken && !isPositiveBalance && !isEvmDomain && } ); @@ -148,7 +172,7 @@ function GetDFIBtn(): JSX.Element { > {translate("screens/GetDFIScreen", "Get DFI now!")} diff --git a/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/PortfolioCard.tsx b/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/PortfolioCard.tsx index b3dfd59892..85aabe9a43 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/PortfolioCard.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/PortfolioCard.tsx @@ -6,6 +6,7 @@ import { RootState } from "@store"; import { useSelector } from "react-redux"; import { Platform } from "react-native"; import { translate } from "@translations"; +import { useDomainContext, DomainType } from "@contexts/DomainContext"; import { PortfolioParamList } from "../PortfolioNavigator"; import { PortfolioRowToken } from "../PortfolioScreen"; import { EmptyTokensScreen } from "./EmptyTokensScreen"; @@ -17,6 +18,7 @@ import { EmptyCryptoIcon } from "../assets/EmptyCryptoIcon"; import { EmptyLPTokenIcon } from "../assets/EmptyLPTokenIcon"; import { EmptyDTokenIcon } from "../assets/EmptyDTokenIcon"; import { EmptyPortfolioIcon } from "../assets/EmptyPortfolioIcon"; +import { EmptyEvmPortfolioIcon } from "../assets/EmptyEvmPortfolioIcon"; interface PortfolioCardProps { isZeroBalance: boolean; @@ -28,6 +30,7 @@ interface PortfolioCardProps { setActiveButtonGroup: (key: ButtonGroupTabKey) => void; }; denominationCurrency: string; + isEvmDomain: boolean; } export function PortfolioCard({ @@ -36,12 +39,16 @@ export function PortfolioCard({ navigation, buttonGroupOptions, denominationCurrency, + isEvmDomain, }: PortfolioCardProps): JSX.Element { const { hasFetchedToken } = useSelector((state: RootState) => state.wallet); - + const { domain } = useDomainContext(); // return empty portfolio if no DFI and other tokens if (isZeroBalance) { - const screenDetails = getEmptyScreenDetails(ButtonGroupTabKey.AllTokens); + const screenDetails = getEmptyScreenDetails( + ButtonGroupTabKey.AllTokens, + domain, + ); return ; } @@ -52,7 +59,8 @@ export function PortfolioCard({ buttonGroupOptions?.activeButtonGroup !== "ALL_TOKENS" ) { const screenDetails = getEmptyScreenDetails( - buttonGroupOptions?.activeButtonGroup + buttonGroupOptions?.activeButtonGroup, + domain, ); return ; } @@ -65,12 +73,16 @@ export function PortfolioCard({ onPress={() => navigation.navigate({ name: "TokenDetailScreen", - params: { token: item, usdAmount: item.usdAmount }, + params: { + token: item, + usdAmount: item.usdAmount, + }, merge: true, }) } token={item} denominationCurrency={denominationCurrency} + isEvmDomain={isEvmDomain} /> ))} @@ -81,10 +93,12 @@ function PortfolioItemRow({ token, onPress, denominationCurrency, + isEvmDomain, }: { token: PortfolioRowToken; onPress: () => void; denominationCurrency: string; + isEvmDomain?: boolean; }): JSX.Element { const testID = `portfolio_row_${token.id}`; @@ -98,7 +112,12 @@ function PortfolioItemRow({ > - + JSX.Element; title: string; subtitle: string; @@ -134,7 +156,7 @@ function getEmptyScreenDetails(type?: ButtonGroupTabKey): { title: translate("components/EmptyPortfolio", "No crypto found"), subtitle: translate( "components/EmptyPortfolio", - "Add crypto to get started" + "Add crypto to get started", ), }; case ButtonGroupTabKey.LPTokens: @@ -143,7 +165,7 @@ function getEmptyScreenDetails(type?: ButtonGroupTabKey): { title: translate("components/EmptyPortfolio", "No LP tokens found"), subtitle: translate( "components/EmptyPortfolio", - "Add liquidity to get started" + "Add liquidity to get started", ), }; case ButtonGroupTabKey.dTokens: @@ -152,18 +174,27 @@ function getEmptyScreenDetails(type?: ButtonGroupTabKey): { title: translate("components/EmptyPortfolio", "No dTokens found"), subtitle: translate( "components/EmptyPortfolio", - "Mint dTokens to get started" + "Mint dTokens to get started", ), }; case ButtonGroupTabKey.AllTokens: default: return { - icon: EmptyPortfolioIcon, + icon: + domain === DomainType.DVM + ? EmptyPortfolioIcon + : EmptyEvmPortfolioIcon, title: translate("components/EmptyPortfolio", "Empty portfolio"), - subtitle: translate( - "components/EmptyPortfolio", - "Add DFI and other tokens to get started" - ), + subtitle: + domain === DomainType.DVM + ? translate( + "components/EmptyPortfolio", + "Add DFI and other tokens to get started", + ) + : translate( + "components/EmptyPortfolio", + "Add to your balance by converting DFI to the EVM layer", + ), }; } } diff --git a/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/TokenBreakdownDetailsV2.tsx b/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/TokenBreakdownDetailsV2.tsx index 84c7882388..7534d70bdd 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/TokenBreakdownDetailsV2.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/TokenBreakdownDetailsV2.tsx @@ -34,7 +34,7 @@ interface TokenBreakdownDetailProps { } export function TokenBreakdownDetailsV2( - props: TokenBreakdownDetailProps + props: TokenBreakdownDetailProps, ): JSX.Element { const { denominationCurrency } = useDenominationCurrency(); const lockedToken = (useTokenLockedBalance({ @@ -46,17 +46,17 @@ export function TokenBreakdownDetailsV2( }; const loanTokens = useSelector((state: RootState) => state.loans.loanTokens); const collateralTokens = useSelector( - (state: RootState) => state.loans.collateralTokens + (state: RootState) => state.loans.collateralTokens, ); const hasLockedBalance = useMemo((): boolean => { return ( collateralTokens.some( (collateralToken) => - collateralToken.token.displaySymbol === props.token.displaySymbol + collateralToken.token.displaySymbol === props.token.displaySymbol, ) || loanTokens.some( (loanToken) => - loanToken.token.displaySymbol === props.token.displaySymbol + loanToken.token.displaySymbol === props.token.displaySymbol, ) ); }, [props.token]); @@ -65,7 +65,7 @@ export function TokenBreakdownDetailsV2( // LP token calculations const { poolpairs: pairs } = useSelector((state: RootState) => state.wallet); const poolPairData = pairs.find( - (pr) => pr.data.symbol === (props.token as AddressToken).symbol + (pr) => pr.data.symbol === (props.token as AddressToken).symbol, ); const mappedPair = poolPairData?.data; const toRemove = new BigNumber(1) @@ -81,7 +81,7 @@ export function TokenBreakdownDetailsV2( const getUSDValue = ( amount: BigNumber, symbol: string, - isLPs: boolean = false + isLPs: boolean = false, ): BigNumber => { return getTokenPrice(symbol, amount, isLPs); }; @@ -166,6 +166,7 @@ export function TokenBreakdownDetailsV2( {/* To display options for DFI UTXO and Token */} {props.token.displaySymbol === "DFI" && + props.token.id !== "0_evm" && props.dfiUtxo !== undefined && props.dfiToken !== undefined && ( @@ -211,8 +212,8 @@ export function TokenBreakdownDetailsV2( getTokenPrice( props.token.symbol, new BigNumber(props.token.amount), - true - ) + true, + ), )} label="" hasFetchedToken={props.hasFetchedToken} @@ -233,7 +234,7 @@ export function TokenBreakdownDetailsV2( label={translate( "components/DFIBalanceCard", "Tokens in {{token}}", - { token: props.pair.tokenA.displaySymbol } + { token: props.pair.tokenA.displaySymbol }, )} hasFetchedToken={props.hasFetchedToken} /> @@ -242,8 +243,8 @@ export function TokenBreakdownDetailsV2( amount={getPrecisedCurrencyValue( getUSDValue( new BigNumber(tokenATotal), - props.pair.tokenA.symbol - ) + props.pair.tokenA.symbol, + ), )} label="" hasFetchedToken={props.hasFetchedToken} @@ -263,14 +264,14 @@ export function TokenBreakdownDetailsV2( label={translate( "components/DFIBalanceCard", "Tokens in {{token}}", - { token: props.pair.tokenB.displaySymbol } + { token: props.pair.tokenB.displaySymbol }, )} hasFetchedToken={props.hasFetchedToken} /> ; + isEvmToken?: boolean; } export function TokenIcon(props: TokenIconProps): JSX.Element { - const { token, testID, size, iconBStyle } = props; + const { token, testID, size, iconBStyle, isEvmToken } = props; if (token.isLPS === true) { const [tokenA, tokenB] = token.displaySymbol.split("-"); return ( @@ -26,6 +29,14 @@ export function TokenIcon(props: TokenIconProps): JSX.Element { /> ); } - const Icon = getNativeIcon(token.displaySymbol); - return ; + const Icon = + token.id === "0_evm" + ? getNativeIcon("DFI (EVM)") + : getNativeIcon(token.displaySymbol); + const evmIconSize = isEvmToken ? size - 4 : size; + return ( + + + + ); } diff --git a/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/TotalPortfolio.test.tsx b/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/TotalPortfolio.test.tsx index 65759c0cbd..b3c2b5b11d 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/TotalPortfolio.test.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/TotalPortfolio.test.tsx @@ -9,6 +9,7 @@ import { loans } from "@store/loans"; import { PortfolioButtonGroupTabKey, TotalPortfolio } from "./TotalPortfolio"; jest.mock("@contexts/DisplayBalancesContext"); +jest.mock("@contexts/DomainContext"); describe("DFI Total Portfolio Card", () => { it("should match snapshot", async () => { diff --git a/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/TotalPortfolio.tsx b/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/TotalPortfolio.tsx index a54d54e673..9b630bef2a 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/TotalPortfolio.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/TotalPortfolio.tsx @@ -10,6 +10,7 @@ import { useSelector } from "react-redux"; import { Platform, TouchableOpacity } from "react-native"; import { useEffect, useState } from "react"; import { TextSkeletonLoaderV2 } from "@components/TextSkeletonLoaderV2"; +import { useDomainContext, DomainType } from "@contexts/DomainContext"; import { getPrecisedCurrencyValue, getPrecisedTokenValue, @@ -43,22 +44,26 @@ interface PortfolioButtonGroup { export function TotalPortfolio(props: TotalPortfolioProps): JSX.Element { const { hasFetchedToken } = useSelector((state: RootState) => state.wallet); + const { domain } = useDomainContext(); + const isEvmDomain = domain === DomainType.EVM; const { hasFetchedVaultsData } = useSelector( - (state: RootState) => state.loans + (state: RootState) => state.loans, ); const [isExpanded, setIsExpanded] = useState(false); const denominationCurrency = props.denominationCurrency; // for 'BTC' or 'DFI' denomination - const totalPortfolioValue = BigNumber.max( - 0, - new BigNumber(props.totalAvailableValue) - .plus(props.totalLockedValue) - .minus(props.totalLoansValue) - ); + const totalPortfolioValue = isEvmDomain + ? new BigNumber(props.totalAvailableValue) + : BigNumber.max( + 0, + new BigNumber(props.totalAvailableValue) + .plus(props.totalLockedValue) + .minus(props.totalLoansValue), + ); const [activeButtonGroup, setActiveButtonGroup] = useState(); const onCurrencySwitch = (): void => { const activeIndex = props.portfolioButtonGroup.findIndex( - (tab) => tab.id === props.denominationCurrency + (tab) => tab.id === props.denominationCurrency, ); let nextIndex = activeIndex + 1; if (activeIndex === props.portfolioButtonGroup.length - 1) { @@ -70,8 +75,8 @@ export function TotalPortfolio(props: TotalPortfolioProps): JSX.Element { useEffect(() => { setActiveButtonGroup( props.portfolioButtonGroup.find( - (button) => button.id === props.denominationCurrency - ) + (button) => button.id === props.denominationCurrency, + ), ); }, [props.denominationCurrency]); @@ -101,7 +106,7 @@ export function TotalPortfolio(props: TotalPortfolioProps): JSX.Element { - setIsExpanded(!isExpanded)} - style={tailwind("")} - testID="toggle_portfolio" - > - - + {!isEvmDomain && ( + setIsExpanded(!isExpanded)} + style={tailwind("")} + testID="toggle_portfolio" + > + + + )} ) : ( @@ -151,7 +158,7 @@ export function TotalPortfolio(props: TotalPortfolioProps): JSX.Element { /> )} - {isExpanded && ( + {isExpanded && !isEvmDomain && ( + + + + + + + + Convert + + + + ([]); + const [allTokensWithAddress, setAllTokensWithAddress] = + useState({}); + const blockCount = useSelector((state: RootState) => state.block.count); + const { network } = useNetworkContext(); + const { evmUrl } = useCustomServiceProviderContext(); + const { provider } = useEVMProvider(); + const logger = useLogger(); + const isFocused = useIsFocused(); + + const { allTokens } = useSelector((state: RootState) => state.wallet); + const tokenIds = Object.keys(allTokens).reduce((current: string[], key) => { + const token = allTokens[key]; + if (token.id !== "0" && token.isDAT && !token.isLPS) { + return [...current, token.id]; + } + return current; + }, []); + const { evmWalletDetails, evmTokenBalances } = useSelector( + (state: RootState) => state.evm, + ); + const dispatch = useAppDispatch(); + + const getEvmTokens = async () => { + const dfiToken: WalletToken = { + id: "0_evm", + symbol: "DFI", + symbolKey: "DFI", + isDAT: true, + isLPS: false, + isLoanToken: false, + amount: "0", + name: "DeFiChain for EVM", + displaySymbol: "DFI", + avatarSymbol: "DFI", + }; + try { + const evmDfiBalance = utils.formatEther( + evmWalletDetails?.coin_balance ?? "0", + ); + dfiToken.amount = evmDfiBalance; + setEvmTokens( + evmTokenBalances.reduce( + (current: WalletToken[], each) => { + const tokenAddress = each?.token?.address; + const tokenDetails = allTokensWithAddress[tokenAddress] ?? null; + if (tokenDetails) { + return [ + ...current, + { + id: `${tokenDetails.id}_evm`, + symbol: tokenDetails.symbol, + symbolKey: tokenDetails.symbolKey, + isDAT: tokenDetails.isDAT, + isLPS: tokenDetails.isLPS, + isLoanToken: tokenDetails.isLoanToken, + name: `${tokenDetails.name || tokenDetails.symbol} for EVM`, + displaySymbol: tokenDetails.displaySymbol, + avatarSymbol: tokenDetails.symbol, + amount: utils.formatUnits(each.value, each?.token?.decimals), + }, + ]; + } + return current; + }, + [dfiToken], + ), + ); + } catch (e) { + logger.error(e); + setEvmTokens([dfiToken]); + } + }; + + useEffect(() => { + if (isFocused) { + batch(() => { + dispatch( + fetchEvmWalletDetails({ evmUrl, network, evmAddress, provider }), + ); + dispatch( + fetchEvmTokenBalances({ + evmUrl, + network, + evmAddress, + provider, + tokenIds, + }), + ); + }); + } + }, [network, evmAddress, blockCount, isFocused, provider]); + + useEffect(() => { + setAllTokensWithAddress( + Object.keys(allTokens).reduce((current, each) => { + const tokenDetails = allTokens[each]; + const key = getAddressFromDST20TokenId(tokenDetails.id); + return Object.assign(current, { [key]: tokenDetails }); + }, {}), + ); + }, [allTokens]); + + useEffect(() => { + getEvmTokens(); + }, [evmWalletDetails]); + + return { evmTokens }; +} diff --git a/mobile-app/app/screens/AppNavigator/screens/Portfolio/hooks/TokenBalance.ts b/mobile-app/app/screens/AppNavigator/screens/Portfolio/hooks/TokenBalance.ts new file mode 100644 index 0000000000..528ccbf7f7 --- /dev/null +++ b/mobile-app/app/screens/AppNavigator/screens/Portfolio/hooks/TokenBalance.ts @@ -0,0 +1,103 @@ +import { useSelector } from "react-redux"; +import BigNumber from "bignumber.js"; +import { RootState } from "@store"; +import { WalletToken, tokensSelector } from "@waveshq/walletkit-ui/dist/store"; +import { useMemo } from "react"; +import { DomainType } from "@contexts/DomainContext"; +import { useEvmTokenBalances } from "./EvmTokenBalances"; + +export interface DomainToken { + tokenId: string; + available: BigNumber; + token: { + name: string; + displaySymbol: string; + displayTextSymbol: string; + symbol: string; + isLPS?: boolean; + domainType: DomainType; + }; + factor?: string; + reserve?: string; +} + +export function useTokenBalance(): { + dvmTokens: DomainToken[]; + evmTokens: DomainToken[]; +} { + const tokens = useSelector((state: RootState) => + tokensSelector(state.wallet), + ); + + const { evmTokens } = useEvmTokenBalances(); + const mapDomainToken = (token: WalletToken) => { + return { + tokenId: token.id, + available: new BigNumber(token.amount), + token: { + name: token.name, + displaySymbol: token.symbol, + displayTextSymbol: token.symbol, + symbol: token.symbol, + isLPS: token.isLPS, + domainType: DomainType.EVM, + }, + }; + }; + const { dvmTokens } = useMemo(() => { + return tokens.reduce( + ( + { dvmTokens }: { dvmTokens: DomainToken[] }, + token, + ): { dvmTokens: DomainToken[] } => { + if (token.isLPS || token.id === "0_unified") { + return { dvmTokens }; + } + + return { + dvmTokens: [ + ...dvmTokens, + { + tokenId: token.id, + available: getConvertibleAmount( + token.id === "0_utxo", + new BigNumber(token.amount), + ), + token: { + name: token.name, + displaySymbol: token.displaySymbol, + displayTextSymbol: + token.id === "0" + ? "DFI" + : token.id === "0_utxo" + ? "UTXO" + : token.displaySymbol, + symbol: token.symbol, + isLPS: false, + domainType: DomainType.DVM, + }, + }, + ], + }; + }, + { + dvmTokens: [], + }, + ); + }, [tokens]); + + return { + dvmTokens, + evmTokens: evmTokens.map(mapDomainToken), + }; +} + +function getConvertibleAmount(isUtxo: boolean, amount: BigNumber): BigNumber { + if (isUtxo) { + const utxoToReserve = "0.1"; + const leftover = new BigNumber(amount).minus(new BigNumber(utxoToReserve)); + return leftover.isLessThan(0) ? new BigNumber(0) : leftover; + } + + return amount; +} diff --git a/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/AddOrEditAddressBookScreen.tsx b/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/AddOrEditAddressBookScreen.tsx index 05ee7b7376..0b4813caf3 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/AddOrEditAddressBookScreen.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/AddOrEditAddressBookScreen.tsx @@ -7,8 +7,7 @@ import { ThemedTouchableOpacityV2, ThemedViewV2, } from "@components/themed"; -import { fromAddress } from "@defichain/jellyfish-address"; -import { useWalletAddress } from "@hooks/useWalletAddress"; +import { WalletAddressI, useWalletAddress } from "@hooks/useWalletAddress"; import { useAppDispatch } from "@hooks/useAppDispatch"; import { StackScreenProps } from "@react-navigation/stack"; import { useLogger } from "@shared-contexts/NativeLoggingProvider"; @@ -27,7 +26,9 @@ import { ButtonV2 } from "@components/ButtonV2"; import { useDeFiScanContext } from "@shared-contexts/DeFiScanContext"; import { useToast } from "react-native-toast-notifications"; import { debounce } from "lodash"; +import { AddressType, getAddressType } from "@waveshq/walletkit-core"; import * as Clipboard from "expo-clipboard"; +import { DomainType, useDomainContext } from "@contexts/DomainContext"; import { SettingsParamList } from "../../Settings/SettingsNavigator"; type Props = StackScreenProps; @@ -36,27 +37,50 @@ export function AddOrEditAddressBookScreen({ route, navigation, }: Props): JSX.Element { - const { title, onSaveButtonPress, address, addressLabel, isAddNew } = - route.params; + const { isEvmFeatureEnabled } = useDomainContext(); + const { + title, + onSaveButtonPress, + address, + addressDomainType, + addressLabel, + isAddNew, + } = route.params; const [labelInput, setLabelInput] = useState(addressLabel?.label); const [addressInput, setAddressInput] = useState(address); const [isEditable, setIsEditable] = useState(isAddNew); const { networkName } = useNetworkContext(); const addressBook = useSelector( - (state: RootState) => state.userPreferences.addressBook + (state: RootState) => state.userPreferences.addressBook, ); const [labelInputErrorMessage, setLabelInputErrorMessage] = useState(""); const [addressInputErrorMessage, setAddressInputErrorMessage] = useState(""); const { fetchWalletAddresses } = useWalletAddress(); + // array of all wallet addresses const [walletAddress, setWalletAddress] = useState([]); + const AddressDomains = [ + { + label: "DeFiChain (DVM)", + value: DomainType.DVM, + }, + { + label: "MetaChain (EVM)", + value: DomainType.EVM, + }, + ]; + + const [selectedAddressDomainType, setSelectedAddressDomainType] = useState( + addressDomainType ?? DomainType.DVM, + ); + const validateLabelInput = (input: string): boolean => { if ( input.trim() === "" || (input !== undefined && input.trim().length > 40) ) { setLabelInputErrorMessage( - "Required field. Please enter a label. Maximum of 40 characters." + "Required field. Please enter a label. Maximum of 40 characters.", ); return false; } @@ -77,11 +101,18 @@ export function AddOrEditAddressBookScreen({ }; const validateAddressInput = (input: string): boolean => { - const decodedAddress = fromAddress(input, networkName); - if (decodedAddress === undefined) { + const addressType = getAddressType(input, networkName); + if ( + addressType === undefined || + (selectedAddressDomainType === DomainType.DVM && + addressType === AddressType.ETH) || + (selectedAddressDomainType === DomainType.EVM && + addressType !== AddressType.ETH) + ) { setAddressInputErrorMessage("Please enter a valid address"); return false; } + if ( (addressBook?.[input.trim()] !== undefined && (isAddNew || (!isAddNew && input.trim() !== address))) || @@ -90,7 +121,7 @@ export function AddOrEditAddressBookScreen({ // check for unique address when adding new, or only when new address is different from current during edit // or when address exists in local address setAddressInputErrorMessage( - "This address already exists in your address book, please enter a different address" + "This address already exists in your address book, please enter a different address", ); return false; } @@ -142,8 +173,8 @@ export function AddOrEditAddressBookScreen({ const editedAddress = { [addressInput]: { address: addressInput, + addressDomainType: selectedAddressDomainType, label: labelInput, - isMine: false, isFavourite: addressLabel?.isFavourite, }, }; @@ -166,18 +197,18 @@ export function AddOrEditAddressBookScreen({ isAddNew ? "Add address to address book?\n{{address}}" : "Update address label for\n{{address}}", - { address: addressInput } + { address: addressInput }, ), message: translate("screens/Settings", "Enter passcode to continue"), loading: translate( "screens/AddOrEditAddressBookScreen", isAddNew ? "It may take a few seconds to save" - : "It may take a few seconds to update" + : "It may take a few seconds to update", ), successMessage: translate( "screens/AddOrEditAddressBookScreen", - isAddNew ? "Address saved!" : "Address label updated!" + isAddNew ? "Address saved!" : "Address label updated!", ), }; dispatch(authentication.actions.prompt(auth)); @@ -197,21 +228,21 @@ export function AddOrEditAddressBookScreen({ onError: (e) => logger.error(e), title: translate( "screens/AddOrEditAddressBookScreen", - "Are you sure you want to delete the address?" + "Are you sure you want to delete the address?", ), message: translate("screens/Settings", "Enter passcode to continue"), loading: translate( "screens/AddOrEditAddressBookScreen", - "It may take a few seconds to delete" + "It may take a few seconds to delete", ), successMessage: translate( "screens/AddOrEditAddressBookScreen", - "Address deleted!" + "Address deleted!", ), }; dispatch(authentication.actions.prompt(auth)); }, - [navigation, dispatch, isEncrypted] + [navigation, dispatch, isEncrypted], ); useLayoutEffect(() => { @@ -226,13 +257,19 @@ export function AddOrEditAddressBookScreen({ return; } validateAddressInput(addressInput); - }, [addressInput]); + }, [addressInput, selectedAddressDomainType]); useEffect(() => { let isSubscribed = true; - void fetchWalletAddresses().then((walletAddress) => { + fetchWalletAddresses().then((walletAddress: WalletAddressI[]) => { if (isSubscribed) { - setWalletAddress(walletAddress); + const allWalletAddresses = walletAddress.reduce( + (allAddress: string[], each: WalletAddressI) => { + return [...allAddress, ...Object.values(each)]; + }, + [], + ); + setWalletAddress(allWalletAddresses); } }); return () => { @@ -245,6 +282,71 @@ export function AddOrEditAddressBookScreen({ contentContainerStyle={tailwind("px-5 pb-16")} style={tailwind("flex-1")} > + {isEvmFeatureEnabled && ( + + + + {AddressDomains.map((addressDomain, index) => { + const isChecked = + selectedAddressDomainType === addressDomain.value; + return ( + { + setSelectedAddressDomainType(addressDomain.value); + }} + testID={`address_book_address_type_${addressDomain.value}${ + isChecked ? "_checked" : "" + }`} + > + + + {translate( + "screens/AddOrEditAddressBookScreen", + addressDomain.label, + )} + + + ); + })} + + + )} + {isAddNew ? ( {translate( "screens/AddOrEditAddressBookScreen", - "Maximum of 40 characters." + "Maximum of 40 characters.", )} )} @@ -369,7 +471,7 @@ export function AddOrEditAddressBookScreen({ light={tailwind("bg-mono-light-v2-00")} dark={tailwind("bg-mono-dark-v2-00 ")} style={tailwind( - "border-0 p-4.5 flex-row justify-center rounded-lg-v2 mt-6" + "border-0 p-4.5 flex-row justify-center rounded-lg-v2 mt-6", )} testID="delete_address" onPress={async () => await onDelete(address)} @@ -377,7 +479,7 @@ export function AddOrEditAddressBookScreen({ {translate( "screens/AddOrEditAddressBookScreen", - "Delete address" + "Delete address", )} @@ -388,7 +490,7 @@ export function AddOrEditAddressBookScreen({ > {translate( "screens/ServiceProviderScreen", - "This will delete the whitelisted address\nfrom your address book." + "This will delete the whitelisted address\nfrom your address book.", )} @@ -397,7 +499,7 @@ export function AddOrEditAddressBookScreen({ disabled={isSaveDisabled()} label={translate( "screens/AddOrEditAddressBookScreen", - isAddNew ? "Save address" : "Save changes" + isAddNew ? "Save address" : "Save changes", )} onPress={handleSubmit} testID="save_address_label" @@ -422,7 +524,7 @@ function CopyAddressComponent(props: { address: string }): JSX.Element { setShowToast(true); setTimeout(() => setShowToast(false), TOAST_DURATION); }, 500), - [showToast] + [showToast], ); useEffect(() => { @@ -453,7 +555,7 @@ function CopyAddressComponent(props: { address: string }): JSX.Element { > ; @@ -61,21 +64,36 @@ export enum ButtonGroupTabKey { } export function AddressBookScreen({ route, navigation }: Props): JSX.Element { - const { selectedAddress, onAddressSelect, disabledTab } = route.params; + const { selectedAddress, onAddressSelect, disabledTab, addressDomainType } = + route.params; const { isLight } = useThemeContext(); const { network } = useNetworkContext(); + const { isEvmFeatureEnabled } = useDomainContext(); const dispatch = useAppDispatch(); + // condition to hide icon if not from send page + const isAddressSelectDisabled = + selectedAddress !== undefined && onAddressSelect !== undefined; const userPreferencesFromStore = useSelector( - (state: RootState) => state.userPreferences + (state: RootState) => state.userPreferences, ); - const addressBook: LocalAddress[] = useSelector((state: RootState) => - selectAddressBookArray(state.userPreferences) + const whitelistedAddresses: WhitelistedAddress[] = useSelector( + (state: RootState) => selectAddressBookArray(state.userPreferences), ); + + const addressBook = useMemo(() => { + return whitelistedAddresses?.filter((addr) => { + return ( + isEvmFeatureEnabled || + (!isEvmFeatureEnabled && addr.addressDomainType === DomainType.DVM) + ); + }); + }, [whitelistedAddresses]); + const walletAddressFromStore: LocalAddress[] = useSelector( - (state: RootState) => selectLocalWalletAddressArray(state.userPreferences) + (state: RootState) => selectLocalWalletAddressArray(state.userPreferences), ); // not all wallet address are stored in userPreference const [walletAddress, setWalletAddress] = useState( - walletAddressFromStore + walletAddressFromStore, ); // combine labeled wallet address with jellyfish's api wallet const [isSearchFocus, setIsSearchFocus] = useState(false); const { headerStyle }: StackNavigationOptions = useNavigatorScreenOptions(); @@ -84,7 +102,7 @@ export function AddressBookScreen({ route, navigation }: Props): JSX.Element { const searchRef = createRef(); const { fetchWalletAddresses } = useWalletAddress(); const [filteredAddressBook, setFilteredAddressBook] = - useState(addressBook); + useState(addressBook); const [filteredWalletAddress, setFilteredWalletAddress] = useState(walletAddress); @@ -105,31 +123,36 @@ export function AddressBookScreen({ route, navigation }: Props): JSX.Element { const [activeButtonGroup, setActiveButtonGroup] = useState( disabledTab === ButtonGroupTabKey.Whitelisted ? ButtonGroupTabKey.YourAddress - : ButtonGroupTabKey.Whitelisted + : ButtonGroupTabKey.Whitelisted, ); useEffect(() => { // combine redux store and jellyfish wallet let isSubscribed = true; - void fetchWalletAddresses().then((walletAddresses) => { + fetchWalletAddresses().then((walletAddresses) => { if (isSubscribed) { const addresses: LocalAddress[] = []; - walletAddresses.forEach((address) => { + walletAddresses.forEach((address: WalletAddressI) => { const storedWalletAddress = walletAddressFromStore.find( - (a) => a.address === address + (a) => a.address === address.dvm, ); - if (selectedAddress === address) { + + if (selectedAddress === address.dvm) { // change tab if selected address is from your addresses setActiveButtonGroup(ButtonGroupTabKey.YourAddress); } if (storedWalletAddress === undefined) { addresses.push({ - address, - label: "", - isMine: true, + address: address.dvm, + evmAddress: address.evm, + label: address.generatedLabel, }); } else { - addresses.push(storedWalletAddress); + addresses.push({ + ...storedWalletAddress, + // to support backward compatibility for already saved address + evmAddress: storedWalletAddress.evmAddress ?? address.evm, + }); } }); setWalletAddress(addresses); @@ -150,25 +173,27 @@ export function AddressBookScreen({ route, navigation }: Props): JSX.Element { address.label .toLowerCase() .includes(searchString?.trim().toLowerCase()) || - address.address.includes(searchString?.trim().toLowerCase()) - ) + address.address.includes(searchString?.trim().toLowerCase()), + ), ); setFilteredWalletAddress( - sortByFavourite(walletAddress).filter( - (address) => + walletAddress.filter( + (address: LocalAddress) => address.label .toLowerCase() .includes(searchString?.trim().toLowerCase()) || - address.address.includes(searchString?.trim().toLowerCase()) - ) + address.address.includes(searchString?.trim().toLowerCase()) || + address.evmAddress.includes(searchString?.trim().toLowerCase()), + // || (address.label === ""), + ) as LocalAddress[], ); }, 200), - [addressBook, walletAddress, searchString, activeButtonGroup] + [addressBook, walletAddress, searchString, activeButtonGroup], ); // Favourite const onFavouriteAddress = async ( - localAddress: LocalAddress + localAddress: WhitelistedAddress, ): Promise => { const labeledAddress = { [localAddress.address]: { @@ -182,16 +207,34 @@ export function AddressBookScreen({ route, navigation }: Props): JSX.Element { dispatch(userPreferences.actions.addToAddressBook(labeledAddress)); }; - const sortByFavourite = (localAddresses: LocalAddress[]): LocalAddress[] => { - return [...localAddresses].sort((curr, next) => { - if (curr.isFavourite === true) { - return -1; - } - if (next.isFavourite === true) { - return 1; - } - return 0; - }); + const sortByFavourite = ( + localAddresses: WhitelistedAddress[], + ): WhitelistedAddress[] => { + return [...localAddresses] + .sort((curr, next) => { + if (curr.isFavourite === true) { + return -1; + } + if (next.isFavourite === true) { + return 1; + } + return 0; + }) + .sort((curr, next) => { + if ( + isAddressSelectDisabled && + curr.addressDomainType === addressDomainType + ) { + return -1; + } + if ( + isAddressSelectDisabled && + next.addressDomainType === addressDomainType + ) { + return 1; + } + return 0; + }); }; useEffect(() => { @@ -201,7 +244,7 @@ export function AddressBookScreen({ route, navigation }: Props): JSX.Element { setUserPreferences({ network, preferences: userPreferencesFromStore, - }) + }), ); }; updateLocalStorage().catch(Logging.error); @@ -213,13 +256,18 @@ export function AddressBookScreen({ route, navigation }: Props): JSX.Element { filterAddress(searchString); return; } - if (activeButtonGroup === ButtonGroupTabKey.Whitelisted) { setFilteredAddressBook(sortByFavourite(addressBook)); } else { - setFilteredWalletAddress(sortByFavourite(walletAddress)); + setFilteredWalletAddress(walletAddress); } - }, [addressBook, walletAddress, searchString, activeButtonGroup]); + }, [ + addressBook, + walletAddress, + searchString, + activeButtonGroup, + addressDomainType, + ]); useEffect(() => { navigation.setOptions({ @@ -231,132 +279,241 @@ export function AddressBookScreen({ route, navigation }: Props): JSX.Element { }); }, []); - const AddressListItem = useCallback( + const WhitelistedAddressItem = useCallback( ({ selectedAddress, onAddressSelect, ...props }: { - item: LocalAddress; + item: WhitelistedAddress; index: number; testIDSuffix: string; selectedAddress?: string; onAddressSelect?: (address: string) => void; }): JSX.Element => { const { item, index, testIDSuffix } = props; - // condition to hide icon from send page - const enableAddressSelect = - selectedAddress !== undefined && onAddressSelect !== undefined; - const onChangeAddress = (address: string): void => { - if (enableAddressSelect) { - onAddressSelect(address); + const isDisabledToSelect = + isAddressSelectDisabled && + activeButtonGroup === ButtonGroupTabKey.Whitelisted && + (item as WhitelistedAddress).addressDomainType === addressDomainType && + addressDomainType === DomainType.EVM; // disable address selection if its from the same EVM domain + + const onChangeAddress = (addressDetail: WhitelistedAddress): void => { + if (onAddressSelect) { + onAddressSelect(addressDetail.address); + } + }; + + const onDFIAddressClick = async () => { + if (activeButtonGroup === ButtonGroupTabKey.Whitelisted) { + setSearchString(""); + setIsSearchFocus(false); + navigation.navigate({ + name: "AddOrEditAddressBookScreen", + params: { + title: "Address Details", + isAddNew: false, + address: item.address, + addressDomainType: (item as WhitelistedAddress).addressDomainType, + addressLabel: item, + onSaveButtonPress: () => {}, + }, + merge: true, + }); + } else { + await openURL(getAddressUrl(item.address)); } }; + return ( { - onChangeAddress(item.address); - }} + disabled={isDisabledToSelect} + onPress={async () => onChangeAddress(item)} > - {item.isMine ? ( - - - - ) : ( - await onFavouriteAddress(item)} - testID={`address_row_star_${index}_${testIDSuffix}`} - disabled={enableAddressSelect} - > - {item.isFavourite === true ? ( - - ) : ( - - )} - - )} { - if (activeButtonGroup === ButtonGroupTabKey.Whitelisted) { - setSearchString(""); - setIsSearchFocus(false); - navigation.navigate({ - name: "AddOrEditAddressBookScreen", - params: { - title: "Address Details", - isAddNew: false, - address: item.address, - addressLabel: item, - onSaveButtonPress: () => {}, - }, - merge: true, - }); - } else { - await openURL(getAddressUrl(item.address)); - } - }} - testID={`address_action_${item.address}`} - style={tailwind("flex flex-row items-center flex-auto")} - disabled={enableAddressSelect} + style={tailwind("mr-4")} + onPress={async () => + await onFavouriteAddress(item as WhitelistedAddress) + } + testID={`address_row_star_${index}_${testIDSuffix}`} + disabled={isAddressSelectDisabled} > + {item.isFavourite ? ( + + ) : ( + + )} + + + {item.label !== "" && ( - - {item.label} - + + + {item.label} + + {(item as WhitelistedAddress).addressDomainType === + DomainType.EVM && ( + + )} + )} - - {item.address} - - - {!enableAddressSelect && ( - onChangeAddress(item)} /> + {/* for EVM address */} + + {!isAddressSelectDisabled && ( + + + )} - + ); }, - [filteredAddressBook, filteredWalletAddress, activeButtonGroup] + [filteredAddressBook, filteredWalletAddress, activeButtonGroup], + ); + + const YourAddressListItem = useCallback( + ({ + selectedAddress, + onAddressSelect, + ...props + }: { + item: LocalAddress; + index: number; + testIDSuffix: string; + selectedAddress?: string; + onAddressSelect?: (address: string) => void; + }): JSX.Element => { + const { item, index, testIDSuffix } = props; + + const onChangeAddress = (addressDetail: string): void => { + if (onAddressSelect) { + onAddressSelect(addressDetail); + } + }; + + const onDFIAddressClick = async () => { + await openURL(getAddressUrl(item.address)); + }; + + return ( + // Your Address card + onChangeAddress(item.address)} + disabled={isEvmFeatureEnabled} + > + + + + + + + + {item.label} + + + + + + {/* DVM address card */} + { + onChangeAddress(item.address); + }} + isAddressSelectEnabled={false} + /> + {/* EVM address card */} + {isEvmFeatureEnabled && ( + { + onChangeAddress(item.evmAddress); + }} + isAddressSelectEnabled={false} + /> + )} + + + + + + ); + }, + [filteredAddressBook, filteredWalletAddress, activeButtonGroup], ); const goToAddAddressForm = (): void => { @@ -365,6 +522,7 @@ export function AddressBookScreen({ route, navigation }: Props): JSX.Element { params: { title: "Add Address", isAddNew: true, + addressDomainType, onSaveButtonPress: (address?: string) => { if (onAddressSelect !== undefined && address !== undefined) { onAddressSelect(address); @@ -381,7 +539,7 @@ export function AddressBookScreen({ route, navigation }: Props): JSX.Element { light={tailwind("bg-mono-light-v2-00 border-mono-light-v2-100")} dark={tailwind("bg-mono-dark-v2-00 border-mono-dark-v2-100")} style={tailwind( - "flex flex-col items-center pt-1 rounded-b-2xl border-b" + "flex flex-col items-center pt-1 rounded-b-2xl border-b", )} > @@ -414,7 +572,7 @@ export function AddressBookScreen({ route, navigation }: Props): JSX.Element { : { "border-mono-light-v2-00": isLight, "border-mono-dark-v2-00": !isLight, - } + }, ), ]} inputStyle={{ @@ -423,7 +581,7 @@ export function AddressBookScreen({ route, navigation }: Props): JSX.Element { }} placeholder={translate( "screens/AddressBookScreen", - "Search address book" + "Search address book", )} showClearButton={searchString !== ""} onClearInput={() => { @@ -450,7 +608,7 @@ export function AddressBookScreen({ route, navigation }: Props): JSX.Element { dark={tailwind("bg-mono-dark-v2-900")} testID="add_new_address" style={tailwind( - "flex h-10 w-10 flex-row items-center justify-center rounded-full" + "flex h-10 w-10 flex-row items-center justify-center rounded-full", )} > @@ -494,29 +652,41 @@ export function AddressBookScreen({ route, navigation }: Props): JSX.Element { ) : ( <> + {/* Search address */} {!isSearchFocus && searchString?.trim().length === 0 && ( )} - {(activeButtonGroup === ButtonGroupTabKey.Whitelisted - ? filteredAddressBook - : filteredWalletAddress - ).map((item: LocalAddress, index: number) => ( - - ))} + + {/* wWhitelisted address tab */} + {activeButtonGroup === ButtonGroupTabKey.Whitelisted && + filteredAddressBook.map( + (item: WhitelistedAddress, index: number) => ( + + ), + )} + + {/* Your address tab */} + {activeButtonGroup === ButtonGroupTabKey.YourAddress && + filteredWalletAddress.map((item: LocalAddress, index: number) => ( + + ))} )} @@ -533,6 +703,7 @@ function EmptyDisplay({ onPress }: { onPress: () => void }): JSX.Element { > void }): JSX.Element { > {translate( "screens/AddressBookScreen", - "Add your preferred / commonly-used address." + "Add your preferred / commonly-used address.", )} ); } + +function WhitelistedAddressLink({ + disabled, + onClick, + address, + displayIcon, + testIDSuffix, +}: { + disabled: boolean; + onClick: () => Promise; + address: string; + displayIcon: boolean; + testIDSuffix: string; +}) { + return ( + + + {address} + + {!disabled && displayIcon && ( + + + + )} + + ); +} + +function YourAddressLink({ + disabled, + onClick, + address, + isEvmAddress, + testIDSuffix, + isAddressSelectEnabled, +}: { + disabled?: boolean; + onClick: () => Promise; + address: string; + isEvmAddress?: boolean; + testIDSuffix: string; + isAddressSelectEnabled: boolean; +}) { + return ( + + + + {address} + + {isEvmAddress && } + + {isAddressSelectEnabled && ( + + )} + + ); +} diff --git a/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/ConvertConfirmationScreen.tsx b/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/ConvertConfirmationScreen.tsx index b93e1e85c4..c5e8278818 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/ConvertConfirmationScreen.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/ConvertConfirmationScreen.tsx @@ -3,7 +3,7 @@ import { ThemedScrollViewV2, ThemedViewV2 } from "@components/themed"; import { NavigationProp, useNavigation } from "@react-navigation/native"; import { StackScreenProps } from "@react-navigation/stack"; import BigNumber from "bignumber.js"; -import { Dispatch, useEffect, useState } from "react"; +import { Dispatch, useEffect, useMemo, useState } from "react"; import { useSelector } from "react-redux"; import { RootState } from "@store"; import { @@ -26,34 +26,36 @@ import { View } from "react-native"; import { useWalletContext } from "@shared-contexts/WalletContext"; import { useAddressLabel } from "@hooks/useAddressLabel"; import { NumberRowV2 } from "@components/NumberRowV2"; +import { ConvertDirection, ScreenName } from "@screens/enum"; import { - ConvertTokenUnit, - getDisplayUnit, -} from "@screens/AppNavigator/screens/Portfolio/screens/ConvertScreen"; -import { ScreenName } from "@screens/enum"; -import { ConversionMode } from "./ConvertScreen"; + TransferDomainToken, + transferDomainCrafter, +} from "@api/transaction/transfer_domain"; +import { useNetworkContext } from "@waveshq/walletkit-ui"; +import { NetworkName } from "@defichain/jellyfish-network"; +import { useEVMProvider } from "@contexts/EVMProvider"; import { PortfolioParamList } from "../PortfolioNavigator"; type Props = StackScreenProps; export function ConvertConfirmationScreen({ route }: Props): JSX.Element { const { - sourceUnit, - sourceBalance, - targetUnit, - targetBalance, - mode, amount, + convertDirection, fee, + sourceToken, + targetToken, originScreen, } = route.params; - const { address } = useWalletContext(); + const { networkName } = useNetworkContext(); + const { address, evmAddress } = useWalletContext(); + const { provider, chainId } = useEVMProvider(); const addressLabel = useAddressLabel(address); const hasPendingJob = useSelector((state: RootState) => - hasTxQueued(state.transactionQueue) + hasTxQueued(state.transactionQueue), ); const hasPendingBroadcastJob = useSelector((state: RootState) => - hasOceanTXQueued(state.ocean) + hasOceanTXQueued(state.ocean), ); const dispatch = useAppDispatch(); const [isSubmitting, setIsSubmitting] = useState(false); @@ -68,22 +70,81 @@ export function ConvertConfirmationScreen({ route }: Props): JSX.Element { }; }, []); + const [fromLhs, toLhs] = useMemo(() => { + const dvmText = translate( + "screens/ConvertConfirmScreen", + "Resulting Tokens", + ); + const utxoText = translate( + "screens/ConvertConfirmScreen", + "Resulting UTXO", + ); + const evmText = translate( + "screens/ConvertConfirmScreen", + "Resulting Tokens (EVM)", + ); + + switch (convertDirection) { + case ConvertDirection.accountToUtxos: + return [dvmText, utxoText]; + case ConvertDirection.utxosToAccount: + return [utxoText, dvmText]; + case ConvertDirection.dvmToEvm: + return [dvmText, evmText]; + case ConvertDirection.evmToDvm: + return [evmText, dvmText]; + default: + return [evmText, dvmText]; + } + }, [convertDirection]); + async function onSubmit(): Promise { if (hasPendingJob || hasPendingBroadcastJob) { return; } setIsSubmitting(true); - await constructSignedConversionAndSend( - { - mode, - amount, - }, - dispatch, - () => { - onTransactionBroadcast(isOnPage, navigation.dispatch); - }, - logger - ); + + if ( + [ + ConvertDirection.accountToUtxos, + ConvertDirection.utxosToAccount, + ].includes(convertDirection) + ) { + await constructSignedConversionAndSend( + { + convertDirection, + amount, + }, + dispatch, + () => { + onTransactionBroadcast(isOnPage, navigation.dispatch); + }, + logger, + ); + } else { + const nonce = provider + ? await provider.getTransactionCount(evmAddress) + : 0; + await constructSignedTransferDomain( + { + amount, + convertDirection, + sourceToken, + targetToken, + networkName, + chainId, + nonce, + evmAddress, + dvmAddress: address, + }, + dispatch, + () => { + onTransactionBroadcast(isOnPage, navigation.dispatch); + }, + logger, + ); + } + setIsSubmitting(false); } @@ -93,7 +154,7 @@ export function ConvertConfirmationScreen({ route }: Props): JSX.Element { title: translate("screens/Settings", "Cancel transaction"), message: translate( "screens/Settings", - "By cancelling, you will lose any changes you made for your transaction." + "By cancelling, you will lose any changes you made for your transaction.", ), buttons: [ { @@ -107,7 +168,7 @@ export function ConvertConfirmationScreen({ route }: Props): JSX.Element { navigation.navigate( originScreen === ScreenName.DEX_screen ? ScreenName.DEX_screen - : ScreenName.PORTFOLIO_screen + : ScreenName.PORTFOLIO_screen, ); }, }, @@ -126,20 +187,31 @@ export function ConvertConfirmationScreen({ route }: Props): JSX.Element { { unit: translate( "screens/ConvertScreen", - getDisplayUnit(targetUnit) + `${targetToken.displayTextSymbol}${ + convertDirection === ConvertDirection.dvmToEvm ? " (EVM)" : "" + }`, ), - } + }, )} amount={amount} testID="text_convert_amount" - iconA="_UTXO" - fromAddress={address} + iconA={ + targetToken.tokenId === "0_evm" + ? "DFI (EVM)" + : targetToken.displaySymbol + } + fromAddress={ + convertDirection === ConvertDirection.evmToDvm + ? evmAddress + : address + } fromAddressLabel={addressLabel} + isEvmToken={convertDirection === ConvertDirection.dvmToEvm} /> , onBroadcast: () => void, - logger: NativeLoggingProps + logger: NativeLoggingProps, ): Promise { try { dispatch( transactionQueue.actions.push( - dfiConversionCrafter(amount, mode, onBroadcast, () => {}) - ) + dfiConversionCrafter(amount, convertDirection, onBroadcast, () => {}), + ), ); } catch (e) { logger.error(e); } } -function getResultingValue( - desireUnit: string, - fee: BigNumber, - balanceA: BigNumber, - unitA: string, - balanceB: BigNumber, - unitB: string -): string { - const balance = desireUnit === unitA ? balanceA : balanceB; - const unit = desireUnit === unitA ? unitA : unitB; +async function constructSignedTransferDomain( + { + amount, + convertDirection, + sourceToken, + targetToken, + networkName, + chainId, + dvmAddress, + evmAddress, + nonce, + }: { + convertDirection: ConvertDirection; + sourceToken: TransferDomainToken; + targetToken: TransferDomainToken; + amount: BigNumber; + networkName: NetworkName; + chainId?: number; + dvmAddress: string; + evmAddress: string; + nonce: number; + }, + dispatch: Dispatch, + onBroadcast: () => void, + logger: NativeLoggingProps, +): Promise { + try { + dispatch( + transactionQueue.actions.push( + transferDomainCrafter({ + amount, + convertDirection, + sourceToken, + targetToken, + networkName, + onBroadcast, + onConfirmation: () => {}, + chainId, + dvmAddress, + evmAddress, + nonce, + }), + ), + ); + } catch (e) { + logger.error(e); + } +} +function getResultingValue({ + balance, + convertDirection, + fee, +}: { + balance: BigNumber; + convertDirection: ConvertDirection; + fee: BigNumber; +}): string { return BigNumber.max( - balance.minus(unit === ConvertTokenUnit.UTXO ? fee : 0), - 0 + balance.minus( + convertDirection === ConvertDirection.accountToUtxos ? fee : 0, + ), + 0, ).toFixed(8); } -function getResultingPercentage( - desireUnit: string, - balanceA: BigNumber, - unitA: string, - balanceB: BigNumber -): string { - const amount = desireUnit === unitA ? balanceA : balanceB; +function getResultingPercentage({ + balanceA, + balanceB, +}: { + balanceA: BigNumber; + balanceB: BigNumber; +}): string { const totalAmount = balanceA.plus(balanceB); - return new BigNumber(amount).div(totalAmount).multipliedBy(100).toFixed(2); + return new BigNumber(balanceB).div(totalAmount).multipliedBy(100).toFixed(2); } diff --git a/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/ConvertScreen.tsx b/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/ConvertScreen.tsx index 6df72b199a..b2f69e2c28 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/ConvertScreen.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/ConvertScreen.tsx @@ -1,4 +1,3 @@ -import { AddressToken } from "@defichain/whale-api-client/dist/api/address"; import { NavigationProp, useNavigation } from "@react-navigation/native"; import { StackScreenProps } from "@react-navigation/stack"; import BigNumber from "bignumber.js"; @@ -24,7 +23,6 @@ import { import { getColor, tailwind } from "@tailwind"; import { translate } from "@translations"; import { useLogger } from "@shared-contexts/NativeLoggingProvider"; -import { getNativeIcon } from "@components/icons/assets"; import { ButtonV2 } from "@components/ButtonV2"; import { AmountButtonTypes, @@ -33,57 +31,69 @@ import { import { useToast } from "react-native-toast-notifications"; import { NumericFormat as NumberFormat } from "react-number-format"; import { getNumberFormatValue } from "@api/number-format-value"; +import { ConvertDirection } from "@screens/enum"; +import { + TokenDropdownButton, + TokenDropdownButtonStatus, +} from "@components/TokenDropdownButton"; +import { DomainType, useDomainContext } from "@contexts/DomainContext"; +import { getNativeIcon } from "@components/icons/assets"; +import { EVMLinearGradient } from "@components/EVMLinearGradient"; import { PortfolioParamList } from "../PortfolioNavigator"; -import { TokenListType } from "../../Dex/CompositeSwap/SwapTokenSelectionScreen"; +import { + TokenListType, + SelectionToken, +} from "../../Dex/CompositeSwap/SwapTokenSelectionScreen"; import { useTokenPrice } from "../hooks/TokenPrice"; +import { DomainToken, useTokenBalance } from "../hooks/TokenBalance"; -export type ConversionMode = "utxosToAccount" | "accountToUtxos"; type Props = StackScreenProps; -interface ConversionIO extends AddressToken { - unit: ConvertTokenUnit; -} - enum InlineTextStatus { Default, Warning, Error, } -export enum ConvertTokenUnit { - UTXO = "UTXO", - Token = "Token", -} - export function ConvertScreen(props: Props): JSX.Element { const { getTokenPrice } = useTokenPrice(); const { isLight } = useThemeContext(); + const { domain, isEvmFeatureEnabled } = useDomainContext(); const client = useWhaleApiClient(); const logger = useLogger(); const tokens = useSelector((state: RootState) => - tokensSelector(state.wallet) + tokensSelector(state.wallet), ); const toast = useToast(); const TOAST_DURATION = 2000; // global state const hasPendingJob = useSelector((state: RootState) => - hasTxQueued(state.transactionQueue) + hasTxQueued(state.transactionQueue), ); const hasPendingBroadcastJob = useSelector((state: RootState) => - hasOceanTXQueued(state.ocean) + hasOceanTXQueued(state.ocean), ); const navigation = useNavigation>(); - const [mode, setMode] = useState(props.route.params.mode); - const [sourceToken, setSourceToken] = useState(); - const [targetToken, setTargetToken] = useState(); + const [convertDirection, setConvertDirection] = useState( + props.route.params.convertDirection, + ); + const [sourceToken, setSourceToken] = useState( + props.route.params.sourceToken, + ); + const [targetToken, setTargetToken] = useState( + props.route.params.targetToken, + ); + const [convAmount, setConvAmount] = useState("0"); const [fee, setFee] = useState(new BigNumber(0.0001)); const [amount, setAmount] = useState(""); const [inlineTextStatus, setInlineTextStatus] = useState( - InlineTextStatus.Default + InlineTextStatus.Default, ); + const { dvmTokens, evmTokens } = useTokenBalance(); + useEffect(() => { client.fee .estimate() @@ -92,54 +102,82 @@ export function ConvertScreen(props: Props): JSX.Element { }, []); useEffect(() => { - const [source, target] = getDFIBalances(mode, tokens); - setSourceToken(source); - setTargetToken(target); - const sourceNum = new BigNumber( - source?.amount !== undefined && source.amount !== "" ? source.amount : 0 - ); const conversionNum = new BigNumber(amount).isNaN() ? new BigNumber(0) : new BigNumber(amount); const conversion = conversionNum.toString(); setConvAmount(conversion); - if (conversionNum.gt(sourceNum)) { + + if (conversionNum.gt(sourceToken.available)) { setInlineTextStatus(InlineTextStatus.Error); } else if ( - isUtxoToAccount(mode) && - !sourceNum.isZero() && - conversionNum.toFixed(8) === sourceNum.toFixed(8) + convertDirection === ConvertDirection.utxosToAccount && + !sourceToken.available.isZero() && + conversionNum.toFixed(8) === sourceToken.available.toFixed(8) ) { setInlineTextStatus(InlineTextStatus.Warning); } else { setInlineTextStatus(InlineTextStatus.Default); } - }, [mode, JSON.stringify(tokens), amount]); + }, [convertDirection, JSON.stringify(tokens), amount]); + + useEffect(() => { + let updatedConvertDirection: ConvertDirection = convertDirection; + + if (sourceToken.tokenId === "0_utxo" && targetToken?.tokenId === "0") { + updatedConvertDirection = ConvertDirection.utxosToAccount; + } else if ( + sourceToken.tokenId === "0" && + targetToken?.tokenId === "0_utxo" + ) { + updatedConvertDirection = ConvertDirection.accountToUtxos; + } else if ( + sourceToken.token.domainType === DomainType.DVM && + targetToken?.token.domainType === DomainType.EVM + ) { + updatedConvertDirection = ConvertDirection.dvmToEvm; + } else if ( + sourceToken.token.domainType === DomainType.EVM && + targetToken?.token.domainType === DomainType.DVM + ) { + updatedConvertDirection = ConvertDirection.evmToDvm; + } + + setConvertDirection(updatedConvertDirection); + }, [sourceToken, targetToken]); - if (sourceToken === undefined || targetToken === undefined) { + if (sourceToken === undefined) { return <>; } - function convert(sourceToken: ConversionIO, targetToken: ConversionIO): void { - if (hasPendingJob || hasPendingBroadcastJob) { + function convert(sourceToken: DomainToken, targetToken?: DomainToken): void { + if (hasPendingJob || hasPendingBroadcastJob || targetToken === undefined) { return; } navigation.navigate({ name: "ConvertConfirmationScreen", params: { - sourceUnit: sourceToken.unit, - sourceBalance: BigNumber.maximum( - new BigNumber(sourceToken.amount).minus(convAmount), - 0 - ), - targetUnit: targetToken.unit, - targetBalance: BigNumber.maximum( - new BigNumber(targetToken.amount).plus(convAmount), - 0 - ), - mode, amount: new BigNumber(amount), + convertDirection, fee, + sourceToken: { + tokenId: sourceToken.tokenId, + displaySymbol: sourceToken.token.displaySymbol, + balance: BigNumber.maximum( + new BigNumber(sourceToken.available).minus(convAmount), + 0, + ), + displayTextSymbol: sourceToken.token.displayTextSymbol, + }, + targetToken: { + tokenId: targetToken.tokenId, + displaySymbol: targetToken.token.displaySymbol, + balance: BigNumber.maximum( + new BigNumber(targetToken.available).plus(convAmount), + 0, + ), + displayTextSymbol: targetToken.token.displayTextSymbol, + }, }, merge: true, }); @@ -147,10 +185,10 @@ export function ConvertScreen(props: Props): JSX.Element { function onPercentagePress(amount: string, type: AmountButtonTypes): void { setAmount(amount); - showToast(type); + showToast(type, domain); } - function showToast(type: AmountButtonTypes): void { + function showToast(type: AmountButtonTypes, domain: DomainType): void { if (sourceToken === undefined) { return; } @@ -163,7 +201,9 @@ export function ConvertScreen(props: Props): JSX.Element { const toastOption = { unit: translate( "screens/ConvertScreen", - getDisplayUnit(sourceToken.unit) + `${sourceToken.token.displayTextSymbol}${ + domain === DomainType.EVM ? " (EVM)" : "" + }`, ), percent: type, }; @@ -175,15 +215,152 @@ export function ConvertScreen(props: Props): JSX.Element { } function onTogglePress(): void { - setMode(isUtxoToAccount(mode) ? "accountToUtxos" : "utxosToAccount"); + if (!targetToken || !sourceToken) { + return; + } + setSourceToken(targetToken); + setTargetToken(sourceToken); setAmount(""); } + function getListByDomain(listType: TokenListType): DomainToken[] { + if (listType === TokenListType.To) { + const evmDFIToken = evmTokens.find(({ tokenId }) => tokenId === "0_evm"); + const defaultEvmTargetToken = { + tokenId: `${sourceToken.tokenId}_evm`, + available: new BigNumber(evmDFIToken?.available ?? 0), + token: { + ...sourceToken.token, + displaySymbol: "DFI", + displayTextSymbol: "DFI", + name: `${sourceToken.token.name} for EVM`, + domainType: DomainType.EVM, + }, + }; + + if (domain === DomainType.DVM) { + if (sourceToken.tokenId === "0") { + return isEvmFeatureEnabled + ? [ + defaultEvmTargetToken, + ...dvmTokens.filter((token) => token.tokenId === "0_utxo"), + ] + : dvmTokens.filter((token) => token.tokenId === "0_utxo"); + } else if (sourceToken.tokenId === "0_utxo") { + return dvmTokens.filter((token) => token.tokenId === "0"); + } else { + return isEvmFeatureEnabled ? [defaultEvmTargetToken] : []; + } + } else if (domain === DomainType.EVM && sourceToken.tokenId === "0_evm") { + return isEvmFeatureEnabled ? [defaultEvmTargetToken] : []; + } + } + + return domain === DomainType.DVM ? dvmTokens : evmTokens; + } + + function onTokenSelect(item: SelectionToken, listType: TokenListType): void { + let updatedConvertDirection = convertDirection; + if ( + sourceToken.tokenId === "0" && + listType === TokenListType.To && + item.tokenId === "0_utxo" + ) { + // If from:DFI-DVM -> to: accountToUtxos + updatedConvertDirection = ConvertDirection.accountToUtxos; + } else if ( + sourceToken.tokenId === "0_utxo" && + listType === TokenListType.To && + item.tokenId === "0" + ) { + // If from:DFI-UTXO -> to: utxosToAccount + updatedConvertDirection = ConvertDirection.utxosToAccount; + } else if ( + sourceToken.tokenId === "0" && + listType === TokenListType.To && + item.tokenId === "0_evm" + ) { + updatedConvertDirection = ConvertDirection.dvmToEvm; + } + + let updatedTargetToken: SelectionToken | undefined; + const defaultTargetToken = { + tokenId: + domain === DomainType.DVM + ? `${item.tokenId}_evm` + : item.tokenId.replace("_evm", ""), + available: new BigNumber(0), + token: { + ...item.token, + name: + domain === DomainType.DVM + ? `${item.token.name} for EVM` + : item.token.name, + domainType: DomainType.EVM, + }, + }; + + if (listType === TokenListType.From) { + /* Move to a hook since it's used in portfolio page and convert screen */ + if (domain === DomainType.DVM && item.tokenId === "0_utxo") { + // If DFI UTXO -> choose DFI Token + updatedTargetToken = + dvmTokens.find((token) => token.tokenId === "0") ?? + defaultTargetToken; + } else if (domain === DomainType.DVM && item.tokenId === "0") { + // If DFI Token -> no default + updatedTargetToken = undefined; + } else if (domain === DomainType.EVM) { + // If EVM -> choose DVM equivalent + updatedTargetToken = + dvmTokens.find( + (token) => token.tokenId === item.tokenId.replace("_evm", ""), + ) ?? defaultTargetToken; + } else if (domain === DomainType.DVM) { + // If DVM -> choose EVM equivalent + updatedTargetToken = + evmTokens.find((token) => token.tokenId === `${item.tokenId}_evm`) ?? + defaultTargetToken; + } + /* End of what will be moved into a hook */ + } else { + updatedTargetToken = item; + } + + navigation.navigate({ + name: "ConvertScreen", + params: { + sourceToken: listType === TokenListType.From ? item : sourceToken, + targetToken: updatedTargetToken, + convertDirection: updatedConvertDirection, + }, + key: updatedTargetToken?.tokenId, + merge: true, + }); + } + + function navigateToTokenSelectionScreen(listType: TokenListType): void { + navigation.navigate("SwapTokenSelectionScreen", { + fromToken: { + symbol: sourceToken.token.symbol, + displaySymbol: sourceToken.token.displaySymbol, + }, + listType: listType, + list: getListByDomain(listType), + onTokenPress: (item) => { + onTokenSelect(item, listType); + }, + isFutureSwap: false, + isConvert: true, + isSearchDTokensOnly: false, + }); + } + return ( - + + {isEvmFeatureEnabled && ( + { + navigateToTokenSelectionScreen(TokenListType.From); + }} + status={TokenDropdownButtonStatus.Enabled} + /> + )} + {!isEvmFeatureEnabled && ( + + )} @@ -287,9 +484,9 @@ export function ConvertScreen(props: Props): JSX.Element { ? "A small amount of UTXO is reserved for fees" : "", { - amount: new BigNumber(sourceToken.amount).toFixed(8), - unit: getDisplayUnit(sourceToken.unit), - } + amount: new BigNumber(sourceToken.available).toFixed(8), + unit: sourceToken.token.displaySymbol, + }, )} @@ -299,7 +496,10 @@ export function ConvertScreen(props: Props): JSX.Element { light={tailwind("border-mono-light-v2-300")} style={tailwind("border-b-0.5 flex-1 h-1/2")} /> - + - {translate("screens/ConvertScreen", "TO RECEIVE")} + {translate("screens/ConvertScreen", "TO CONVERT")} @@ -343,8 +543,13 @@ export function ConvertScreen(props: Props): JSX.Element { /> - - - - - - {canConvert(convAmount, sourceToken.amount) && ( - - {`${translate( - "screens/ConvertScreen", - "Review full details in the next screen" - )}`} - + {sourceToken.tokenId === "0" && isEvmFeatureEnabled && ( + { + navigateToTokenSelectionScreen(TokenListType.To); + }} + status={TokenDropdownButtonStatus.Enabled} + /> + )} + {((sourceToken.tokenId !== "0" && targetToken) || + (!isEvmFeatureEnabled && targetToken)) && ( + )} + + {targetToken !== undefined && ( + + + {canConvert(convAmount, sourceToken.available) && ( + + {translate( + "screens/ConvertScreen", + "Review full details in the next screen", + )} + + )} + + )} tk.id === "0_utxo") as AddressToken) - : (tokens.find((tk) => tk.id === "0") as AddressToken); - const sourceUnit = isUtxoToAccount(mode) - ? ConvertTokenUnit.UTXO - : ConvertTokenUnit.Token; - - const target: AddressToken = isUtxoToAccount(mode) - ? (tokens.find((tk) => tk.id === "0") as AddressToken) - : (tokens.find((tk) => tk.id === "0_utxo") as AddressToken); - const targetUnit = isUtxoToAccount(mode) - ? ConvertTokenUnit.Token - : ConvertTokenUnit.UTXO; - - return [ - { - ...source, - unit: sourceUnit, - amount: getConvertibleUtxoAmount(mode, source), - }, - { - ...target, - unit: targetUnit, - }, - ]; -} - -function ConvertToggleButton(props: { onPress: () => void }): JSX.Element { +function ConvertToggleButton(props: { + isDisabled: boolean; + onPress: () => void; +}): JSX.Element { return ( @@ -474,7 +675,7 @@ function ConvertToggleButton(props: { onPress: () => void }): JSX.Element { function ConversionResultCard(props: { unit: string; - oriTargetAmount: string; + oriTargetAmount: BigNumber; totalTargetAmount: string; }): JSX.Element { return ( @@ -491,9 +692,9 @@ function ConversionResultCard(props: { light={tailwind("text-mono-light-v2-500")} dark={tailwind("text-mono-dark-v2-500")} > - {`${translate("screens/ConvertScreen", "Available {{unit}}", { + {translate("screens/ConvertScreen", "Available {{unit}}", { unit: translate("screens/ConvertScreen", props.unit), - })}`} + })} - {`${translate("screens/ConvertScreen", "Resulting {{unit}}", { + {translate("screens/ConvertScreen", "Resulting {{unit}}", { unit: translate("screens/ConvertScreen", props.unit), - })}`} + })} {props.symbol !== undefined && Icon !== undefined && ( - <> - + + - - + {props.unit} - + )} ); diff --git a/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/EvmFeatureFaq.tsx b/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/EvmFeatureFaq.tsx new file mode 100644 index 0000000000..9abead7e22 --- /dev/null +++ b/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/EvmFeatureFaq.tsx @@ -0,0 +1,97 @@ +import { ThemedScrollViewV2, ThemedTextV2 } from "@components/themed"; +import { + AccordionContent, + WalletAccordionV2, +} from "@components/WalletAccordionV2"; +import { tailwind } from "@tailwind"; +import { translate } from "@translations"; + +export function EvmFeatureFaq(): JSX.Element { + const faqContent: AccordionContent[] = [ + { + title: translate( + "components/EvmFeatureFaq", + "What tokens are supported between DVM and EVM bidirectionally?", + ), + content: [ + { + text: translate( + "components/EvmFeatureFaq", + "All dTokens are accepted. dTokens consist of:\ndStocks (dTSLA, dGOOG.) + DFI\n\nFor the full list, you may refer to https://defiscan.live/tokens on any tokens under DAT category.", + ), + type: "paragraph", + }, + ], + }, + { + title: translate( + "components/EvmFeatureFaq", + "How can I access the MetaChain layer from the Light Wallet?", + ), + content: [ + { + text: translate( + "components/EvmFeatureFaq", + "Move your dTokens between native DeFiChain's native layer (DVM) and the MetaChain layer (EVM) bidirectionally.\n\nFor instance, transfer DFI/DUSD/dBTC or any other dToken from DVM to EVM and back, all directly within the Light Wallet.", + ), + type: "paragraph", + }, + ], + }, + { + title: translate( + "components/EvmFeatureFaq", + "Why would I need to move dTokens from DVM to EVM?", + ), + content: [ + { + text: translate( + "components/EvmFeatureFaq", + "Using the gateway allows you to move your dTokens from the Light Wallet to any EVM compatible wallet on the MetaChain layer (ex: MetaMask). This would allow you to interact with the constantly growing EVM ecosystem on MetaChain and the various projects on it.", + ), + type: "paragraph", + }, + ], + }, + { + title: translate( + "components/EvmFeatureFaq", + "How can I move dTokens from DVM to EVM?", + ), + content: [ + { + text: translate( + "components/EvmFeatureFaq", + 'You can do it through either the "Convert" or "Send" functions on Light Wallet. The "Convert" option allows you to convert any dTokens on DVM to your own EVM address within the Light Wallet (and vice versa).\n\nYour seed phrase can also be used to import your Light Wallet EVM address into any external wallets which support a 24 words recovery phrase like MetaMask.\n\nThe "Send" option allows you to send dTokens from your DVM address to any EVM address on the MetaChain layer and vice versa. Note that you do not need to convert your dTokens before sending, this process does it automatically for you.', + ), + type: "paragraph", + }, + ], + }, + ]; + + return ( + + + {translate( + "components/EvmFeatureFaq", + "The MetaChain layer provides an EVM-compatible environment that allows developers familiar with Ethereum to build applications inside the DeFiChain ecosystem.", + )} + + + + + ); +} diff --git a/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/OCG/CFPDetailScreen.tsx b/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/OCG/CFPDetailScreen.tsx index 00a457c237..d1d2bf4ca5 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/OCG/CFPDetailScreen.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/OCG/CFPDetailScreen.tsx @@ -32,6 +32,8 @@ import { useWhaleApiClient } from "@waveshq/walletkit-ui/dist/contexts"; import { OCGProposalType } from "@screens/AppNavigator/screens/Portfolio/screens/OCG/OCGProposalsScreen"; import { AddressRow } from "@screens/AppNavigator/screens/Portfolio/components/AddressRow"; import { ButtonGroupTabKey } from "@screens/AppNavigator/screens/Portfolio/screens/AddressBookScreen"; +import { DomainType } from "@contexts/DomainContext"; +import { ConvertDirection } from "@screens/enum"; export function CFPDetailScreen(): JSX.Element { const logger = useLogger(); @@ -47,16 +49,16 @@ export function CFPDetailScreen(): JSX.Element { const [isUrlValid, setUrlValid] = useState(false); const DFIToken = useSelector((state: RootState) => - DFITokenSelector(state.wallet) + DFITokenSelector(state.wallet), ); const DFIUtxo = useSelector((state: RootState) => - DFIUtxoSelector(state.wallet) + DFIUtxoSelector(state.wallet), ); const hasPendingJob = useSelector((state: RootState) => - hasTxQueued(state.transactionQueue) + hasTxQueued(state.transactionQueue), ); const hasPendingBroadcastJob = useSelector((state: RootState) => - hasOceanTXQueued(state.ocean) + hasOceanTXQueued(state.ocean), ); const { isConversionRequired, conversionAmount } = useConversion({ @@ -107,7 +109,7 @@ export function CFPDetailScreen(): JSX.Element { navigation.goBack(); await trigger("address"); }, - [navigation] + [navigation], ); function onContinuePress() { @@ -136,7 +138,7 @@ export function CFPDetailScreen(): JSX.Element { if (isConversionRequired) { queueConvertTransaction( { - mode: "accountToUtxos", + mode: ConvertDirection.accountToUtxos, amount: conversionAmount, }, dispatch, @@ -157,7 +159,7 @@ export function CFPDetailScreen(): JSX.Element { params, merge: true, }); - } + }, ); } else { navigation.navigate("OCGConfirmScreen", params); @@ -183,7 +185,7 @@ export function CFPDetailScreen(): JSX.Element { @@ -207,7 +209,7 @@ export function CFPDetailScreen(): JSX.Element { "screens/OCGDetailScreen", titleStatus.shouldShowError ? "Title exceeds max character limit of 128." - : "Make sure that the name added here is the same as from the one posted in GitHub or Reddit." + : "Make sure that the name added here is the same as from the one posted in GitHub or Reddit.", ), style: tailwind("pl-5", { "text-red-v2": titleStatus.shouldShowError, @@ -226,7 +228,7 @@ export function CFPDetailScreen(): JSX.Element { onChangeText={setAmount} title={translate( "screens/OCGDetailScreen", - "AMOUNT REQUESTED IN DFI" + "AMOUNT REQUESTED IN DFI", )} placeholder="0.00 DFI" inputContainerStyle={tailwind("py-4.5")} @@ -249,6 +251,7 @@ export function CFPDetailScreen(): JSX.Element { name: "AddressBookScreen", params: { selectedAddress: getValues("address"), + addressDomainType: DomainType.DVM, onAddressSelect, disabledTab: ButtonGroupTabKey.Whitelisted, }, @@ -278,7 +281,7 @@ export function CFPDetailScreen(): JSX.Element { > {translate( "screens/OCGDetailScreen", - "Review full proposal details in the next screen" + "Review full proposal details in the next screen", )} setCycle( - Math.min(Math.floor(Number(cycle) + 1), maxCycle).toString() + Math.min(Math.floor(Number(cycle) + 1), maxCycle).toString(), ) } onRemove={() => setCycle( - Math.max(Math.floor(Number(cycle) - 1), minCycle).toString() + Math.max(Math.floor(Number(cycle) - 1), minCycle).toString(), ) } leftDisabled={Number(cycle) <= minCycle} @@ -383,6 +386,6 @@ function getCFPFee(requestedAmount?: BigNumber): BigNumber { const CFP_MIN_FEE = 10; const amount = requestedAmount ?? new BigNumber(0); return new BigNumber( - Math.max(amount.multipliedBy(0.01).toNumber(), CFP_MIN_FEE) + Math.max(amount.multipliedBy(0.01).toNumber(), CFP_MIN_FEE), ); } diff --git a/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/OCG/DFIPDetailScreen.tsx b/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/OCG/DFIPDetailScreen.tsx index 6b12d5752b..94b0e6a50a 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/OCG/DFIPDetailScreen.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/OCG/DFIPDetailScreen.tsx @@ -27,6 +27,7 @@ import { useLogger } from "@shared-contexts/NativeLoggingProvider"; import { useWhaleApiClient } from "@waveshq/walletkit-ui/dist/contexts"; import { EnvironmentNetwork } from "@waveshq/walletkit-core"; import { OCGProposalType } from "@screens/AppNavigator/screens/Portfolio/screens/OCG/OCGProposalsScreen"; +import { ConvertDirection } from "@screens/enum"; export function DFIPDetailScreen(): JSX.Element { const logger = useLogger(); @@ -40,16 +41,16 @@ export function DFIPDetailScreen(): JSX.Element { const proposalFee = getDFIPFee(network); const DFIToken = useSelector((state: RootState) => - DFITokenSelector(state.wallet) + DFITokenSelector(state.wallet), ); const DFIUtxo = useSelector((state: RootState) => - DFIUtxoSelector(state.wallet) + DFIUtxoSelector(state.wallet), ); const hasPendingJob = useSelector((state: RootState) => - hasTxQueued(state.transactionQueue) + hasTxQueued(state.transactionQueue), ); const hasPendingBroadcastJob = useSelector((state: RootState) => - hasOceanTXQueued(state.ocean) + hasOceanTXQueued(state.ocean), ); const { isConversionRequired, conversionAmount } = useConversion({ inputToken: { @@ -108,7 +109,7 @@ export function DFIPDetailScreen(): JSX.Element { if (isConversionRequired) { queueConvertTransaction( { - mode: "accountToUtxos", + mode: ConvertDirection.accountToUtxos, amount: conversionAmount, }, dispatch, @@ -129,7 +130,7 @@ export function DFIPDetailScreen(): JSX.Element { params, merge: true, }); - } + }, ); } else { navigation.navigate("OCGConfirmScreen", params); @@ -157,7 +158,7 @@ export function DFIPDetailScreen(): JSX.Element { "screens/OCGDetailScreen", titleStatus.shouldShowError ? "Title exceeds max character limit of 128." - : "Make sure that the name added here is the same as from the one posted in GitHub or Reddit." + : "Make sure that the name added here is the same as from the one posted in GitHub or Reddit.", ), style: tailwind("pl-5", { "text-red-v2": titleStatus.shouldShowError, @@ -184,7 +185,7 @@ export function DFIPDetailScreen(): JSX.Element { > {translate( "screens/OCGDetailScreen", - "Review full proposal details in the next screen" + "Review full proposal details in the next screen", )} ({ setStringAsync: jest.fn(), })); diff --git a/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/ReceiveScreen.tsx b/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/ReceiveScreen.tsx index 85ca211127..168858ec4b 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/ReceiveScreen.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/ReceiveScreen.tsx @@ -17,10 +17,11 @@ import { useLogger, } from "@shared-contexts/NativeLoggingProvider"; import { debounce } from "lodash"; +import { DomainType, useDomainContext } from "@contexts/DomainContext"; export async function onShare( address: string, - logger: NativeLoggingProps + logger: NativeLoggingProps, ): Promise { try { await Share.share({ @@ -33,10 +34,12 @@ export async function onShare( export function ReceiveScreen(): JSX.Element { const logger = useLogger(); - const { address } = useWalletContext(); + const { address, evmAddress } = useWalletContext(); const [showToast, setShowToast] = useState(false); const toast = useToast(); + const { domain } = useDomainContext(); const TOAST_DURATION = 2000; + const receiveAddress = domain === DomainType.EVM ? evmAddress : address; const copyToClipboard = useCallback( debounce(() => { @@ -46,7 +49,7 @@ export function ReceiveScreen(): JSX.Element { setShowToast(true); setTimeout(() => setShowToast(false), TOAST_DURATION); }, 500), - [showToast] + [showToast], ); useEffect(() => { @@ -59,7 +62,7 @@ export function ReceiveScreen(): JSX.Element { } else { toast.hideAll(); } - }, [showToast, address]); + }, [showToast, receiveAddress]); return ( {translate( "screens/ReceiveScreen", - "Use QR or Wallet address to receive any tokens (DST) or DFI" + "Scan QR code to receive any dTokens (eg. DUSD,dBTC..) or DFI", )} - + @@ -99,14 +102,14 @@ export function ReceiveScreen(): JSX.Element { style={tailwind("font-normal-v2 text-sm text-center pb-12 px-5")} testID="address_text" > - {address} + {receiveAddress} { copyToClipboard(); - await Clipboard.setStringAsync(address); + await Clipboard.setStringAsync(receiveAddress); }} testID="copy_button" > @@ -119,7 +122,7 @@ export function ReceiveScreen(): JSX.Element { dark={tailwind("border-mono-dark-v2-300")} light={tailwind("border-mono-light-v2-300")} style={tailwind( - "py-4 mx-5 flex-row justify-center items-center border-b" + "py-4 mx-5 flex-row justify-center items-center border-b", )} > { - await onShare(address, logger); + await onShare(receiveAddress, logger); }} testID="share_button" > diff --git a/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/SendConfirmationScreen.tsx b/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/SendConfirmationScreen.tsx index 4b35a0ed21..e2ecddfc61 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/SendConfirmationScreen.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/SendConfirmationScreen.tsx @@ -32,7 +32,7 @@ import { import { useAppDispatch } from "@hooks/useAppDispatch"; import { useAddressLabel } from "@hooks/useAddressLabel"; import { View } from "@components"; -import { ScreenName } from "@screens/enum"; +import { ConvertDirection, ScreenName } from "@screens/enum"; import { ThemedActivityIndicatorV2, ThemedIcon, @@ -44,12 +44,20 @@ import { import { SummaryTitle } from "@components/SummaryTitle"; import { NumberRowV2 } from "@components/NumberRowV2"; import { SubmitButtonGroup } from "@components/SubmitButtonGroup"; +import { transferDomainSigner } from "@api/transaction/transfer_domain"; +import { + getAddressType, + AddressType as JellyfishAddressType, +} from "@waveshq/walletkit-core"; +import { DomainType, useDomainContext } from "@contexts/DomainContext"; +import { useEVMProvider } from "@contexts/EVMProvider"; import { PortfolioParamList } from "../PortfolioNavigator"; type Props = StackScreenProps; export function SendConfirmationScreen({ route }: Props): JSX.Element { - const { address } = useWalletContext(); + const { domain } = useDomainContext(); + const { address, evmAddress } = useWalletContext(); const addressLabel = useAddressLabel(address); const network = useNetworkContext(); const { @@ -62,15 +70,18 @@ export function SendConfirmationScreen({ route }: Props): JSX.Element { toAddressLabel, addressType, originScreen, + matchedAddress, } = route.params; const logger = useLogger(); + const isEvmDomain = domain === DomainType.EVM; const hasPendingJob = useSelector((state: RootState) => - hasTxQueued(state.transactionQueue) + hasTxQueued(state.transactionQueue), ); const hasPendingBroadcastJob = useSelector((state: RootState) => - hasOceanTXQueued(state.ocean) + hasOceanTXQueued(state.ocean), ); const dispatch = useAppDispatch(); + const { provider, chainId } = useEVMProvider(); const [isSubmitting, setIsSubmitting] = useState(false); const navigation = useNavigation>(); const [isOnPage, setIsOnPage] = useState(true); @@ -90,18 +101,22 @@ export function SendConfirmationScreen({ route }: Props): JSX.Element { return; } setIsSubmitting(true); + const nonce = provider ? await provider.getTransactionCount(evmAddress) : 0; await send( { address: destination, token, amount, + domain, + chainId, + nonce, networkName: network.networkName, }, dispatch, () => { onTransactionBroadcast(isOnPage, navigation.dispatch); }, - logger + logger, ); setIsSubmitting(false); } @@ -112,7 +127,7 @@ export function SendConfirmationScreen({ route }: Props): JSX.Element { title: translate("screens/Settings", "Cancel transaction"), message: translate( "screens/Settings", - "By cancelling, you will lose any changes you made for your transaction." + "By cancelling, you will lose any changes you made for your transaction.", ), buttons: [ { @@ -126,7 +141,7 @@ export function SendConfirmationScreen({ route }: Props): JSX.Element { navigation.navigate( originScreen === ScreenName.DEX_screen ? ScreenName.DEX_screen - : ScreenName.PORTFOLIO_screen + : ScreenName.PORTFOLIO_screen, ); }, }, @@ -142,13 +157,15 @@ export function SendConfirmationScreen({ route }: Props): JSX.Element { amount={amount} title={translate("screens/SendConfirmationScreen", "You are sending")} testID="text_send_amount" - iconA={tokenADisplaySymbol} + iconA={token.id === "0_evm" ? "DFI (EVM)" : tokenADisplaySymbol} iconB={tokenBDisplaySymbol} - fromAddress={address} + fromAddress={isEvmDomain ? evmAddress : address} + isEvmToken={isEvmDomain} fromAddressLabel={addressLabel} toAddress={destination} toAddressLabel={toAddressLabel} addressType={addressType} + matchedAddress={matchedAddress} /> {conversion?.isConversionRequired === true && ( @@ -164,7 +181,7 @@ export function SendConfirmationScreen({ route }: Props): JSX.Element { lhs={{ value: translate( "screens/SendConfirmationScreen", - "Amount to convert" + "Amount to convert", ), testID: "amount_to_convert", themedProps: { @@ -184,7 +201,7 @@ export function SendConfirmationScreen({ route }: Props): JSX.Element { /> {conversion?.isConverted !== true && ( @@ -221,7 +238,7 @@ export function SendConfirmationScreen({ route }: Props): JSX.Element { containerStyle={{ style: tailwind( "flex-row items-start w-full bg-transparent border-t-0.5 pt-5", - { "mt-8": conversion?.isConversionRequired !== true } + { "mt-8": conversion?.isConversionRequired !== true }, ), light: tailwind("bg-transparent border-mono-light-v2-300"), dark: tailwind("bg-transparent border-mono-dark-v2-300"), @@ -229,7 +246,7 @@ export function SendConfirmationScreen({ route }: Props): JSX.Element { lhs={{ value: translate( "screens/SendConfirmationScreen", - "Transaction fee" + "Transaction fee", ), testID: "transaction_fee", themedProps: { @@ -250,7 +267,7 @@ export function SendConfirmationScreen({ route }: Props): JSX.Element { {translate( "screens/SendConfirmationScreen", - "I acknowledge that sending LP tokens to addresses that are not DeFiChain compatible wallets may result in irreversible loss of funds." + "I acknowledge that sending LP tokens to addresses that are not DeFiChain compatible wallets may result in irreversible loss of funds.", )} @@ -346,62 +363,81 @@ interface SendForm { amount: BigNumber; address: string; token: WalletToken; + domain: DomainType; + nonce: number; + chainId?: number; networkName: NetworkName; } async function send( - { address, token, amount, networkName }: SendForm, + { address, token, amount, domain, networkName, nonce, chainId }: SendForm, dispatch: Dispatch, onBroadcast: () => void, - logger: NativeLoggingProps + logger: NativeLoggingProps, ): Promise { try { - const to = DeFiAddress.from(networkName, address).getScript(); - - const signer = async ( - account: WhaleWalletAccount - ): Promise => { - const script = await account.getScript(); - const builder = account.withTransactionBuilder(); - - let signed: TransactionSegWit; - if (token.symbol === "DFI") { - /* if (amount.gte(token.amount)) signed = await builder.utxo.sendAll(to) - else */ - signed = await builder.utxo.send(amount, to, script); - } else { - signed = await builder.account.accountToAccount( - { - from: script, - to: [ - { - script: to, - balances: [ - { - token: +token.id, - amount, - }, - ], - }, - ], - }, - script - ); - } - return new CTransactionSegWit(signed); - }; - + const jellyfishAddressType = getAddressType(address, networkName); + const isDvmToDvmSend = + domain === DomainType.DVM && + jellyfishAddressType !== JellyfishAddressType.ETH; + const fromDisplaySymbol = token.id.includes("_evm") + ? `${token.displaySymbol} (EVM)` + : token.displaySymbol; dispatch( transactionQueue.actions.push({ - sign: signer, + sign: async (account: WhaleWalletAccount) => { + if (isDvmToDvmSend) { + return await dvmToDvmSendSigner( + account, + token, + amount, + address, + networkName, + ); + } else { + const sendDirection = + domain === DomainType.DVM + ? ConvertDirection.dvmToEvm + : ConvertDirection.evmToDvm; + const isEvmToDvm = sendDirection === ConvertDirection.evmToDvm; + const tokenId = token.id === "0_unified" ? "0" : token.id; + const sourceTokenId = + isEvmToDvm && !tokenId.includes("_evm") + ? `${tokenId}_evm` + : tokenId; + const targetTokenId = + !isEvmToDvm && !tokenId.includes("_evm") + ? `${tokenId}_evm` + : tokenId; + const dvmAddress = isEvmToDvm + ? address + : await account.getAddress(); + const evmAddress = isEvmToDvm + ? await account.getEvmAddress() + : address; + + return await transferDomainSigner({ + account, + sourceTokenId, + targetTokenId, + amount, + dvmAddress, + evmAddress, + networkName, + nonce, + chainId, + convertDirection: sendDirection, + }); + } + }, title: translate( "screens/SendConfirmationScreen", "Sending {{amount}} {{displaySymbol}} to {{toAddress}}", { amount: amount.toFixed(8), - displaySymbol: token.displaySymbol, + displaySymbol: fromDisplaySymbol, toAddress: address, - } + }, ), drawerMessages: { preparing: translate("screens/OceanInterface", "Preparing to send…"), @@ -410,22 +446,60 @@ async function send( "Sending {{amount}} {{displaySymbol}}", { amount: amount.toFixed(8), - displaySymbol: token.displaySymbol, - } + displaySymbol: fromDisplaySymbol, + }, ), complete: translate( "screens/OceanInterface", "{{amount}} {{displaySymbol}} sent", { amount: amount.toFixed(8), - displaySymbol: token.displaySymbol, - } + displaySymbol: fromDisplaySymbol, + }, ), }, onBroadcast, - }) + }), ); } catch (e) { logger.error(e); } } + +async function dvmToDvmSendSigner( + account: WhaleWalletAccount, + token: WalletToken, + amount: BigNumber, + address: string, + networkName: NetworkName, +): Promise { + const to = DeFiAddress.from(networkName, address).getScript(); + const script = await account.getScript(); + const builder = account.withTransactionBuilder(); + + let signed: TransactionSegWit; + if (token.symbol === "DFI") { + /* if (amount.gte(token.amount)) signed = await builder.utxo.sendAll(to) + else */ + signed = await builder.utxo.send(amount, to, script); + } else { + signed = await builder.account.accountToAccount( + { + from: script, + to: [ + { + script: to, + balances: [ + { + token: +token.id, + amount, + }, + ], + }, + ], + }, + script, + ); + } + return new CTransactionSegWit(signed); +} diff --git a/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/SendScreen.tsx b/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/SendScreen.tsx index 7a60cdbf93..f0b2546d53 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/SendScreen.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/SendScreen.tsx @@ -20,7 +20,7 @@ import { tokensSelector, WalletToken, } from "@waveshq/walletkit-ui/dist/store"; -import { LocalAddress } from "@store/userPreferences"; +import { LocalAddress, WhitelistedAddress } from "@store/userPreferences"; import { useDisplayUtxoWarning } from "@hooks/wallet/DisplayUtxoWarning"; import { queueConvertTransaction, @@ -42,6 +42,12 @@ import { import { KeyboardAwareScrollView } from "react-native-keyboard-aware-scroll-view"; import { useSafeAreaInsets } from "react-native-safe-area-context"; import { AddressRow } from "@screens/AppNavigator/screens/Portfolio/components/AddressRow"; +import { DomainType, useDomainContext } from "@contexts/DomainContext"; +import { ConvertDirection } from "@screens/enum"; +import { + AddressType as AddressCategory, + getAddressType as getAddressCategory, +} from "@waveshq/walletkit-core"; import { useTokenPrice } from "../hooks/TokenPrice"; import { ActiveUSDValueV2 } from "../../Loans/VaultDetail/components/ActiveUSDValueV2"; import { PortfolioParamList } from "../PortfolioNavigator"; @@ -65,6 +71,7 @@ export interface BottomSheetToken { export function SendScreen({ route, navigation }: Props): JSX.Element { const dispatch = useAppDispatch(); const logger = useLogger(); + const { isEvmFeatureEnabled } = useDomainContext(); const { networkName } = useNetworkContext(); const client = useWhaleApiClient(); const { isLight } = useThemeContext(); @@ -76,27 +83,31 @@ export function SendScreen({ route, navigation }: Props): JSX.Element { const bottomInset = useSafeAreaInsets().bottom; const tokens = useSelector((state: RootState) => - tokensSelector(state.wallet) + tokensSelector(state.wallet), ); const hasPendingJob = useSelector((state: RootState) => - hasTxQueued(state.transactionQueue) + hasTxQueued(state.transactionQueue), ); const hasPendingBroadcastJob = useSelector((state: RootState) => - hasOceanTXQueued(state.ocean) + hasOceanTXQueued(state.ocean), ); const DFIUtxo = useSelector((state: RootState) => - DFIUtxoSelector(state.wallet) + DFIUtxoSelector(state.wallet), ); const DFIToken = useSelector((state: RootState) => - DFITokenSelector(state.wallet) + DFITokenSelector(state.wallet), ); + const { domain } = useDomainContext(); const [token, setToken] = useState(route.params?.token); - const [matchedAddress, setMatchedAddress] = useState(); + const [matchedAddress, setMatchedAddress] = useState< + LocalAddress | WhitelistedAddress + >(); const [fee, setFee] = useState(new BigNumber(0.0001)); const [transactionCardStatus, setTransactionCardStatus] = useState( - TransactionCardStatus.Default + TransactionCardStatus.Default, ); + const [addressLabel, setAddressLabel] = useState(""); // form const { control, setValue, formState, getValues, trigger, watch } = useForm({ @@ -104,20 +115,33 @@ export function SendScreen({ route, navigation }: Props): JSX.Element { }); const { address } = watch(); const amountToSend = getValues("amount"); + const isEvmAddress = + getAddressCategory(getValues("address"), networkName) === + AddressCategory.ETH; + const [addressType, setAddressType] = useState(); + const getInputTokenType = () => { + if (token?.id === "0_unified") { + if (isEvmAddress) { + return "token"; + } + return "utxo"; + } + return "others"; + }; const { isConversionRequired, conversionAmount } = useConversion({ inputToken: { - type: token?.id === "0_unified" ? "utxo" : "others", + type: getInputTokenType(), amount: new BigNumber(amountToSend), }, - deps: [amountToSend, JSON.stringify(token)], + deps: [amountToSend, JSON.stringify(token), isEvmAddress], }); const reservedDFI = 0.1; const isReservedUtxoUsed = getDisplayUtxoWarningStatus( new BigNumber(amountToSend), - token?.displaySymbol ?? "" + token?.displaySymbol ?? "", ); const amountInputRef = useRef(); @@ -141,6 +165,25 @@ export function SendScreen({ route, navigation }: Props): JSX.Element { light: tailwind("text-red-v2"), }; status = TransactionCardStatus.Error; + } else if (isEvmAddress && !isEvmFeatureEnabled) { + infoText = + "Transferring non-DAT tokens or LP tokens to an EVM address is not enabled"; + themedProps = { + dark: tailwind("text-red-v2"), + light: tailwind("text-red-v2"), + }; + status = TransactionCardStatus.Error; + } else if ( + isEvmAddress && + (token?.isDAT === false || token?.isLPS === true) + ) { + infoText = + "Transferring non-DAT tokens or LP tokens to an EVM address is not supported"; + themedProps = { + dark: tailwind("text-red-v2"), + light: tailwind("text-red-v2"), + }; + status = TransactionCardStatus.Error; } else if ( token?.isLPS === true && new BigNumber(amountToSend).isGreaterThan(0) @@ -173,7 +216,7 @@ export function SendScreen({ route, navigation }: Props): JSX.Element { style: tailwind("text-xs mt-2 ml-5 font-normal-v2"), }, }; - }, [token, isReservedUtxoUsed, amountToSend]); + }, [token, isReservedUtxoUsed, amountToSend, address]); useEffect(() => { setToken(route.params.token); @@ -201,10 +244,10 @@ export function SendScreen({ route, navigation }: Props): JSX.Element { setToken({ ...t, amount: - t.displaySymbol === "DFI" + t.displaySymbol === "DFI" && t.id !== "0_evm" ? BigNumber.max( new BigNumber(t.amount).minus(reservedDFI), - 0 + 0, ).toFixed(8) : t.amount, }); @@ -238,7 +281,7 @@ export function SendScreen({ route, navigation }: Props): JSX.Element { navigation.goBack(); await trigger("address"); }, - [navigation] + [navigation], ); async function onSubmit(): Promise { @@ -258,14 +301,17 @@ export function SendScreen({ route, navigation }: Props): JSX.Element { amount: new BigNumber(values.amount), amountInUsd: amountInUSDValue, fee, - toAddressLabel: matchedAddress?.label, + toAddressLabel: addressLabel, addressType, + matchedAddress, }; if (isConversionRequired) { queueConvertTransaction( { - mode: "accountToUtxos", + mode: isEvmAddress + ? ConvertDirection.utxosToAccount + : ConvertDirection.accountToUtxos, amount: conversionAmount, }, dispatch, @@ -296,7 +342,7 @@ export function SendScreen({ route, navigation }: Props): JSX.Element { params, merge: true, }); - } + }, ); } else { navigation.navigate({ @@ -318,7 +364,7 @@ export function SendScreen({ route, navigation }: Props): JSX.Element { contentContainerStyle={tailwind("pt-6 pb-8")} testID="send_screen" style={tailwind( - `${isLight ? "bg-mono-light-v2-100" : "bg-mono-dark-v2-100"}` + `${isLight ? "bg-mono-light-v2-100" : "bg-mono-dark-v2-100"}`, )} extraScrollHeight={-BOTTOM_NAV_HEIGHT - bottomInset} > @@ -326,7 +372,7 @@ export function SendScreen({ route, navigation }: Props): JSX.Element { {translate( "screens/SendScreen", - "Select a token you want to send to get started" + "Select a token you want to send to get started", )} )} @@ -341,7 +387,7 @@ export function SendScreen({ route, navigation }: Props): JSX.Element { render={({ field: { onChange, value } }) => ( new BigNumber( - value !== undefined && value !== "" ? value : 0 + value !== undefined && value !== "" ? value : 0, ).isGreaterThan(0), }, }} @@ -389,7 +435,7 @@ export function SendScreen({ route, navigation }: Props): JSX.Element { }} onAmountChange={async ( amount: string, - type: AmountButtonTypes + type: AmountButtonTypes, ) => { showToast(type); setValue("amount", amount, { shouldDirty: true }); @@ -411,6 +457,7 @@ export function SendScreen({ route, navigation }: Props): JSX.Element { name: "AddressBookScreen", params: { selectedAddress: getValues("address"), + addressDomainType: domain, onAddressSelect, }, merge: true, @@ -439,6 +486,9 @@ export function SendScreen({ route, navigation }: Props): JSX.Element { address={address} onMatchedAddress={setMatchedAddress} onAddressType={setAddressType} + matchedAddress={matchedAddress} + setMatchedAddress={setMatchedAddress} + setAddressLabel={setAddressLabel} /> )} @@ -454,11 +504,11 @@ export function SendScreen({ route, navigation }: Props): JSX.Element { {isConversionRequired ? translate( "screens/SendScreen", - "By continuing, the required amount of DFI will be converted" + "By continuing, the required amount of DFI will be converted", ) : translate( "screens/SendScreen", - "Review full details in the next screen" + "Review full details in the next screen", )} )} @@ -494,6 +544,7 @@ function AmountCard({ onPress, onAmountChange, }: AmountForm): JSX.Element { + const { domain } = useDomainContext(); const maxAmount = BigNumber.max(token.amount, 0); return ( <> @@ -514,7 +565,7 @@ function AmountCard({ > diff --git a/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/TokenDetailScreen.tsx b/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/TokenDetailScreen.tsx index 2c8a12d44c..d92d7a6674 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/TokenDetailScreen.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/TokenDetailScreen.tsx @@ -13,7 +13,10 @@ import { unifiedDFISelector, WalletToken, } from "@waveshq/walletkit-ui/dist/store"; -import { useDeFiScanContext } from "@shared-contexts/DeFiScanContext"; +import { + getMetaScanTokenUrl, + useDeFiScanContext, +} from "@shared-contexts/DeFiScanContext"; import { PoolPairData } from "@defichain/whale-api-client/dist/api/poolpairs"; import { View } from "@components"; import { @@ -29,14 +32,17 @@ import { RootState } from "@store"; import { ButtonV2 } from "@components/ButtonV2"; import { InfoTextLinkV2 } from "@components/InfoTextLink"; import { ThemedTouchableListItem } from "@components/themed/ThemedTouchableListItem"; +import { ConvertDirection } from "@screens/enum"; +import { DomainType, useDomainContext } from "@contexts/DomainContext"; +import { useNetworkContext } from "@waveshq/walletkit-ui"; import { PortfolioParamList } from "../PortfolioNavigator"; -import { ConversionMode } from "./ConvertScreen"; import { useTokenPrice } from "../hooks/TokenPrice"; import { useDenominationCurrency } from "../hooks/PortfolioCurrency"; import { TokenBreakdownDetailsV2 } from "../components/TokenBreakdownDetailsV2"; import { getPrecisedTokenValue } from "../../Auctions/helpers/precision-token-value"; import { PortfolioButtonGroupTabKey } from "../components/TotalPortfolio"; import { TokenIcon } from "../components/TokenIcon"; +import { useTokenBalance } from "../hooks/TokenBalance"; interface TokenActionItems { title: string; @@ -50,7 +56,7 @@ interface TokenActionItems { type Props = StackScreenProps; const usePoolPairToken = ( - tokenParam: WalletToken + tokenParam: WalletToken, ): { pair?: PoolPairData; token: WalletToken; @@ -58,7 +64,7 @@ const usePoolPairToken = ( } => { const pairs = useSelector((state: RootState) => state.wallet.poolpairs); const tokens = useSelector((state: RootState) => - tokensSelector(state.wallet) + tokensSelector(state.wallet), ); // state @@ -104,28 +110,32 @@ const usePoolPairToken = ( export function TokenDetailScreen({ route, navigation }: Props): JSX.Element { const { denominationCurrency } = useDenominationCurrency(); + const { domain } = useDomainContext(); + const { hasFetchedToken } = useSelector((state: RootState) => state.wallet); const { getTokenPrice } = useTokenPrice(denominationCurrency); // input based on selected denomination from portfolio tab const DFIUnified = useSelector((state: RootState) => - unifiedDFISelector(state.wallet) + unifiedDFISelector(state.wallet), ); const availableValue = getTokenPrice( DFIUnified.symbol, - new BigNumber(DFIUnified.amount) + new BigNumber(DFIUnified.amount), ); const DFIToken = useSelector((state: RootState) => - DFITokenSelector(state.wallet) + DFITokenSelector(state.wallet), ); const DFIUtxo = useSelector((state: RootState) => - DFIUtxoSelector(state.wallet) + DFIUtxoSelector(state.wallet), ); const { pair, token, swapTokenDisplaySymbol } = usePoolPairToken( - route.params.token + route.params.token, ); + const { dvmTokens, evmTokens } = useTokenBalance(); + // usdAmount for crypto tokens, undefined for DFI token const { usdAmount } = route.params.token; - + const isEvmDomain = domain === DomainType.EVM; const onNavigateLiquidity = ({ destination, pair, @@ -180,21 +190,24 @@ export function TokenDetailScreen({ route, navigation }: Props): JSX.Element { token={token} border usdAmount={usdAmount ?? new BigNumber(0)} + isEvmDomain={isEvmDomain} /> - - {token.symbol === "DFI" && ( + {!isEvmDomain && ( + + )} + {token.symbol === "DFI" && token.id !== "0_evm" && ( navigation.navigate("Receive")} testID="receive_button" - title={`${translate("screens/TokenDetailScreen", "Receive")}`} + title={translate("screens/TokenDetailScreen", "Receive")} /> )} - {token.symbol === "DFI" && ( + {token.symbol === "DFI" && token.id !== "0_evm" && ( + { + const convertDirection: ConvertDirection = + token.id === "0_utxo" + ? ConvertDirection.utxosToAccount + : ConvertDirection.accountToUtxos; + + const utxoToken = dvmTokens.find( + (token) => token.tokenId === "0_utxo", + ); + const dfiToken = dvmTokens.find( + (token) => token.tokenId === "0", + ); + const [sourceToken, targetToken] = + convertDirection === ConvertDirection.utxosToAccount + ? [utxoToken, dfiToken] + : [dfiToken, utxoToken]; + + navigation.navigate({ + name: "ConvertScreen", + params: { + sourceToken, + targetToken, + convertDirection, + }, + merge: true, + }); + }} + testID="convert_button" + title={translate( + "screens/TokenDetailScreen", + "Convert to {{symbol}}", + { symbol: "Token/UTXO" }, + )} + /> + )} + + {token.id === "0_evm" && ( { - const mode: ConversionMode = - token.id === "0_utxo" ? "utxosToAccount" : "accountToUtxos"; + const convertDirection: ConvertDirection = + domain === DomainType.DVM + ? ConvertDirection.dvmToEvm + : ConvertDirection.evmToDvm; + + const evmToken = evmTokens.find( + (token) => token.tokenId === "0_evm", + ); + const dfiToken = dvmTokens.find( + (token) => token.tokenId === "0", + ); + const [sourceToken, targetToken] = + convertDirection === ConvertDirection.evmToDvm + ? [evmToken, dfiToken] + : [dfiToken, evmToken]; + navigation.navigate({ name: "ConvertScreen", - params: { mode }, + params: { + sourceToken, + targetToken, + convertDirection, + }, merge: true, }); }} testID="convert_button" - title={`${translate( + title={translate( "screens/TokenDetailScreen", "Convert to {{symbol}}", - { symbol: `${token.id === "0_utxo" ? "Token" : "UTXO"}` } - )}`} + { symbol: "Token" }, + )} /> )} {token.isLPS && pair !== undefined && ( @@ -289,7 +366,7 @@ export function TokenDetailScreen({ route, navigation }: Props): JSX.Element { testID="remove_liquidity_button" title={translate( "screens/TokenDetailScreen", - "Remove liquidity" + "Remove liquidity", )} /> )} @@ -325,13 +402,13 @@ export function TokenDetailScreen({ route, navigation }: Props): JSX.Element { testID="add_liquidity_button" label={translate( "screens/TokenDetailScreen", - "Add liquidity" + "Add liquidity", )} /> )} - {token.symbol === "DFI" && ( + {token.symbol === "DFI" && !isEvmDomain && ( @@ -370,28 +447,24 @@ function TokenSummary(props: { token: WalletToken; border?: boolean; usdAmount: BigNumber; + isEvmDomain?: boolean; }): JSX.Element { const { denominationCurrency } = useDenominationCurrency(); const { getTokenUrl } = useDeFiScanContext(); + const { network } = useNetworkContext(); const onTokenUrlPressed = async (): Promise => { const id = - props.token.id === "0_utxo" || props.token.id === "0_unified" + props.token.id === "0_utxo" || + props.token.id === "0_unified" || + props.token.id === "0_evm" ? 0 : props.token.id; - const url = getTokenUrl(id); + const url = props.token.id.includes("_evm") + ? getMetaScanTokenUrl(network, props.token.id) + : getTokenUrl(id); await Linking.openURL(url); }; - const DFIUnified = useSelector((state: RootState) => - unifiedDFISelector(state.wallet) - ); - const { getTokenPrice } = useTokenPrice(denominationCurrency); // input based on selected denomination from portfolio tab - const dfiUsdAmount = getTokenPrice( - DFIUnified.symbol, - new BigNumber(DFIUnified.amount), - DFIUnified.isLPS - ); - return ( @@ -420,7 +495,7 @@ function TokenSummary(props: { dark={tailwind("text-mono-dark-v2-700")} style={tailwind("text-sm font-normal-v2")} > - {props.token.name} + {props.token.name || props.token.symbol} ( )} thousandSeparator - value={ - props.token.symbol === "DFI" - ? getPrecisedTokenValue(dfiUsdAmount) - : getPrecisedTokenValue(props.usdAmount) - } + value={getPrecisedTokenValue(props.usdAmount)} /> )} diff --git a/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/TokenSelectionScreen.tsx b/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/TokenSelectionScreen.tsx index 2fa8b1dfe9..215de23ffa 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/TokenSelectionScreen.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/TokenSelectionScreen.tsx @@ -27,10 +27,12 @@ import { SkeletonLoaderScreen, } from "@components/SkeletonLoader"; import { ListRenderItemInfo } from "@shopify/flash-list"; +import { DomainType, useDomainContext } from "@contexts/DomainContext"; import { PortfolioParamList } from "../PortfolioNavigator"; import { ActiveUSDValueV2 } from "../../Loans/VaultDetail/components/ActiveUSDValueV2"; import { TokenIcon } from "../components/TokenIcon"; import { TokenNameText } from "../components/TokenNameText"; +import { useEvmTokenBalances } from "../hooks/EvmTokenBalances"; export interface TokenSelectionItem extends BottomSheetToken { usdAmount: BigNumber; @@ -51,25 +53,37 @@ export interface BottomSheetToken { export function TokenSelectionScreen(): JSX.Element { const { isLight } = useThemeContext(); + const { domain } = useDomainContext(); const navigation = useNavigation>(); const tokens = useSelector((state: RootState) => - tokensSelector(state.wallet) + tokensSelector(state.wallet), ); + const { evmTokens } = useEvmTokenBalances(); + const { hasFetchedToken } = useSelector((state: RootState) => state.wallet); + const { hasFetchedEvmTokens } = useSelector((state: RootState) => state.evm); const [searchString, setSearchString] = useState(""); const { getTokenPrice } = useTokenPrice(); const debouncedSearchTerm = useDebounce(searchString, 250); const [isSearchFocus, setIsSearchFocus] = useState(false); const searchRef = useRef(); + const isEvmDomain = domain === DomainType.EVM; + + const filteredTokensByDomain = isEvmDomain ? evmTokens : tokens; - const tokensWithBalance = getTokensWithBalance(tokens, getTokenPrice); + const tokensWithBalance = getTokensWithBalance( + filteredTokensByDomain, + getTokenPrice, + ); const filteredTokensWithBalance = useMemo(() => { return filterTokensBySearchTerm(tokensWithBalance, debouncedSearchTerm); }, [tokensWithBalance, debouncedSearchTerm]); - if (hasFetchedToken && tokensWithBalance.length === 0) { - return ; + const hasFetchedDvmEvmTokens = + hasFetchedToken || (isEvmDomain && hasFetchedEvmTokens); + if (hasFetchedDvmEvmTokens && tokensWithBalance.length === 0) { + return ; } return ( @@ -84,11 +98,14 @@ export function TokenSelectionScreen(): JSX.Element { return ( { navigation.navigate({ name: "SendScreen", params: { - token: tokens.find((t) => item.tokenId === t.id), + token: filteredTokensByDomain.find( + (t) => t.id === item.tokenId, + ), }, merge: true, }); @@ -118,7 +135,7 @@ export function TokenSelectionScreen(): JSX.Element { }} placeholder={translate( "screens/TokenSelectionScreen", - "Search token" + "Search token", )} showClearButton={debouncedSearchTerm !== ""} onClearInput={() => { @@ -138,7 +155,7 @@ export function TokenSelectionScreen(): JSX.Element { ref={searchRef} /> - {(!hasFetchedToken || debouncedSearchTerm.trim() === "") && ( + {(!hasFetchedDvmEvmTokens || debouncedSearchTerm.trim() === "") && ( )} - {hasFetchedToken && debouncedSearchTerm.trim() !== "" && ( + {hasFetchedDvmEvmTokens && debouncedSearchTerm.trim() !== "" && ( )} - {!hasFetchedToken && ( + {!hasFetchedDvmEvmTokens && ( @@ -202,7 +221,9 @@ function TokenSelectionRow({ token={{ isLPS: item.token.isLPS, displaySymbol: item.token.displaySymbol, + id: item.tokenId, }} + isEvmToken={isEvmDomain} size={36} /> ; + isEvmDomain: boolean; }): JSX.Element { return ( @@ -268,15 +291,17 @@ function EmptyAsset({ > {translate( "screens/TokenSelectionScreen", - "Add assets to get started" + "Add assets to get started", )} - navigation.navigate("GetDFIScreen" as any)} - styleProps="w-full mb-14 pb-1" - label={translate("screens/GetDFIScreen", "Get DFI")} - /> + {!isEvmDomain && ( + navigation.navigate("GetDFIScreen" as any)} + styleProps="w-full mb-14 pb-1" + label={translate("screens/GetDFIScreen", "Get DFI")} + /> + )} ); } @@ -286,19 +311,20 @@ function getTokensWithBalance( getTokenPrice: ( symbol: string, amount: BigNumber, - isLPS?: boolean | undefined - ) => BigNumber + isLPS?: boolean | undefined, + ) => BigNumber, ): TokenSelectionItem[] { const reservedFees = 0.1; const filteredTokens: TokenSelectionItem[] = []; tokens.forEach((t) => { const available = new BigNumber( - t.displaySymbol === "DFI" + t.displaySymbol === "DFI" && t.id !== "0_evm" ? new BigNumber(t.amount).minus(reservedFees).toFixed(8) - : t.amount + : t.amount, ); - if (available.isLessThan(0) || t.id === "0" || t.id === "0_utxo") { + + if (available.isLessThanOrEqualTo(0) || t.id === "0" || t.id === "0_utxo") { return; } @@ -318,17 +344,17 @@ function getTokensWithBalance( }); return filteredTokens.sort((a, b) => - b.usdAmount.minus(a.usdAmount).toNumber() + b.usdAmount.minus(a.usdAmount).toNumber(), ); } function filterTokensBySearchTerm( tokens: TokenSelectionItem[], - searchTerm: string + searchTerm: string, ): TokenSelectionItem[] { return tokens.filter((t) => [t.token.displaySymbol, t.token.name].some((searchItem) => - searchItem.toLowerCase().includes(searchTerm.trim().toLowerCase()) - ) + searchItem.toLowerCase().includes(searchTerm.trim().toLowerCase()), + ), ); } diff --git a/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/__snapshots__/ReceiveScreen.test.tsx.snap b/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/__snapshots__/ReceiveScreen.test.tsx.snap index 303197a36c..a670665d2a 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/__snapshots__/ReceiveScreen.test.tsx.snap +++ b/mobile-app/app/screens/AppNavigator/screens/Portfolio/screens/__snapshots__/ReceiveScreen.test.tsx.snap @@ -46,7 +46,7 @@ exports[`receive page should match snapshot 1`] = ` ] } > - Use QR or Wallet address to receive any tokens (DST) or DFI + Scan QR code to receive any dTokens (eg. DUSD,dBTC..) or DFI void; disabledTab?: ButtonGroupTabKey; }; AddOrEditAddressBookScreen: { title: string; onSaveButtonPress: (address?: string) => void; - addressLabel?: LocalAddress; + addressLabel?: WhitelistedAddress; + addressDomainType?: DomainType; address?: string; isAddNew: boolean; }; @@ -151,7 +155,7 @@ export function SettingsNavigator(): JSX.Element { options={{ headerTitle: translate( "screens/LanguageSelectionScreen", - "Select language" + "Select language", ), headerBackTitleVisible: false, }} @@ -171,7 +175,7 @@ export function SettingsNavigator(): JSX.Element { options={{ headerTitle: translate( "screens/AddOrEditAddressBookScreen", - "Add Address" + "Add Address", ), }} /> @@ -231,7 +235,7 @@ export function SettingsNavigator(): JSX.Element { options={{ headerTitle: translate( "components/RecoveryWordFaq", - "About Recovery Words" + "About Recovery Words", ), }} /> @@ -250,7 +254,7 @@ export function SettingsNavigator(): JSX.Element { options={{ headerTitle: translate( "components/LiquidityMiningFaq", - "About Liquidity Mining" + "About Liquidity Mining", ), }} /> @@ -261,7 +265,7 @@ export function SettingsNavigator(): JSX.Element { options={{ headerTitle: translate( "components/UtxoVsTokenFaq", - "About UTXO And Tokens" + "About UTXO And Tokens", ), }} /> @@ -272,7 +276,18 @@ export function SettingsNavigator(): JSX.Element { options={{ headerTitle: translate( "components/CfpDfipProposalsFaq", - "About Governance" + "About Governance", + ), + }} + /> + + diff --git a/mobile-app/app/screens/AppNavigator/screens/Settings/SettingsScreen.tsx b/mobile-app/app/screens/AppNavigator/screens/Settings/SettingsScreen.tsx index 8d3445dd4d..87ad57a70b 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Settings/SettingsScreen.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Settings/SettingsScreen.tsx @@ -27,6 +27,7 @@ import { useAddressBook } from "@hooks/useAddressBook"; import { useAppDispatch } from "@hooks/useAppDispatch"; import { useFeatureFlagContext } from "@contexts/FeatureFlagContext"; import { useLanguageContext } from "@shared-contexts/LanguageProvider"; +import { useCustomServiceProviderContext } from "@contexts/CustomServiceProvider"; import { RowThemeItem } from "./components/RowThemeItem"; import { SettingsParamList } from "./SettingsNavigator"; @@ -41,13 +42,15 @@ export function SettingsScreen({ navigation }: Props): JSX.Element { data: { type }, } = useWalletNodeContext(); const isEncrypted = type === "MNEMONIC_ENCRYPTED"; - const { isCustomUrl } = useServiceProviderContext(); + const { isCustomUrl: isCustomDvmUrl } = useServiceProviderContext(); + const { isCustomEvmUrl, isCustomEthRpcUrl } = + useCustomServiceProviderContext(); const { isFeatureAvailable } = useFeatureFlagContext(); const { language } = useLanguageContext(); const languages = getAppLanguages(); - const selectedLanguage = languages.find((languageItem) => - language?.startsWith(languageItem.locale) + const selectedLanguage = languages.find( + (languageItem) => language?.startsWith(languageItem.locale), ); const revealRecoveryWords = useCallback(() => { @@ -68,11 +71,11 @@ export function SettingsScreen({ navigation }: Props): JSX.Element { message: translate("screens/UnlockWallet", "Enter passcode to continue"), loading: translate( "screens/UnlockWallet", - "It may take a few seconds to verify" + "It may take a few seconds to verify", ), title: translate( "screens/UnlockWallet", - "Provide your passcode to view recovery words." + "Provide your passcode to view recovery words.", ), successMessage: translate("screens/UnlockWallet", "Passcode verified!"), }; @@ -102,11 +105,11 @@ export function SettingsScreen({ navigation }: Props): JSX.Element { message: translate("screens/UnlockWallet", "Enter passcode to continue"), loading: translate( "screens/UnlockWallet", - "It may take a few seconds to verify" + "It may take a few seconds to verify", ), title: translate( "screens/UnlockWallet", - "Provide existing passcode to change passcode." + "Provide existing passcode to change passcode.", ), successMessage: translate("screens/UnlockWallet", "Passcode verified!"), }; @@ -142,7 +145,11 @@ export function SettingsScreen({ navigation }: Props): JSX.Element { testID="setting_navigate_service_provider" label="Provider" border - value={isCustomUrl ? "Custom" : "Default"} + value={ + isCustomDvmUrl || isCustomEvmUrl || isCustomEthRpcUrl + ? "Custom (3rd-party)" + : "Default" + } onPress={() => navigation.navigate("ServiceProviderScreen", {})} /> )} @@ -198,7 +205,7 @@ export function SettingsScreen({ navigation }: Props): JSX.Element { > {translate( "screens/Settings", - "Auto-locks wallet if there is no activity for 1 min." + "Auto-locks wallet if there is no activity for 1 min.", )} )} @@ -230,7 +237,7 @@ export function SettingsScreen({ navigation }: Props): JSX.Element { > {translate( "screens/Settings", - "This will unlink your wallet from the app." + "This will unlink your wallet from the app.", )} @@ -245,11 +252,11 @@ function RowExitWalletItem(): JSX.Element { WalletAlert({ title: translate( "screens/Settings", - "Are you sure you want to unlink your wallet?" + "Are you sure you want to unlink your wallet?", ), message: translate( "screens/Settings", - "Once unlinked, you will need to enter your recovery words to restore your wallet." + "Once unlinked, you will need to enter your recovery words to restore your wallet.", ), buttons: [ { @@ -340,7 +347,7 @@ function NavigateItemRow({ @@ -358,6 +365,7 @@ function NavigateItemRow({ light={tailwind("text-mono-light-v2-700")} dark={tailwind("text-mono-dark-v2-700")} style={tailwind("font-normal-v2 text-sm mr-1")} + testID={`${testID}_value`} > {translate("screens/Settings", value)} diff --git a/mobile-app/app/screens/AppNavigator/screens/Settings/components/CustomUrlInput.tsx b/mobile-app/app/screens/AppNavigator/screens/Settings/components/CustomUrlInput.tsx new file mode 100644 index 0000000000..dea612c104 --- /dev/null +++ b/mobile-app/app/screens/AppNavigator/screens/Settings/components/CustomUrlInput.tsx @@ -0,0 +1,140 @@ +import { View } from "@components"; +import { WalletTextInputV2 } from "@components/WalletTextInputV2"; +import { + ThemedIcon, + ThemedSectionTitleV2, + ThemedTouchableOpacityV2, +} from "@components/themed"; +import { CustomServiceProviderType } from "@contexts/CustomServiceProvider"; +import { tailwind } from "@tailwind"; +import { translate } from "@translations"; +import { useEffect, useState } from "react"; + +export interface CustomServiceProvider { + type: CustomServiceProviderType; + url: string; + defaultUrl: string; + label: string; + helperText: string; +} + +interface Props extends CustomServiceProvider { + inputValue: { url: string; isValid: boolean }; + isDisabled: boolean; + activeInput: CustomServiceProviderType | undefined; + setActiveInput: (type: CustomServiceProviderType | undefined) => void; + setShowActionButtons: (show: boolean) => void; + handleUrlInputChange: ( + type: CustomServiceProviderType, + value: string, + ) => void; +} + +export function CustomUrlInput({ + type, + url, + defaultUrl, + label, + helperText, + inputValue, + isDisabled, + activeInput, + setActiveInput, + setShowActionButtons, + handleUrlInputChange, +}: Props): JSX.Element { + const [isUnlocked, setIsUnlocked] = useState(false); + const [errMsg, setErrMsg] = useState(); + const [displayTickIcon, setDisplayTickIcon] = useState(true); + + // clear input on unlock + useEffect(() => { + if (isUnlocked && url === defaultUrl) { + return handleUrlInputChange(type, ""); + } + }, [isUnlocked]); + + // show err msg when input is invalid + useEffect(() => { + if (inputValue.isValid || inputValue.url === "") { + setErrMsg(undefined); + } else { + setErrMsg("Invalid URL"); + } + }, [inputValue]); + + // to display tick icon + useEffect(() => { + if (!isUnlocked && inputValue.isValid) { + return setDisplayTickIcon(true); + } else if (inputValue.url === "" && !inputValue.isValid) { + return setDisplayTickIcon(false); + } + }, [inputValue]); + + return ( + + + + handleUrlInputChange(type, text)} + onClearButtonPress={() => handleUrlInputChange(type, "")} + placeholder={translate("screens/ServiceProviderScreen", defaultUrl)} + style={tailwind("font-normal-v2 flex-1 py-2.5")} + containerStyle="flex-1 pr-3" + testID={`${type}_endpoint_url_input`} + inlineText={{ + type: errMsg !== undefined ? "error" : "helper", + text: translate( + "screens/ServiceProviderScreen", + errMsg || helperText, + ), + style: { paddingLeft: 20 }, + }} + displayClearButton={ + inputValue.url !== "" && + inputValue.url !== undefined && + isUnlocked && + !displayTickIcon + } + displayTickIcon={displayTickIcon} + /> + { + setIsUnlocked(true); + setShowActionButtons(true); + setActiveInput(type); + }} + light={tailwind("bg-mono-light-v2-900", { + "bg-opacity-70": isUnlocked, + "bg-opacity-30": + (!isUnlocked && activeInput !== undefined) || isDisabled, + })} + dark={tailwind("bg-mono-dark-v2-900", { + "bg-opacity-70": isUnlocked, + "bg-opacity-30": + (!isUnlocked && activeInput !== undefined) || isDisabled, + })} + style={tailwind("mt-2 h-10 w-10 p-2.5 text-center rounded-full")} + disabled={isUnlocked || isDisabled} + testID={`${type}_edit_service_provider`} + > + + + + + ); +} diff --git a/mobile-app/app/screens/AppNavigator/screens/Settings/components/ResetButton.tsx b/mobile-app/app/screens/AppNavigator/screens/Settings/components/ResetButton.tsx index f116f02232..ad61313aa5 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Settings/components/ResetButton.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Settings/components/ResetButton.tsx @@ -1,8 +1,5 @@ -import { ThemedTextV2, ThemedTouchableOpacityV2 } from "@components/themed"; -import { tailwind } from "@tailwind"; import { translate } from "@translations"; import { WalletAlert } from "@components/WalletAlert"; -import { View, Text } from "react-native"; import { NavigationProp, useNavigation } from "@react-navigation/native"; import React, { useCallback } from "react"; import { authentication, Authentication } from "@store/authentication"; @@ -16,21 +13,38 @@ import { hasOceanTXQueued, } from "@waveshq/walletkit-ui/dist/store"; import { useServiceProviderContext } from "@waveshq/walletkit-ui"; +import { ButtonV2 } from "@components/ButtonV2"; +import { + CustomServiceProviderType, + useCustomServiceProviderContext, +} from "@contexts/CustomServiceProvider"; +import { useDomainContext } from "@contexts/DomainContext"; import { SettingsParamList } from "../SettingsNavigator"; export function ResetButton(): JSX.Element { + const { isEvmFeatureEnabled } = useDomainContext(); const navigation = useNavigation>(); const logger = useLogger(); const dispatch = useAppDispatch(); const hasPendingJob = useSelector((state: RootState) => - hasTxQueued(state.transactionQueue) + hasTxQueued(state.transactionQueue), ); const hasPendingBroadcastJob = useSelector((state: RootState) => - hasOceanTXQueued(state.ocean) + hasOceanTXQueued(state.ocean), ); - const { url, defaultUrl, setUrl } = useServiceProviderContext(); + const { + url: dvmUrl, + defaultUrl: defaultDvmUrl, + setUrl: setDvmUrl, + } = useServiceProviderContext(); + const { evmUrl, ethRpcUrl, defaultEvmUrl, defaultEthRpcUrl, setCustomUrl } = + useCustomServiceProviderContext(); + + const isDisabled = + dvmUrl === defaultDvmUrl && + evmUrl === defaultEvmUrl && + ethRpcUrl === defaultEthRpcUrl; - const isDisabled = url === defaultUrl; const resetServiceProvider = useCallback(() => { // to check if user's transactions to be completed before resetting url if (hasPendingJob || hasPendingBroadcastJob) { @@ -39,21 +53,36 @@ export function ResetButton(): JSX.Element { const auth: Authentication = { consume: async (passphrase) => await MnemonicStorage.get(passphrase), onAuthenticated: async () => { - setUrl(defaultUrl); + await Promise.all([ + setDvmUrl(defaultDvmUrl), + ...(isEvmFeatureEnabled + ? [ + setCustomUrl(defaultEvmUrl, CustomServiceProviderType.EVM), + setCustomUrl( + defaultEthRpcUrl, + CustomServiceProviderType.ETHRPC, + ), + ] + : []), + ]); navigation.goBack(); }, onError: (e) => logger.error(e), title: translate( "screens/ServiceProviderScreen", - "Reset default service provider" + "Reset default service provider", ), message: translate( "screens/ServiceProviderScreen", - "Enter passcode to continue" + "Enter passcode to continue", ), loading: translate("screens/ServiceProviderScreen", "Verifying access"), additionalMessage: translate("screens/ServiceProviderScreen", "Default"), - additionalMessageUrl: defaultUrl, + additionalMessageUrl: [ + defaultDvmUrl, + defaultEvmUrl, + defaultEthRpcUrl, + ].join(" and "), }; dispatch(authentication.actions.prompt(auth)); }, [dispatch, navigation]); @@ -63,11 +92,11 @@ export function ResetButton(): JSX.Element { WalletAlert({ title: translate( "screens/ServiceProviderScreen", - "Reset Service Provider" + "Reset Service Provider", ), message: translate( "screens/ServiceProviderScreen", - "In doing so, you will be reverted back to Light wallet's default endpoint. Would you like to continue?" + "In doing so, you will be reverted back to Light wallet's default endpoint. Would you like to continue?", ), buttons: [ { @@ -85,33 +114,13 @@ export function ResetButton(): JSX.Element { }); }; return ( - - - - {translate("screens/ServiceProviderScreen", "Reset provider")} - - - - {translate( - "screens/ServiceProviderScreen", - "This will reset the service provider\nto the default URL." - )} - - + ); } diff --git a/mobile-app/app/screens/AppNavigator/screens/Settings/screens/AboutScreen.tsx b/mobile-app/app/screens/AppNavigator/screens/Settings/screens/AboutScreen.tsx index 447b1b566d..76da3c4b8d 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Settings/screens/AboutScreen.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Settings/screens/AboutScreen.tsx @@ -162,14 +162,14 @@ export function AboutScreen(): JSX.Element { {translate("screens/AboutScreen", "Developed by")} {translate("screens/AboutScreen", "Birthday Research")} @@ -216,7 +216,7 @@ export function AboutScreen(): JSX.Element { > {translate( "screens/CommunityScreen", - "DeFiChain is a community-driven and open project. The DeFiChain Foundation does not provide direct support." + "DeFiChain is a community-driven and open project. The DeFiChain Foundation does not provide direct support.", )} @@ -246,7 +246,7 @@ function LinkItemRow({ light={tailwind("bg-mono-light-v2-00")} onPress={handlePress} style={tailwind( - "flex-row px-5 py-4 items-center rounded-lg-v2 mb-2 mx-5 border-0" + "flex-row px-5 py-4 items-center rounded-lg-v2 mb-2 mx-5 border-0", )} testID={testID} > @@ -288,7 +288,7 @@ function SocialLink({ light={tailwind("bg-mono-light-v2-900")} onPress={handlePress} style={tailwind( - "justify-center items-center rounded-full w-10 h-10 mx-4 border-0" + "justify-center items-center rounded-full w-10 h-10 mx-4 border-0", )} testID={testID} > diff --git a/mobile-app/app/screens/AppNavigator/screens/Settings/screens/FeatureFlagScreen.tsx b/mobile-app/app/screens/AppNavigator/screens/Settings/screens/FeatureFlagScreen.tsx index 5432e6bbb5..16371190ea 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Settings/screens/FeatureFlagScreen.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Settings/screens/FeatureFlagScreen.tsx @@ -33,7 +33,7 @@ export function FeatureFlagScreen(): JSX.Element { } return features; }, - [] + [], ); }; @@ -43,7 +43,7 @@ export function FeatureFlagScreen(): JSX.Element { const onFeatureChange = async ( feature: FeatureFlag, - value: boolean + value: boolean, ): Promise => { const message = feature.id === "ocg_cfp_dfip" @@ -57,7 +57,7 @@ export function FeatureFlagScreen(): JSX.Element { title: translate( "screens/FeatureFlagScreen", "Enable {{feature}} (Beta)", - { feature: translate("screens/Settings", feature.name) } + { feature: translate("screens/Settings", feature.name) }, ), message: translate("screens/FeatureFlagScreen", message), buttons: [ @@ -87,7 +87,7 @@ export function FeatureFlagScreen(): JSX.Element { {translate( "screens/FeatureFlagScreen", - "Light Wallet beta features are in the user acceptance testing phase. Using beta feature(s) is encouraged, but caution is advised when using your assets." + "Light Wallet beta features are in final testing before their official release. Using beta features are encouraged, but caution is advised when using your assets.", )} @@ -113,7 +113,7 @@ export function FeatureFlagItem({ dark={tailwind("bg-black")} light={tailwind("bg-white")} style={tailwind( - "flex flex-row p-4 mx-5 items-center justify-between rounded-lg" + "flex flex-row p-4 mx-5 items-center justify-between rounded-lg", )} > navigation.navigate("EvmFeatureFaq"), + }, ]; return ( @@ -113,7 +119,7 @@ function NavigateItemRow({ onPress={onPress} style={tailwind( "flex ml-5 mr-4 py-4.5 flex-row items-center justify-between", - { "border-b": border } + { "border-b": border }, )} testID={testID} > diff --git a/mobile-app/app/screens/AppNavigator/screens/Settings/screens/ServiceProviderScreen.tsx b/mobile-app/app/screens/AppNavigator/screens/Settings/screens/ServiceProviderScreen.tsx index 9553d006b1..6fe6cc80d4 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Settings/screens/ServiceProviderScreen.tsx +++ b/mobile-app/app/screens/AppNavigator/screens/Settings/screens/ServiceProviderScreen.tsx @@ -1,13 +1,8 @@ -import { useCallback, useEffect, useState } from "react"; +import { useCallback, useState } from "react"; import { Dimensions, Platform, Text, View } from "react-native"; import { tailwind } from "@tailwind"; import { translate } from "@translations"; -import { - ThemedScrollViewV2, - ThemedIcon, - ThemedSectionTitleV2, - ThemedTouchableOpacityV2, -} from "@components/themed"; +import { ThemedScrollViewV2 } from "@components/themed"; import { ButtonV2 } from "@components/ButtonV2"; import { authentication, Authentication } from "@store/authentication"; import { MnemonicStorage } from "@api/wallet/mnemonic_storage"; @@ -18,25 +13,94 @@ import { useServiceProviderContext, useWalletNodeContext, } from "@waveshq/walletkit-ui"; -import { WalletTextInputV2 } from "@components/WalletTextInputV2"; +import { + CustomServiceProviderType, + useCustomServiceProviderContext, +} from "@contexts/CustomServiceProvider"; +import { useDomainContext } from "@contexts/DomainContext"; import { SettingsParamList } from "../SettingsNavigator"; import { ResetButton } from "../components/ResetButton"; +import { + CustomServiceProvider, + CustomUrlInput, +} from "../components/CustomUrlInput"; type Props = StackScreenProps; +type CustomUrlInputState = { + [key in CustomServiceProviderType]: { + url: string; + isValid: boolean; + }; +}; export function ServiceProviderScreen({ navigation }: Props): JSX.Element { + const { isEvmFeatureEnabled } = useDomainContext(); const logger = useLogger(); const dispatch = useAppDispatch(); // show all content for small screen and web to adjust margins and paddings const isSmallScreen = Platform.OS === "web" || Dimensions.get("window").height <= 667; - const { url, defaultUrl, setUrl } = useServiceProviderContext(); - const [labelInput, setLabelInput] = useState(url); - const [isValid, setIsValid] = useState(false); - const [isUnlocked, setIsUnlocked] = useState(false); - const [errMsg, setErrMsg] = useState(""); - const [displayTickIcon, setDisplayTickIcon] = useState(true); + // get all default urls from context + const { + url: dvmUrl, + defaultUrl: defaultDvmUrl, + setUrl: setDvmUrl, + } = useServiceProviderContext(); + const { evmUrl, ethRpcUrl, defaultEvmUrl, defaultEthRpcUrl, setCustomUrl } = + useCustomServiceProviderContext(); + + const [urlInputValues, setUrlInputValues] = useState({ + [CustomServiceProviderType.DVM]: { url: dvmUrl, isValid: true }, + [CustomServiceProviderType.EVM]: { url: evmUrl, isValid: true }, + [CustomServiceProviderType.ETHRPC]: { url: ethRpcUrl, isValid: true }, + }); + const [activeInput, setActiveInput] = useState(); + const [showActionButtons, setShowActionButtons] = useState(false); + + const customProviders: CustomServiceProvider[] = [ + { + type: CustomServiceProviderType.DVM, + url: dvmUrl, + defaultUrl: defaultDvmUrl, + label: "ENDPOINT URL (DVM)", + helperText: "Used to get balance from Native DFC (MainNet and TestNet)", + }, + ...(isEvmFeatureEnabled + ? [ + { + type: CustomServiceProviderType.EVM, + url: evmUrl, + defaultUrl: defaultEvmUrl, + label: "ENDPOINT URL (EVM)", + helperText: "Used to get balance from EVM (MainNet and TestNet)", + }, + { + type: CustomServiceProviderType.ETHRPC, + url: ethRpcUrl, + defaultUrl: defaultEthRpcUrl, + label: "ENDPOINT URL (ETH-RPC)", + helperText: "Used to get Nonce and Chain ID", + }, + ] + : []), + ]; + + // Check customized urls + const getCustomizedUrls = () => { + const changedUrls: string[] = []; + const { DVM, EVM, ETHRPC } = urlInputValues; + if (DVM.url !== defaultDvmUrl) { + changedUrls.push(DVM.url); + } + if (EVM.url !== defaultEvmUrl) { + changedUrls.push(EVM.url); + } + if (ETHRPC.url !== defaultEthRpcUrl) { + changedUrls.push(ETHRPC.url); + } + return changedUrls; + }; // Passcode prompt const { @@ -48,152 +112,113 @@ export function ServiceProviderScreen({ navigation }: Props): JSX.Element { return; } + const customUrls = getCustomizedUrls().join(" and "); const auth: Authentication = { consume: async (passphrase) => await MnemonicStorage.get(passphrase), onAuthenticated: async () => { - await setUrl(labelInput); + const { DVM, EVM, ETHRPC } = urlInputValues; + await Promise.all([ + setDvmUrl(DVM.url), + ...(isEvmFeatureEnabled + ? [ + setCustomUrl(EVM.url, CustomServiceProviderType.EVM), + setCustomUrl(ETHRPC.url, CustomServiceProviderType.ETHRPC), + ] + : []), + ]); navigation.pop(); }, onError: (e) => logger.error(e), - title: translate( + title: `${translate( "screens/ServiceProviderScreen", - "Adding custom service provider" - ), + "Adding custom service providers", + )} ${customUrls}`, message: translate( "screens/ServiceProviderScreen", - "Enter passcode to continue" + "Enter passcode to continue", ), loading: translate("screens/ServiceProviderScreen", "Verifying access"), additionalMessage: translate("screens/ServiceProviderScreen", "Custom"), - additionalMessageUrl: labelInput, + additionalMessageUrl: customUrls, }; dispatch(authentication.actions.prompt(auth)); - }, [dispatch, isEncrypted, navigation, labelInput]); + }, [dispatch, isEncrypted, navigation, urlInputValues]); const validateInputlabel = (input: string): boolean => { if (input === "" || !/^https/.test(input)) { - setIsValid(false); - setErrMsg("Invalid URL"); return false; } - setErrMsg(""); - setIsValid(true); return true; }; - // to enable continue button - useEffect(() => { - if (validateInputlabel(labelInput)) { - return setIsValid(true); - } - return setIsValid(false); - }, [labelInput]); - - // hide err msg when input is empty - useEffect(() => { - if (labelInput === "") { - return setErrMsg(""); - } - }, [labelInput]); - - // clear input on unlock and not display warning msg - useEffect(() => { - if (isUnlocked && url === defaultUrl) { - return setLabelInput(""); - } - }, [isUnlocked]); - - // to display tick icon - useEffect(() => { - if (!isUnlocked && isValid) { - return setDisplayTickIcon(true); - } else if (labelInput === "" && !isValid) { - return setDisplayTickIcon(false); - } - }, [labelInput, isValid]); + const handleUrlInputChange = ( + type: CustomServiceProviderType, + value: string, + ) => { + const updatedInputValues = { + ...urlInputValues, + [type]: { + ...urlInputValues[type], + url: value, + isValid: validateInputlabel(value), + }, + }; + setUrlInputValues(updatedInputValues); + }; return ( - - - { - setLabelInput(_text); - validateInputlabel(_text); - }} - onClearButtonPress={() => { - setLabelInput(""); - validateInputlabel(""); - }} - placeholder={translate("screens/ServiceProviderScreen", defaultUrl)} - style={tailwind("font-normal-v2 flex-1 py-2.5")} - containerStyle="flex-1" - testID="endpoint_url_input" - inlineText={{ - type: "error", - text: translate("screens/ServiceProviderScreen", errMsg), - }} - displayClearButton={ - labelInput !== "" && - labelInput !== undefined && - isUnlocked && - !displayTickIcon - } - displayTickIcon={displayTickIcon} - /> - setIsUnlocked(true)} - light={tailwind("bg-mono-light-v2-900", { - "bg-opacity-30": isUnlocked, - })} - dark={tailwind("bg-mono-dark-v2-900", { - "bg-opacity-30": isUnlocked, - })} - style={tailwind("ml-3 h-10 w-10 p-2.5 text-center rounded-full")} - disabled={isUnlocked} - testID="edit_service_provider" - > - + {customProviders.map((provider) => ( + - + ))} - {isUnlocked && ( - <> - - + {showActionButtons && ( + + + {translate( "screens/ServiceProviderScreen", - "Only add URLs that are fully trusted and secured. Adding malicious service providers may result in irrecoverable funds. Changes do not take effect until you manually restart the app." + "Only add URLs that are fully trusted and secured. Adding malicious service providers may result in irrecoverable funds. Proceed at your own risk.", )} - - - )} - {isUnlocked && ( - await submitCustomServiceProvider()} - disabled={!isValid} + disabled={ + !( + urlInputValues.DVM.isValid && + urlInputValues.EVM.isValid && + urlInputValues.ETHRPC.isValid + ) + } /> + )} diff --git a/mobile-app/app/screens/AppNavigator/screens/Settings/screens/__snapshots__/FeatureFlagScreen.test.tsx.snap b/mobile-app/app/screens/AppNavigator/screens/Settings/screens/__snapshots__/FeatureFlagScreen.test.tsx.snap index 3fe21df86f..c4534b1ab6 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Settings/screens/__snapshots__/FeatureFlagScreen.test.tsx.snap +++ b/mobile-app/app/screens/AppNavigator/screens/Settings/screens/__snapshots__/FeatureFlagScreen.test.tsx.snap @@ -169,7 +169,7 @@ exports[`feature flag screen should render FeatureFlagScreen 1`] = ` ] } > - Light Wallet beta features are in the user acceptance testing phase. Using beta feature(s) is encouraged, but caution is advised when using your assets. + Light Wallet beta features are in final testing before their official release. Using beta features are encouraged, but caution is advised when using your assets. + + + MetaChain (EVM) + + + diff --git a/mobile-app/app/screens/AppNavigator/screens/Settings/screens/__snapshots__/NetworkSelectionScreen.test.tsx.snap b/mobile-app/app/screens/AppNavigator/screens/Settings/screens/__snapshots__/NetworkSelectionScreen.test.tsx.snap index 19e2dc0d68..a0883469c0 100644 --- a/mobile-app/app/screens/AppNavigator/screens/Settings/screens/__snapshots__/NetworkSelectionScreen.test.tsx.snap +++ b/mobile-app/app/screens/AppNavigator/screens/Settings/screens/__snapshots__/NetworkSelectionScreen.test.tsx.snap @@ -450,7 +450,9 @@ exports[`onboarding network selection screen should render 1`] = ` + + + + Changi + + + + { style={tailwind("items-end pt-5 px-5 rounded-t-xl-v2")} testID="cancel_authorization" disabled={[TransactionStatus.BLOCK, TransactionStatus.SIGNING].includes( - props.status + props.status, )} > { light={tailwind("text-mono-light-v2-900")} iconType="Feather" name="x-circle" - size={20} + size={22} /> @@ -105,7 +105,7 @@ const PromptContent = React.memo((props: PasscodePromptProps): JSX.Element => { )} {([TransactionStatus.SIGNING, TransactionStatus.AUTHORIZED].includes( - props.status + props.status, ) || (props.status === TransactionStatus.PIN && !props.isRetry)) && ( { ? "Incorrect passcode.\n{{attemptsRemaining}} attempts remaining" : "{{attemptsRemaining}} attempts remaining" }`, - { attemptsRemaining: props.attemptsRemaining } + { attemptsRemaining: props.attemptsRemaining }, )} ) @@ -251,7 +251,7 @@ export const PasscodePrompt = React.memo( ); - } + }, ); function EmptyHandleComponent(): JSX.Element { diff --git a/mobile-app/app/screens/WalletNavigator/screens/CreateWallet/CreateWalletGuidelines.tsx b/mobile-app/app/screens/WalletNavigator/screens/CreateWallet/CreateWalletGuidelines.tsx index 7af3a6bffb..9b7547ebae 100644 --- a/mobile-app/app/screens/WalletNavigator/screens/CreateWallet/CreateWalletGuidelines.tsx +++ b/mobile-app/app/screens/WalletNavigator/screens/CreateWallet/CreateWalletGuidelines.tsx @@ -1,4 +1,3 @@ -import { Feather } from "@expo/vector-icons"; import { StackScreenProps } from "@react-navigation/stack"; import { useState } from "react"; import * as React from "react"; @@ -18,26 +17,55 @@ import DarkNewWallet from "@assets/images/dark-wallet-guidelines.png"; import LightNewWallet from "@assets/images/light-wallet-guidelines.png"; import { useThemeContext } from "@waveshq/walletkit-ui"; import { ButtonV2 } from "@components/ButtonV2"; +import { WalletIcon } from "@components/icons/WalletIcon"; import { WalletParamList } from "../../WalletNavigator"; import { LearnMoreCTA } from "../components/LearnModeCTA"; type Props = StackScreenProps; interface GuidelineItem { - icon: React.ComponentProps["name"]; title: string; + Icon?: () => JSX.Element; } const guidelines: GuidelineItem[] = [ { title: "Write the words on paper. Take note of their correct spelling and order.", - icon: "edit-2", + Icon: (): JSX.Element => ( + + ), }, { title: "Secure them in a safe place. Store them offline at a place only you have access. Keep them private and do not share it with anyone.", - icon: "lock", + Icon: (): JSX.Element => ( + + ), + }, + { + title: + "A mapped EVM address will be generated to ensure seamless transfers between DeFiChain and MetaChain.", + Icon: (): JSX.Element => { + const { isLight } = useThemeContext(); + return ( + + ); + }, }, ]; @@ -63,7 +91,7 @@ export function CreateWalletGuidelines({ navigation }: Props): JSX.Element { > {translate( "screens/Guidelines", - "You will be shown 24 recovery words on the next screen. Keep your 24-word recovery safe as it will allow you to recover access to the wallet." + "You will be shown 24 recovery words on the next screen. Keep your 24-word recovery safe as it will allow you to recover access to the wallet.", )} - + {g.Icon?.()} {translate( "screens/Guidelines", - "I understand it is my responsibility to keep my recovery words secure. Losing them will result in the irrecoverable loss of access to my wallet funds." + "I understand it is my responsibility to keep my recovery words secure. Losing them will result in the irrecoverable loss of access to my wallet funds.", )} diff --git a/mobile-app/app/screens/WalletNavigator/screens/CreateWallet/__snapshots__/CreateWalletGuidelines.test.tsx.snap b/mobile-app/app/screens/WalletNavigator/screens/CreateWallet/__snapshots__/CreateWalletGuidelines.test.tsx.snap index d894b684d0..72712feaf7 100644 --- a/mobile-app/app/screens/WalletNavigator/screens/CreateWallet/__snapshots__/CreateWalletGuidelines.test.tsx.snap +++ b/mobile-app/app/screens/WalletNavigator/screens/CreateWallet/__snapshots__/CreateWalletGuidelines.test.tsx.snap @@ -299,6 +299,157 @@ exports[`create wallet guidelines v2 should match snapshot 1`] = ` Secure them in a safe place. Store them offline at a place only you have access. Keep them private and do not share it with anyone. + + + + + + + + + + + A mapped EVM address will be generated to ensure seamless transfers between DeFiChain and MetaChain. + + + + + + Changi + + + + , + , ]; // Needs for it to work on web. Otherwise, it takes full window size @@ -69,6 +78,7 @@ export function ImageSlide({ return ( diff --git a/mobile-app/app/screens/enum.ts b/mobile-app/app/screens/enum.ts index 8a56a14686..33f49ae2d5 100644 --- a/mobile-app/app/screens/enum.ts +++ b/mobile-app/app/screens/enum.ts @@ -4,3 +4,10 @@ export enum ScreenName { LOANS_screen = "LoansScreen", AUCTIONS_screen = "AuctionsScreen", } + +export enum ConvertDirection { + evmToDvm = "evmToDvm", + dvmToEvm = "dvmToEvm", + utxosToAccount = "utxosToAccount", + accountToUtxos = "accountToUtxos", +} diff --git a/mobile-app/app/styles.json b/mobile-app/app/styles.json index 5a20c698e1..9613b28352 100644 --- a/mobile-app/app/styles.json +++ b/mobile-app/app/styles.json @@ -4389,9 +4389,15 @@ "w-16": { "width": 64 }, + "w-18": { + "width": 76 + }, "w-20": { "width": 80 }, + "w-21": { + "width": 84 + }, "w-24": { "width": 96 }, @@ -4817,6 +4823,12 @@ "borderBottomRightRadius": 9999, "borderBottomLeftRadius": 9999 }, + "rounded-sm-v2": { + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderBottomRightRadius": 5, + "borderBottomLeftRadius": 5 + }, "rounded-lg-v2": { "borderTopLeftRadius": 10, "borderTopRightRadius": 10, @@ -4871,6 +4883,10 @@ "borderTopLeftRadius": 9999, "borderTopRightRadius": 9999 }, + "rounded-t-sm-v2": { + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5 + }, "rounded-t-lg-v2": { "borderTopLeftRadius": 10, "borderTopRightRadius": 10 @@ -4919,6 +4935,10 @@ "borderTopRightRadius": 9999, "borderBottomRightRadius": 9999 }, + "rounded-r-sm-v2": { + "borderTopRightRadius": 5, + "borderBottomRightRadius": 5 + }, "rounded-r-lg-v2": { "borderTopRightRadius": 10, "borderBottomRightRadius": 10 @@ -4967,6 +4987,10 @@ "borderBottomRightRadius": 9999, "borderBottomLeftRadius": 9999 }, + "rounded-b-sm-v2": { + "borderBottomRightRadius": 5, + "borderBottomLeftRadius": 5 + }, "rounded-b-lg-v2": { "borderBottomRightRadius": 10, "borderBottomLeftRadius": 10 @@ -5015,6 +5039,10 @@ "borderTopLeftRadius": 9999, "borderBottomLeftRadius": 9999 }, + "rounded-l-sm-v2": { + "borderTopLeftRadius": 5, + "borderBottomLeftRadius": 5 + }, "rounded-l-lg-v2": { "borderTopLeftRadius": 10, "borderBottomLeftRadius": 10 @@ -5054,6 +5082,9 @@ "rounded-tl-full": { "borderTopLeftRadius": 9999 }, + "rounded-tl-sm-v2": { + "borderTopLeftRadius": 5 + }, "rounded-tl-lg-v2": { "borderTopLeftRadius": 10 }, @@ -5090,6 +5121,9 @@ "rounded-tr-full": { "borderTopRightRadius": 9999 }, + "rounded-tr-sm-v2": { + "borderTopRightRadius": 5 + }, "rounded-tr-lg-v2": { "borderTopRightRadius": 10 }, @@ -5126,6 +5160,9 @@ "rounded-br-full": { "borderBottomRightRadius": 9999 }, + "rounded-br-sm-v2": { + "borderBottomRightRadius": 5 + }, "rounded-br-lg-v2": { "borderBottomRightRadius": 10 }, @@ -5162,6 +5199,9 @@ "rounded-bl-full": { "borderBottomLeftRadius": 9999 }, + "rounded-bl-sm-v2": { + "borderBottomLeftRadius": 5 + }, "rounded-bl-lg-v2": { "borderBottomLeftRadius": 10 }, @@ -6655,6 +6695,20 @@ "borderBottomColor": "rgba(0, 173, 29, var(--tw-border-opacity))", "borderLeftColor": "rgba(0, 173, 29, var(--tw-border-opacity))" }, + "border-evm-light": { + "--tw-border-opacity": 1, + "borderTopColor": "rgba(149, 178, 235, var(--tw-border-opacity))", + "borderRightColor": "rgba(149, 178, 235, var(--tw-border-opacity))", + "borderBottomColor": "rgba(149, 178, 235, var(--tw-border-opacity))", + "borderLeftColor": "rgba(149, 178, 235, var(--tw-border-opacity))" + }, + "border-evm-dark": { + "--tw-border-opacity": 1, + "borderTopColor": "rgba(77, 123, 193, var(--tw-border-opacity))", + "borderRightColor": "rgba(77, 123, 193, var(--tw-border-opacity))", + "borderBottomColor": "rgba(77, 123, 193, var(--tw-border-opacity))", + "borderLeftColor": "rgba(77, 123, 193, var(--tw-border-opacity))" + }, "border-opacity-0": { "--tw-border-opacity": 0 }, @@ -7467,6 +7521,14 @@ "--tw-bg-opacity": 1, "backgroundColor": "rgba(0, 173, 29, var(--tw-bg-opacity))" }, + "bg-evm-light": { + "--tw-bg-opacity": 1, + "backgroundColor": "rgba(149, 178, 235, var(--tw-bg-opacity))" + }, + "bg-evm-dark": { + "--tw-bg-opacity": 1, + "backgroundColor": "rgba(77, 123, 193, var(--tw-bg-opacity))" + }, "bg-opacity-0": { "--tw-bg-opacity": 0 }, @@ -9446,6 +9508,14 @@ "--tw-text-opacity": 1, "color": "rgba(0, 173, 29, var(--tw-text-opacity))" }, + "text-evm-light": { + "--tw-text-opacity": 1, + "color": "rgba(149, 178, 235, var(--tw-text-opacity))" + }, + "text-evm-dark": { + "--tw-text-opacity": 1, + "color": "rgba(77, 123, 193, var(--tw-text-opacity))" + }, "text-opacity-0": { "--tw-text-opacity": 0 }, @@ -10410,6 +10480,14 @@ "--tw-ring-opacity": 1, "--tw-ring-color": "rgba(0, 173, 29, var(--tw-ring-opacity))" }, + "ring-evm-light": { + "--tw-ring-opacity": 1, + "--tw-ring-color": "rgba(149, 178, 235, var(--tw-ring-opacity))" + }, + "ring-evm-dark": { + "--tw-ring-opacity": 1, + "--tw-ring-color": "rgba(77, 123, 193, var(--tw-ring-opacity))" + }, "ring-opacity-0": { "--tw-ring-opacity": 0 }, @@ -11046,6 +11124,12 @@ "ring-offset-green-v2": { "--tw-ring-offset-color": "#00AD1D" }, + "ring-offset-evm-light": { + "--tw-ring-offset-color": "#95B2EB" + }, + "ring-offset-evm-dark": { + "--tw-ring-offset-color": "#4D7BC1" + }, "filter": { "--tw-blur": "var(--tw-empty, )", "--tw-brightness": "var(--tw-empty, )", diff --git a/mobile-app/app/tailwind.config.js b/mobile-app/app/tailwind.config.js index 5fe963adca..69f91855da 100644 --- a/mobile-app/app/tailwind.config.js +++ b/mobile-app/app/tailwind.config.js @@ -161,6 +161,8 @@ module.exports = { "red-v2": "#E54545", "orange-v2": "#D97B01", "green-v2": "#00AD1D", + "evm-light":"#95B2EB", + "evm-dark":"#4D7BC1", }, maxWidth: { "1/4": "25%", @@ -179,6 +181,7 @@ module.exports = { 1.5: 1.5, }, borderRadius: { + "sm-v2": 5, "lg-v2": 10, "xl-v2": 15, "2xl-v2": 20, @@ -193,6 +196,8 @@ module.exports = { }, width: { 15: 60, + 18: 76, + 21: 84 }, height: { 15: 60, diff --git a/mobile-app/cypress/e2e/functional/transferDomain/addresses.spec.ts b/mobile-app/cypress/e2e/functional/transferDomain/addresses.spec.ts new file mode 100644 index 0000000000..a89a0cabfc --- /dev/null +++ b/mobile-app/cypress/e2e/functional/transferDomain/addresses.spec.ts @@ -0,0 +1,232 @@ +context("Portfolio - Send - Address Book", () => { + const labels = ["DVMAddress", "EVMAddress"]; + const addresses = [ + "bcrt1q8rfsfny80jx78cmk4rsa069e2ckp6rn83u6ut9", + "0x2DeC425BF3c289C9B7452aD54E2F9877F21e0316", + ]; + + // Addresses that shows up under the 'Your address' tab in address book + function populateYourAddresses(): void { + // Create new wallet address - only available if there is DFI UTXO + cy.getByTestID("bottom_tab_portfolio").click(); + cy.getByTestID("wallet_address").should("exist").click(); + cy.getByTestID("create_new_address").should("exist").click(); // Generate Address 2 wallet address + + // Go back to previous Address 1 + cy.getByTestID("wallet_address").should("exist").click(); + cy.getByTestID("address_row_0").click(); + cy.getByTestID("wallet_address").should("have.text", "Address 1"); + } + + // Whitelisted addresses + function populateAddressBook(hasExistingAddress?: boolean): void { + cy.getByTestID("bottom_tab_portfolio").click(); + cy.getByTestID("action_button_group").should("exist"); + cy.getByTestID("send_balance_button").click().wait(3000); + cy.getByTestID("select_DFI").click().wait(3000); + cy.getByTestID("address_book_button").click(); + cy.wrap(labels).each((_v, index: number) => { + cy.getByTestID("add_new_address").click(); + + if (hasExistingAddress) { + // Reselect DVM address type + cy.getByTestID("address_book_address_type_DVM").click(); + } + + // Select EVM address type + if (index === 1) { + cy.getByTestID("address_book_address_type_EVM").click(); + } + cy.getByTestID("address_book_label_input").type(labels[index]); + cy.getByTestID("address_book_label_input_error").should("not.exist"); + cy.getByTestID("address_book_address_input") + .clear() + .type(addresses[index]) + .blur(); + cy.getByTestID("address_book_address_input_error").should("not.exist"); + cy.getByTestID("save_address_label").click().wait(1000); + cy.getByTestID("pin_authorize").type("000000").wait(2000); + cy.wait(1000); + cy.getByTestID(`address_row_label_${index}_WHITELISTED`).contains( + labels[index], + ); + cy.getByTestID(`address_row_text_${index}_WHITELISTED`).contains( + addresses[index], + ); + }); + } + + function verifyYourAddressRowItems(index: number) { + // Generated wallet label + cy.getByTestID(`address_row_label_${index}_YOUR_ADDRESS`).should( + "have.text", + `Address ${index + 1}`, + ); + // dvm address + cy.getByTestID(`address_row_text_${index}_YOUR_ADDRESS`).should("exist"); + + // evm address + cy.getByTestID(`address_row_text_${index}_YOUR_ADDRESS_EVM`).should( + "exist", + ); + } + + // Send DFI tokens dvm -> evm + function topUpDfiInEvmDomain() { + cy.getByTestID("bottom_tab_portfolio").click(); + cy.getByTestID("action_button_group").should("exist"); + cy.getByTestID("send_balance_button").click(); + cy.getByTestID("select_DFI").click(); + cy.getByTestID("25%_amount_button").click(); + cy.getByTestID("address_book_button").click(); + cy.getByTestID("address_button_group_YOUR_ADDRESS").click(); + cy.getByTestID("address_row_text_0_YOUR_ADDRESS_EVM").click(); + cy.getByTestID("button_confirm_send_continue").click(); + + // Send confirmation screen + cy.getByTestID("button_confirm_send").click(); + cy.getByTestID("pin_authorize").type("000000").wait(4000); + cy.getByTestID("oceanInterface_close").click(); // Close ocean interface popup + } + + describe("Whitelisted and Your Addresses tab", () => { + before(() => { + cy.createEmptyWallet(true); + cy.sendDFItoWallet().sendDFITokentoWallet().wait(4000); + topUpDfiInEvmDomain(); + populateYourAddresses(); // Generate new wallet Address 2 + populateAddressBook(); // Add whitelist addresses + }); + + it("(dvm) Whitelisted - should not display evm tag for dvm addresses", () => { + cy.getByTestID("bottom_tab_portfolio").click(); + cy.getByTestID("header_settings").click(); + cy.getByTestID("address_book_title").click(); + cy.getByTestID("address_row_label_0_WHITELISTED").should( + "have.text", + labels[0], + ); + cy.getByTestID("address_row_text_0_WHITELISTED").should( + "have.text", + addresses[0], + ); + cy.getByTestID("address_row_0_WHITELISTED_caret").should("exist"); + + cy.getByTestID("address_row_label_0_WHITELISTED_EVM_tag").should( + "not.exist", + ); + }); + + it("(dvm) Whitelisted - should display evm tag for evm addresses", () => { + cy.getByTestID("address_row_label_1_WHITELISTED").should( + "have.text", + labels[1], + ); + cy.getByTestID("address_row_text_1_WHITELISTED").should( + "have.text", + addresses[1], + ); + cy.getByTestID("address_row_1_WHITELISTED_caret").should("exist"); + cy.getByTestID("address_row_label_1_WHITELISTED_EVM_tag").should("exist"); + }); + + it("(dvm) Your Addresses - should display not evm tag for dvm addresses", () => { + cy.getByTestID("bottom_tab_portfolio").click(); + cy.getByTestID("header_settings").click(); + cy.getByTestID("address_book_title").click(); + cy.getByTestID("address_button_group_YOUR_ADDRESS").click(); + verifyYourAddressRowItems(0); + }); + + it("(dvm) Your Addresses - should display evm tag for evm addresses", () => { + verifyYourAddressRowItems(1); + }); + + // Switch to evm domain + it("(evm) Whitelisted - should disable evm addresses in evm domain", () => { + // Go back to portfolio page to switch domain + cy.getByTestID("bottom_tab_portfolio").click(); + cy.getByTestID("domain_switch").click(); + cy.getByTestID("action_button_group").should("exist"); + cy.getByTestID("send_balance_button").click().wait(3000); + cy.getByTestID("select_DFI").click().wait(3000); + cy.getByTestID("address_book_button").click(); + + cy.getByTestID("address_row_0_WHITELISTED").should( + "have.attr", + "aria-disabled", + "true", + ); + cy.getByTestID("address_row_1_WHITELISTED").should("not.be.disabled"); + }); + + // Switch to your address tab + it("(evm) Your Address - should disable evm addresses in evm domain", () => { + cy.getByTestID("address_button_group_YOUR_ADDRESS").click(); + verifyYourAddressItemEvm(); + }); + }); +}); + +// Check if evm address is disabled in evm domain for generated Address 1 and 2 cards +function verifyYourAddressItemEvm() { + cy.wrap([0, 1]).each((index: number) => { + // dvm address + cy.getByTestID(`address_row_text_${index}_YOUR_ADDRESS`).should( + "not.be.disabled", + ); + // evm address + cy.getByTestID(`address_row_text_${index}_YOUR_ADDRESS_EVM`).should( + "have.attr", + "aria-disabled", + "true", + ); + }); +} + +context("Portfolio", () => { + before(() => { + cy.createEmptyWallet(true); + cy.sendDFItoWallet().sendTokenToWallet(["BTC", "BTC-DFI"]).wait(4000); + cy.getByTestID("bottom_tab_portfolio").click(); + }); + + describe("Wallet label (& address book bottom sheet)", () => { + it('should display generated address label "Address 1" as first wallet label', () => { + cy.getByTestID("wallet_address") + .should("exist") + .should("have.text", "Address 1"); + }); + it("should display new wallet label after modifying wallet label", () => { + cy.getByTestID("wallet_address").should("exist").click(); + + // Go to edit address book bottom sheet + cy.getByTestID("address_edit_icon_address_row_0").click(); + cy.getByTestID("address_book_label_input") + .click() + .type("New Wallet Label") + .blur() + .wait(1000); + cy.getByTestID("button_confirm_save_address_label").click().wait(1000); + + // Go back to address book bottom sheet + cy.getByTestID("list_header_address_label").should("exist"); + cy.getByTestID("close_bottom_sheet_button").click(); + + // Go back to portfolio page + cy.getByTestID("wallet_address").should("have.text", "New Wallet Label"); + }); + + // Generate new wallet address + it("should display generated Address 2 label as second wallet label", () => { + cy.getByTestID("bottom_tab_portfolio").click(); + cy.getByTestID("wallet_address").should("exist").click(); + + cy.getByTestID("create_new_address").should("exist").click(); // Generate Address 2 wallet address + cy.getByTestID("wallet_address").should("have.text", "Address 2"); + }); + }); +}); + +// Ensure that the blockchain container in Docker returns 'Block minted' to know that it's connected to Local env, else restart container +// If values are taking too long to load or for flaky tests, restart Cypress diff --git a/mobile-app/cypress/e2e/functional/wallet/dex/swap/swap_tabs_dropdowns.spec.ts b/mobile-app/cypress/e2e/functional/wallet/dex/swap/swap_tabs_dropdowns.spec.ts index fb1ae7ab85..224cf82bda 100644 --- a/mobile-app/cypress/e2e/functional/wallet/dex/swap/swap_tabs_dropdowns.spec.ts +++ b/mobile-app/cypress/e2e/functional/wallet/dex/swap/swap_tabs_dropdowns.spec.ts @@ -97,12 +97,12 @@ context("Wallet - DEX - disabled pool pairs", () => { cy.getByTestID("dex_action_button_composite_swap_button_26").should( "have.css", "opacity", // using opacity to check enable - "1" + "1", ); // status: true cy.getByTestID("dex_action_button_composite_swap_button_28").should( "have.css", "opacity", // using opacity to check disable - "0.3" + "0.3", ); // status: false }); }); @@ -134,7 +134,8 @@ context("Wallet - DEX - Instant/Future Swap - tabs and dropdowns", () => { }); it("should be able to choose tokens to swap", () => { - cy.getByTestID("composite_swap").click(); + cy.wait(1000); + cy.getByTestID("composite_swap").should("exist").click(); cy.wait(5000); cy.getByTestID("token_select_button_FROM").click(); cy.getByTestID("select_DFI").click().wait(2000); @@ -146,18 +147,18 @@ context("Wallet - DEX - Instant/Future Swap - tabs and dropdowns", () => { cy.getByTestID("switch_button").click(); cy.getByTestID("token_select_button_FROM_display_symbol").should( "have.text", - "dTU10" + "dTU10", ); cy.getByTestID("token_select_button_TO_display_symbol").should( "have.text", - "DFI" + "DFI", ); }); it("should be able to disable future swap tab if tokenA and tokenB is not a valid future swap pair", () => { cy.getByTestID("swap_tabs_FUTURE_SWAP").should( "have.attr", - "aria-disabled" + "aria-disabled", ); /* Only DUSD <-> Loan tokens are allowed in future swap */ @@ -167,7 +168,7 @@ context("Wallet - DEX - Instant/Future Swap - tabs and dropdowns", () => { cy.getByTestID("select_dTU10").click(); cy.getByTestID("swap_tabs_FUTURE_SWAP").should( "not.have.attr", - "aria-disabled" + "aria-disabled", ); }); @@ -175,11 +176,11 @@ context("Wallet - DEX - Instant/Future Swap - tabs and dropdowns", () => { cy.getByTestID("swap_tabs_FUTURE_SWAP").click(); cy.getByTestID("token_select_button_FROM_display_symbol").should( "have.text", - "DUSD" + "DUSD", ); cy.getByTestID("token_select_button_TO_display_symbol").should( "have.text", - "dTU10" + "dTU10", ); }); diff --git a/mobile-app/cypress/e2e/functional/wallet/portfolio/addresses.spec.ts b/mobile-app/cypress/e2e/functional/wallet/portfolio/addresses.spec.ts index 7d08d3e21c..dc8038ec59 100644 --- a/mobile-app/cypress/e2e/functional/wallet/portfolio/addresses.spec.ts +++ b/mobile-app/cypress/e2e/functional/wallet/portfolio/addresses.spec.ts @@ -19,6 +19,7 @@ function addLocalStorageFeatureFlag(): void { context("Wallet - Addresses", () => { let whale: WhaleApiClient; + let address: string; before(() => { addLocalStorageFeatureFlag(); @@ -48,6 +49,7 @@ context("Wallet - Addresses", () => { cy.getByTestID("active_address") .invoke("css", "text-overflow") .should("eq", "ellipsis"); + cy.getByTestID("bottomsheet-address-header").contains("DVM"); cy.getByTestID("active_address").click(); cy.getByTestID("wallet_toast").should("exist"); }); @@ -55,10 +57,14 @@ context("Wallet - Addresses", () => { it("should not present create new address when wallet is freshly setup", () => { const network: string = localStorage.getItem("Development.NETWORK"); expect( - localStorage.getItem(`Development.${network}.WALLET_ADDRESS.INDEX.active`) + localStorage.getItem( + `Development.${network}.WALLET_ADDRESS.INDEX.active`, + ), ).to.eq(null); expect( - localStorage.getItem(`Development.${network}.WALLET_ADDRESS.INDEX.length`) + localStorage.getItem( + `Development.${network}.WALLET_ADDRESS.INDEX.length`, + ), ).to.eq(null); cy.getByTestID("address_row_text_0") .invoke("text") @@ -71,6 +77,28 @@ context("Wallet - Addresses", () => { }); }); + it("should show EVM address when toggle set to EVM", () => { + cy.getByTestID("header_settings").click(); + cy.getByTestID("address_book_title").click(); + cy.getByTestID("address_button_group_YOUR_ADDRESS").click(); + cy.getByTestID("address_row_text_0_YOUR_ADDRESS_EVM") + .invoke("text") + .then((evmAddress: string) => { + cy.getByTestID("bottom_tab_portfolio").click(); + cy.getByTestID("domain_switch_DVM").should("exist"); + cy.getByTestID("domain_switch").click(); + cy.getByTestID("domain_switch_EVM").should("exist"); + cy.getByTestID("switch_account_button").click(); + cy.getByTestID("address_row_text_0").contains(evmAddress); + cy.getByTestID("bottomsheet-address-header").contains("EVM"); + cy.getByTestID("close_bottom_sheet_button").click(); + }); + + // Toggled back to DVM for next test + cy.getByTestID("domain_switch_EVM").should("exist"); + cy.getByTestID("domain_switch").click(); + }); + it("should be able to create new address when all available address are active", () => { cy.sendDFItoWallet().wait(4000); cy.getByTestID("dfi_total_balance_amount") @@ -89,13 +117,13 @@ context("Wallet - Addresses", () => { const network: string = localStorage.getItem("Development.NETWORK"); expect( localStorage.getItem( - `Development.${network}.WALLET_ADDRESS.INDEX.active` - ) + `Development.${network}.WALLET_ADDRESS.INDEX.active`, + ), ).to.eq("1"); expect( localStorage.getItem( - `Development.${network}.WALLET_ADDRESS.INDEX.length` - ) + `Development.${network}.WALLET_ADDRESS.INDEX.length`, + ), ).to.eq("1"); }); cy.wait(3000); @@ -130,16 +158,13 @@ context("Wallet - Addresses", () => { .click() .wait(1000); cy.getByTestID(`address_active_indicator_${activeAddress}`).should( - "exist" + "exist", ); cy.getByTestID("close_bottom_sheet_button").click(); cy.getByTestID("receive_balance_button").click(); cy.getByTestID("address_text").contains(activeAddress); }); - }); - context("Wallet - Addresses transfer dfi between addresses", () => { - let address: string; it("should able to transfer dfi between addresses", () => { cy.getByTestID("bottom_tab_portfolio").click(); cy.getByTestID("switch_account_button") @@ -155,17 +180,17 @@ context("Wallet - Addresses", () => { .click() .should(() => { const network: string = localStorage.getItem( - "Development.NETWORK" + "Development.NETWORK", ); expect( localStorage.getItem( - `Development.${network}.WALLET_ADDRESS.INDEX.active` - ) + `Development.${network}.WALLET_ADDRESS.INDEX.active`, + ), ).to.eq("0"); expect( localStorage.getItem( - `Development.${network}.WALLET_ADDRESS.INDEX.length` - ) + `Development.${network}.WALLET_ADDRESS.INDEX.length`, + ), ).to.eq("1"); }); cy.getByTestID("dfi_total_balance_amount").contains("10.00000000"); @@ -176,7 +201,7 @@ context("Wallet - Addresses", () => { cy.getByTestID("amount_input").clear().type("1"); cy.getByTestID("button_confirm_send_continue").should( "not.have.attr", - "disabled" + "disabled", ); cy.getByTestID("button_confirm_send_continue").click(); cy.getByTestID("confirm_title").contains("You are sending"); @@ -209,13 +234,13 @@ context("Wallet - Addresses", () => { const network: string = localStorage.getItem("Development.NETWORK"); expect( localStorage.getItem( - `Development.${network}.WALLET_ADDRESS.INDEX.active` - ) + `Development.${network}.WALLET_ADDRESS.INDEX.active`, + ), ).to.eq("1"); expect( localStorage.getItem( - `Development.${network}.WALLET_ADDRESS.INDEX.length` - ) + `Development.${network}.WALLET_ADDRESS.INDEX.length`, + ), ).to.eq("1"); }); cy.getByTestID("dfi_total_balance_amount").contains("1.00000000"); @@ -277,20 +302,20 @@ context( const network: string = localStorage.getItem("Development.NETWORK"); expect( localStorage.getItem( - `Development.${network}.WALLET_ADDRESS.INDEX.active` - ) + `Development.${network}.WALLET_ADDRESS.INDEX.active`, + ), ).to.eq("0"); expect( localStorage.getItem( - `Development.${network}.WALLET_ADDRESS.INDEX.length` - ) + `Development.${network}.WALLET_ADDRESS.INDEX.length`, + ), ).to.eq("0"); }); cy.getByTestID("address_row_0").should("exist"); cy.getByTestID("address_row_text_0").contains(address); cy.getByTestID(`address_active_indicator_${address}`).should("exist"); }); - } + }, ); context( @@ -328,10 +353,10 @@ context( .should(() => { const network: string = localStorage.getItem("Development.NETWORK"); maxAddress = localStorage.getItem( - `Development.${network}.WALLET_ADDRESS.INDEX.length` + `Development.${network}.WALLET_ADDRESS.INDEX.length`, ); const activeAddress = localStorage.getItem( - `Development.${network}.WALLET_ADDRESS.INDEX.active` + `Development.${network}.WALLET_ADDRESS.INDEX.active`, ); expect(activeAddress).to.eq("1"); expect(maxAddress).to.eq("1"); @@ -370,13 +395,13 @@ context( const network: string = localStorage.getItem("Development.NETWORK"); expect( localStorage.getItem( - `Development.${network}.WALLET_ADDRESS.INDEX.active` - ) + `Development.${network}.WALLET_ADDRESS.INDEX.active`, + ), ).to.eq(null); expect( localStorage.getItem( - `Development.${network}.WALLET_ADDRESS.INDEX.length` - ) + `Development.${network}.WALLET_ADDRESS.INDEX.length`, + ), ).to.eq(maxAddress); }); addresses.forEach((address, index) => { @@ -384,10 +409,10 @@ context( cy.getByTestID(`address_row_text_${index}`).contains(address); }); cy.getByTestID(`address_active_indicator_${addresses[0]}`).should( - "exist" + "exist", ); }); - } + }, ); context("Wallet - Addresses should able to create maximum 10 addresses", () => { @@ -467,7 +492,7 @@ context("Wallet - should be able to discover Wallet Addresses", () => { cy.getByTestID("amount_input").clear().type("1"); cy.getByTestID("button_confirm_send_continue").should( "not.have.attr", - "disabled" + "disabled", ); cy.getByTestID("button_confirm_send_continue").click(); cy.getByTestID("button_confirm_send").click().wait(3000); @@ -486,13 +511,13 @@ context("Wallet - Address Label", () => { if (shouldAllow) { cy.getByTestID("button_confirm_save_address_label").should( "not.have.attr", - "aria-disabled" + "aria-disabled", ); cy.getByTestID("address_book_label_input_error").should("not.exist"); } else { cy.getByTestID("button_confirm_save_address_label").should( "have.attr", - "aria-disabled" + "aria-disabled", ); cy.getByTestID("address_book_label_input_error").should("exist"); } @@ -508,7 +533,7 @@ context("Wallet - Address Label", () => { cy.getByTestID("address_book_label_input").clear().type(label); cy.getByTestID("button_confirm_save_address_label").should( "not.have.attr", - "aria-disabled" + "aria-disabled", ); cy.getByTestID("button_confirm_save_address_label").click().wait(1000); cy.getByTestID(`list_address_label_${address}`).contains(label); @@ -549,7 +574,7 @@ context("Wallet - Address Label", () => { validateLabel("abcdefghijklmnopqrstuvwxyz12345678910ABCD", false); // block >40 char validateLabel( "😀🙌👶👩🏻‍💻🐶🌵🌝🍏🥨⚽️🪂🚗⌚😀🙌👶👩🏻‍💻🐶🌵🌝🍏🥨⚽️🪂🚗⌚😀🙌👶👩🏻‍💻️ ", - false + false, ); // not all emoji equivalent to 1 char // allow validateLabel("abcdefghijklmnopqrstuvwxyz1234", true); @@ -585,7 +610,7 @@ context("Wallet - Address Label", () => { cy.getByTestID("address_book_label_input").clear().type(inputLabel); cy.getByTestID("button_confirm_save_address_label").should( "not.have.attr", - "aria-disabled" + "aria-disabled", ); cy.getByTestID("button_confirm_save_address_label").click(); cy.getByTestID(`list_address_label_${address}`).contains(trimmedLabel); diff --git a/mobile-app/cypress/e2e/functional/wallet/portfolio/portfolio.spec.ts b/mobile-app/cypress/e2e/functional/wallet/portfolio/portfolio.spec.ts index 958e90b821..5f8085aa14 100644 --- a/mobile-app/cypress/e2e/functional/wallet/portfolio/portfolio.spec.ts +++ b/mobile-app/cypress/e2e/functional/wallet/portfolio/portfolio.spec.ts @@ -419,7 +419,7 @@ context("Wallet - Portfolio page", () => { cy.getByTestID("empty_tokens_title").should("have.text", "Empty portfolio"); cy.getByTestID("empty_tokens_subtitle").should( "have.text", - "Add DFI and other tokens to get started" + "Add DFI and other tokens to get started", ); }); }); @@ -598,7 +598,7 @@ context("Wallet - Portfolio - No balance", () => { it("should enabled send button", () => { cy.getByTestID("send_balance_button").should( "not.have.attr", - "aria-disabled" + "aria-disabled", ); }); @@ -650,7 +650,7 @@ context("Wallet - Portfolio - No balance", () => { .invoke("text") .then((price: string) => { expect(price).to.equal( - `$${new BigNumber(response.price.aggregated.amount).toFixed(2)}` + `$${new BigNumber(response.price.aggregated.amount).toFixed(2)}`, ); }); }); @@ -1024,7 +1024,7 @@ context( }); cy.getByTestID("toggle_sorting_assets").should("exist"); cy.getByTestID("portfolio_button_group_ALL_TOKENS_active").should( - "exist" + "exist", ); cy.getByTestID("portfolio_row_1").should("exist"); // dBTC = row 1 cy.getByTestID("portfolio_button_group_CRYPTO").click(); @@ -1034,21 +1034,21 @@ context( cy.getByTestID("portfolio_button_group_LP_TOKENS_active").should("exist"); cy.getByTestID("empty_tokens_title").should( "have.text", - "No LP tokens found" + "No LP tokens found", ); cy.getByTestID("empty_tokens_subtitle").should( "have.text", - "Add liquidity to get started" + "Add liquidity to get started", ); cy.getByTestID("portfolio_button_group_d_TOKENS").click(); cy.getByTestID("portfolio_button_group_d_TOKENS_active").should("exist"); cy.getByTestID("empty_tokens_title").should( "have.text", - "No dTokens found" + "No dTokens found", ); cy.getByTestID("empty_tokens_subtitle").should( "have.text", - "Mint dTokens to get started" + "Mint dTokens to get started", ); }); it("should exist in All tokens and dTokens tabs, should not exist in LP tokens and Crypto tabs", () => { @@ -1072,34 +1072,34 @@ context( cy.getByTestID("toggle_sorting_assets").should("exist"); cy.getByTestID("portfolio_button_group_ALL_TOKENS").click(); cy.getByTestID("portfolio_button_group_ALL_TOKENS_active").should( - "exist" + "exist", ); cy.getByTestID("portfolio_row_14").should("exist"); // DUSD = row 14 cy.getByTestID("portfolio_button_group_LP_TOKENS").click(); cy.getByTestID("portfolio_button_group_LP_TOKENS_active").should("exist"); cy.getByTestID("empty_tokens_title").should( "have.text", - "No LP tokens found" + "No LP tokens found", ); cy.getByTestID("empty_tokens_subtitle").should( "have.text", - "Add liquidity to get started" + "Add liquidity to get started", ); cy.getByTestID("portfolio_button_group_CRYPTO").click(); cy.getByTestID("portfolio_button_group_CRYPTO_active").should("exist"); cy.getByTestID("empty_tokens_title").should( "have.text", - "No crypto found" + "No crypto found", ); cy.getByTestID("empty_tokens_subtitle").should( "have.text", - "Add crypto to get started" + "Add crypto to get started", ); cy.getByTestID("portfolio_button_group_d_TOKENS").click(); cy.getByTestID("portfolio_button_group_d_TOKENS_active").should("exist"); cy.getByTestID("portfolio_row_14").should("exist"); // DUSD = row 14 }); - } + }, ); context("Wallet - Portfolio - Portfolio group tab", () => { @@ -1119,7 +1119,7 @@ context("Wallet - Portfolio - Portfolio group tab", () => { "$100,000.00", "$100,000.00", "$100,000.00", - "$1,000.00" + "$1,000.00", ); }); @@ -1133,7 +1133,7 @@ context("Wallet - Portfolio - Portfolio group tab", () => { "10.00 DFI", "10.00 DFI", "10.00 DFI", - "0.10000000 DFI" + "0.10000000 DFI", ); }); @@ -1147,7 +1147,7 @@ context("Wallet - Portfolio - Portfolio group tab", () => { "10.00 BTC", "10.00 BTC", "10.00 BTC", - "0.10000000 BTC" + "0.10000000 BTC", ); }); }); @@ -1180,7 +1180,7 @@ function checkPortfolioPageDenominationValues( DfiTotalBalUsdAmt: string, DfiAvailableAmt: string, BtcUsdAmt: string, - EthUsdAmt: string + EthUsdAmt: string, ): void { // TotalPortfolio cy.getByTestID("total_usd_amount").contains(totalUsdAmt); @@ -1213,7 +1213,7 @@ function checkPortfolioPageDenominationValues( function checkAssetsSortingOrder( sortedType: string, firstToken: string, - lastToken: string + lastToken: string, ): void { const containerTestID = '[data-testid="card_balance_row_container"]'; const arrowTestID = "your_assets_dropdown_arrow"; @@ -1282,7 +1282,7 @@ context( it("should sort assets based on Lowest value (DFI)", () => { checkAssetsSortingOrder("Lowest value (DFI)", "dLTC", "dBTC"); }); - } + }, ); function interceptTokensForSorting(data: {}): void { @@ -1311,7 +1311,7 @@ context( interceptTokensForSorting(addLPTokens); checkAssetsSortingOrder("Lowest value (DFI)", "dUSDT-DFI", "dBTC-DFI"); }); - } + }, ); context( @@ -1332,7 +1332,7 @@ context( interceptTokensForSorting(addCrypto); checkAssetsSortingOrder("Lowest value (DFI)", "dETH", "dBTC"); }); - } + }, ); context( @@ -1353,7 +1353,7 @@ context( interceptTokensForSorting(addDTokens); checkAssetsSortingOrder("Lowest value (DFI)", "DUSD", "dTD10"); }); - } + }, ); context( @@ -1373,7 +1373,7 @@ context( it("should sort assets based on Lowest value (BTC)", () => { checkAssetsSortingOrder("Lowest value (BTC)", "DUSD", "dBTC"); }); - } + }, ); context("Wallet - Portfolio - Skeleton Loader", () => { @@ -1548,3 +1548,54 @@ context("Wallet - Portfolio - portfolio", () => { }); }); }); + +context( + "Transfer domain - Wallet - Portfolio - Portfolio group tab - DFI currency", + () => { + before(() => { + cy.createEmptyWallet(true); + cy.getByTestID("header_settings").click(); + cy.getByTestID("bottom_tab_portfolio").click(); + + cy.intercept("**/address/**/tokens?size=*", { + body: { + data: [ + { + amount: "5.00000000", + displaySymbol: "dBTC", + id: "1", + isDAT: true, + isLPS: false, + isLoanToken: false, + name: "Playground BTC", + symbol: "BTC", + symbolKey: "BTC", + }, + { + id: "24", + amount: "10.00000000", + symbol: "TU10-DUSD", + symbolKey: "TU10-DUSD", + name: "Decentralized TU10-Decentralized USD", + isDAT: true, + isLPS: true, + isLoanToken: false, + displaySymbol: "dTU10-DUSD", + }, + ], + }, + }); + }); + + it("should display all tokens in dvm domain", () => { + cy.getByTestID("portfolio_row_1").should("exist"); + cy.getByTestID("portfolio_row_24").should("exist"); + }); + + it("should only display non LP tokens in evm domain", () => { + cy.getByTestID("domain_switch").click(); + cy.getByTestID("portfolio_row_1").should("exist"); + cy.getByTestID("portfolio_row_24").should("not.exist"); + }); + }, +); diff --git a/mobile-app/cypress/e2e/functional/wallet/portfolio/send.spec.ts b/mobile-app/cypress/e2e/functional/wallet/portfolio/send.spec.ts index e8831aba2c..cfaffcf72b 100644 --- a/mobile-app/cypress/e2e/functional/wallet/portfolio/send.spec.ts +++ b/mobile-app/cypress/e2e/functional/wallet/portfolio/send.spec.ts @@ -12,7 +12,7 @@ const validateAmountButtonResult = (value: string, usdValue: string): void => { }); cy.getByTestID("amount_input_in_usd").should( "have.text", - `$${usdValueWithThousandSep}` + `$${usdValueWithThousandSep}`, ); }; @@ -21,7 +21,7 @@ const validateInfotext = ( | "insufficient_balance" | "lp_warning" | "utxo_warning" - | "minimal_fee_warning" + | "minimal_fee_warning", ): void => { const infoText = { insufficient_balance: "Insufficient balance", @@ -86,7 +86,7 @@ context("Wallet - Send", () => { cy.getByTestID("amount_input").type("0.1"); cy.getByTestID("button_confirm_send_continue").should( "not.have.attr", - "disabled" + "disabled", ); cy.getByTestID("amount_input").clear(); @@ -94,17 +94,17 @@ context("Wallet - Send", () => { cy.getByTestID("address_input").type("z"); cy.getByTestID("address_error_text").should( "have.text", - "Invalid address. Make sure the address is correct to avoid irrecoverable losses" + "Invalid address. Make sure the address is correct to avoid irrecoverable losses", ); cy.getByTestID("button_confirm_send_continue").should( "have.attr", - "aria-disabled" + "aria-disabled", ); cy.wait(1000); cy.getByTestID("address_input_clear_button").click(); cy.getByTestID("button_confirm_send_continue").should( "have.attr", - "aria-disabled" + "aria-disabled", ); // Invalid amount - Character, over max amount, zero @@ -112,17 +112,17 @@ context("Wallet - Send", () => { cy.getByTestID("amount_input").clear().type("a"); cy.getByTestID("button_confirm_send_continue").should( "have.attr", - "aria-disabled" + "aria-disabled", ); cy.getByTestID("amount_input").clear().type("12"); cy.getByTestID("button_confirm_send_continue").should( "have.attr", - "aria-disabled" + "aria-disabled", ); cy.getByTestID("amount_input").clear().type("0"); cy.getByTestID("button_confirm_send_continue").should( "have.attr", - "aria-disabled" + "aria-disabled", ); }); @@ -133,7 +133,7 @@ context("Wallet - Send", () => { cy.getByTestID("token_search_input").clear().type("xxx").wait(2000); cy.getByTestID("empty_search_result_text").should( "have.text", - "Search results for “xxx”" + "Search results for “xxx”", ); cy.getByTestID("select_DFI").should("not.exist"); cy.getByTestID("select_dBTC-DFI").should("not.exist"); @@ -142,7 +142,7 @@ context("Wallet - Send", () => { cy.getByTestID("token_search_input").clear().type("btc").wait(2000); cy.getByTestID("empty_search_result_text").should( "have.text", - "Search results for “btc”" + "Search results for “btc”", ); cy.getByTestID("select_DFI").should("not.exist"); cy.getByTestID("select_dBTC-DFI").should("exist"); @@ -189,11 +189,11 @@ context("Wallet - Send", () => { cy.getByTestID(`${key}_amount_button`).click(); const availableBalance = new BigNumber(text); const inputAfterButtonPress = availableBalance.multipliedBy( - amountButtons[key] + amountButtons[key], ); validateAmountButtonResult( inputAfterButtonPress.toFixed(8), - inputAfterButtonPress.multipliedBy(10000).toFixed(2) + inputAfterButtonPress.multipliedBy(10000).toFixed(2), ); }); }); @@ -213,7 +213,7 @@ context("Wallet - Send", () => { cy.getByTestID("amount_input").clear().type(sendAmount); cy.getByTestID("button_confirm_send_continue").should( "not.have.attr", - "disabled" + "disabled", ); cy.getByTestID("button_confirm_send_continue").click(); // Check txn value @@ -222,14 +222,14 @@ context("Wallet - Send", () => { .then((textAmount) => { const amount = textAmount.replace(" DFI", ""); expect(new BigNumber(amount).toFixed(8)).eq( - new BigNumber(sendAmount).toFixed(8) + new BigNumber(sendAmount).toFixed(8), ); cy.getByTestID("text_fee") .invoke("text") .then((textFeeValue) => { const textFee = textFeeValue.replace(" DFI", ""); expect(new BigNumber(transactionFee).toFixed(8)).eq( - new BigNumber(textFee).toFixed(8) + new BigNumber(textFee).toFixed(8), ); // Check computed pending balance cy.getByTestID("resulting_DFI") @@ -237,14 +237,14 @@ context("Wallet - Send", () => { .then((pendingBalanceValue) => { const pendingBalance = pendingBalanceValue.replace( " DFI", - "" + "", ); expect( new BigNumber(balance) .plus(slippage) .minus(transactionFee) .minus(sendAmount) - .toFixed(8) + .toFixed(8), ).eq(pendingBalance); cy.getByTestID("button_cancel_send").click(); }); @@ -264,7 +264,7 @@ context("Wallet - Send", () => { cy.getByTestID("amount_input").clear().type("1"); cy.getByTestID("button_confirm_send_continue").should( "not.have.attr", - "disabled" + "disabled", ); cy.getByTestID("button_confirm_send_continue").click(); cy.getByTestID("confirm_title").contains("You are sending"); @@ -301,7 +301,7 @@ context("Wallet - Send", () => { cy.getByTestID("amount_input").clear().type(oldAmount); cy.getByTestID("button_confirm_send_continue").should( "not.have.attr", - "disabled" + "disabled", ); cy.getByTestID("button_confirm_send_continue").click(); @@ -309,7 +309,7 @@ context("Wallet - Send", () => { cy.getByTestID("confirm_title").contains("You are sending"); cy.getByTestID("text_send_amount").should( "have.text", - new BigNumber(oldAmount).toFixed(8) + new BigNumber(oldAmount).toFixed(8), ); // Address @@ -318,26 +318,26 @@ context("Wallet - Send", () => { // Transaction details cy.getByTestID("transaction_fee_label").should( "have.text", - "Transaction fee" + "Transaction fee", ); cy.getByTestID("transaction_fee_value").should("exist"); cy.getByTestID("text_amount_label").should("have.text", "Amount to send"); cy.getByTestID("text_amount").contains(oldAmount); const usdValueWithThousandSep = Number( - new BigNumber(oldAmount).multipliedBy(10000).toFixed(2) + new BigNumber(oldAmount).multipliedBy(10000).toFixed(2), ).toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2, }); cy.getByTestID("text_amount_rhsUsdAmount").should( "have.text", - `$${usdValueWithThousandSep}` + `$${usdValueWithThousandSep}`, ); cy.getByTestID("button_confirm_send").click().wait(5000); // Check for authorization page description cy.getByTestID("txn_authorization_title").contains( - `Sending ${new BigNumber(oldAmount).toFixed(8)} DFI to ${oldAddress}` + `Sending ${new BigNumber(oldAmount).toFixed(8)} DFI to ${oldAddress}`, ); // Cancel send on authorisation page cy.getByTestID("cancel_authorization").click(); @@ -354,7 +354,7 @@ context("Wallet - Send", () => { cy.getByTestID("amount_input").clear().type(newAmount); cy.getByTestID("button_confirm_send_continue").should( "not.have.attr", - "disabled" + "disabled", ); cy.getByTestID("button_confirm_send_continue").click(); // Check address and amount in confirm send page @@ -364,7 +364,7 @@ context("Wallet - Send", () => { cy.getByTestID("button_confirm_send").click().wait(3000); // Check for authorization page description cy.getByTestID("txn_authorization_title").contains( - `Sending ${new BigNumber(newAmount).toFixed(8)} DFI to ${newAddress}` + `Sending ${new BigNumber(newAmount).toFixed(8)} DFI to ${newAddress}`, ); cy.closeOceanInterface(); }); @@ -404,7 +404,7 @@ context("Wallet - Send", () => { cy.getByTestID("button_confirm_send_continue").click(); cy.getByTestID("button_confirm_send").should( "have.attr", - "aria-disabled" + "aria-disabled", ); cy.getByTestID("lp_ack_switch").click(); cy.getByTestID("button_confirm_send").click().wait(3000); @@ -452,21 +452,21 @@ context("Wallet - Send - Max Values", () => { cy.getByTestID("MAX_amount_button").click(); cy.getByTestID("button_confirm_send_continue").should( "not.have.attr", - "disabled" + "disabled", ); cy.getByTestID("button_confirm_send_continue").click(); cy.getByTestID("confirm_title").contains("You are sending"); cy.getByTestID("text_send_amount").contains("9.90000000"); cy.getByTestID("text_amount").contains("9.90000000 DFI"); const usdValueWithThousandSep = Number( - new BigNumber(9.9).multipliedBy(10000).toFixed(2) + new BigNumber(9.9).multipliedBy(10000).toFixed(2), ).toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2, }); cy.getByTestID("text_amount_rhsUsdAmount").should( "have.text", - `$${usdValueWithThousandSep}` + `$${usdValueWithThousandSep}`, ); cy.getByTestID("button_confirm_send").click().wait(3000); cy.closeOceanInterface(); @@ -516,40 +516,40 @@ context("Wallet - Send - with Conversion", () => { cy.getByTestID("amount_input").type("12"); cy.getByTestID("transaction_details_info_text").should( "contain", - "By continuing, the required amount of DFI will be converted" + "By continuing, the required amount of DFI will be converted", ); cy.getByTestID("button_confirm_send_continue").click(); cy.getByTestID("txn_authorization_title").contains( - `Convert ${new BigNumber("2.1").toFixed(8)} DFI to UTXO` + `Convert ${new BigNumber("2.1").toFixed(8)} DFI to UTXO`, ); cy.closeOceanInterface().wait(3000); cy.getByTestID("amount_to_convert_label").should( "have.text", - "Amount to convert" + "Amount to convert", ); cy.getByTestID("amount_to_convert_value").should( "contain", - "2.10000000 DFI" + "2.10000000 DFI", ); cy.getByTestID("conversion_status").should("have.text", "Converted"); cy.getByTestID("transaction_fee_label").should( "have.text", - "Transaction fee" + "Transaction fee", ); cy.getByTestID("transaction_fee_value").should("exist"); cy.getByTestID("text_amount").should("have.text", "12.00000000 DFI"); const usdValueWithThousandSep = Number( - new BigNumber(12).multipliedBy(10000).toFixed(2) + new BigNumber(12).multipliedBy(10000).toFixed(2), ).toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2, }); cy.getByTestID("text_amount_rhsUsdAmount").should( "have.text", - `$${usdValueWithThousandSep}` + `$${usdValueWithThousandSep}`, ); cy.getByTestID("text_send_amount").should("contain", "12.00000000"); @@ -584,7 +584,7 @@ context("Wallet - Send - Switch token", () => { cy.getByTestID("select_DFI").click(); cy.getByTestID("button_confirm_send_continue").should( "have.attr", - "aria-disabled" + "aria-disabled", ); cy.getByTestID("max_value").should("have.text", "19.90000000"); cy.getByTestID("max_value_display_symbol").contains("DFI"); @@ -598,7 +598,7 @@ context("Wallet - Send - Switch token", () => { cy.getByTestID("max_value_display_symbol").contains("dBTC"); cy.getByTestID("button_confirm_send_continue").should( "have.attr", - "aria-disabled" + "aria-disabled", ); }); @@ -661,10 +661,10 @@ context("Wallet - Send - Address book", () => { cy.getByTestID("address_input_clear_button").click(); cy.getByTestID("address_book_button").click(); cy.getByTestID(`address_row_label_${index}_WHITELISTED`).contains( - labels[index] + labels[index], ); cy.getByTestID(`address_row_text_${index}_WHITELISTED`).contains( - addresses[index] + addresses[index], ); // cy.getByTestID('address_book_address_input').clear().type(addresses[index]).blur() }); @@ -704,15 +704,15 @@ context("Wallet - Send - Address book", () => { cy.getByTestID("address_book_address_input").type("fake address"); cy.getByTestID("save_address_label").should("have.attr", "aria-disabled"); cy.getByTestID("address_book_address_input_error").contains( - "Please enter a valid address" + "Please enter a valid address", ); cy.getByTestID("address_book_label_input_clear_button").click(); cy.getByTestID("address_book_label_input_error").contains( - "Required field. Please enter a label. Maximum of 40 characters." + "Required field. Please enter a label. Maximum of 40 characters.", ); cy.getByTestID("address_book_address_input").clear(); cy.getByTestID("address_book_address_input_error").contains( - "Please enter a valid address" + "Please enter a valid address", ); cy.getByTestID("save_address_label").should("have.attr", "aria-disabled"); }); @@ -758,7 +758,7 @@ context("Wallet - Send - Address book", () => { .type(addresses[index]) .blur(); cy.getByTestID("address_book_address_input_error").contains( - "This address already exists in your address book, please enter a different address" + "This address already exists in your address book, please enter a different address", ); cy.go("back"); }); @@ -776,7 +776,7 @@ context("Wallet - Send - Address book", () => { .type(walletAddress) .blur(); cy.getByTestID("address_book_address_input_error").contains( - "This address already exists in your address book, please enter a different address" + "This address already exists in your address book, please enter a different address", ); }); }); @@ -804,7 +804,7 @@ context("Wallet - Send - Address book", () => { .should("exist") .then(() => { const walletUserPreference = JSON.parse( - localStorage.getItem("Local.WALLET.SETTINGS") ?? "{}" + localStorage.getItem("Local.WALLET.SETTINGS") ?? "{}", ); expect(walletUserPreference).to.have.deep.property("addressBook", {}); }); @@ -827,9 +827,207 @@ context("Wallet - Send - Address book", () => { .should("exist") .then(() => { const walletUserPreference = JSON.parse( - localStorage.getItem("Local.WALLET.SETTINGS") ?? "{}" + localStorage.getItem("Local.WALLET.SETTINGS") ?? "{}", ); expect(walletUserPreference).to.have.deep.property("addressBook", {}); }); }); }); + +context.only("(dvm -> dvm) Wallet - Send - Address book", () => { + before(() => { + cy.createEmptyWallet(true); + cy.sendDFItoWallet().sendDFITokentoWallet().wait(6000); + cy.getByTestID("bottom_tab_portfolio").click(); + + // Portfolio -> Send action btn -> Address book + cy.getByTestID("action_button_group").should("exist"); + cy.getByTestID("send_balance_button").click().wait(3000); + cy.getByTestID("select_DFI").click().wait(3000); + cy.getByTestID("address_book_button").click(); + cy.getByTestID("address_row_0_WHITELISTED").should("not.exist"); + cy.getByTestID("button_add_address").should("exist"); + }); + + const labels = ["DVMAddress", "EVMAddress"]; + const addresses = [ + "bcrt1q8rfsfny80jx78cmk4rsa069e2ckp6rn83u6ut9", + "0x2DeC425BF3c289C9B7452aD54E2F9877F21e0316", + ]; + + function validateMatchAddress(address: string, label: string): void { + cy.getByTestID("address_input").contains(address); + if (label === labels[0]) { + cy.getByTestID("address_input_footer").contains(label); + } else { + cy.getByTestID("address_input_footer_evm").contains(label); + } + } + + function populateAddressBook(): void { + cy.createEmptyWallet(true); + cy.sendDFItoWallet().sendDFITokentoWallet().wait(6000); + cy.getByTestID("action_button_group").should("exist"); + cy.getByTestID("send_balance_button").click().wait(3000); + cy.getByTestID("select_DFI").click().wait(3000); + cy.getByTestID("address_book_button").click(); + cy.wrap(labels).each((_v, index: number) => { + if (index === 0) { + cy.getByTestID("button_add_address").click(); + } else { + cy.getByTestID("add_new_address").click(); + } + // Select EVM address type + if (index === 1) { + cy.getByTestID("address_book_address_type_EVM").click(); + } + cy.getByTestID("address_book_label_input").type(labels[index]); + cy.getByTestID("address_book_label_input_error").should("not.exist"); + cy.getByTestID("address_book_address_input") + .clear() + .type(addresses[index]) + .blur(); + cy.getByTestID("address_book_address_input_error").should("not.exist"); + cy.getByTestID("save_address_label").click().wait(1000); + cy.getByTestID("pin_authorize").type("000000").wait(2000); + validateMatchAddress(addresses[index], labels[index]); + cy.wait(1000); + cy.getByTestID("address_input_clear_button").click(); + cy.getByTestID("address_book_button").click(); + cy.getByTestID(`address_row_label_${index}_WHITELISTED`).contains( + labels[index], + ); + cy.getByTestID(`address_row_text_${index}_WHITELISTED`).contains( + addresses[index], + ); + // cy.getByTestID('address_book_address_input').clear().type(addresses[index]).blur() + }); + } + + it("should enable selection for both DVM and EVM whitelisted wallet addresses", () => { + populateAddressBook(); + + // check if cards are enabled + cy.getByTestID("address_row_0_WHITELISTED").should( + "not.have.attr", + "aria-disabled", + ); + cy.getByTestID("address_row_1_WHITELISTED").should( + "not.have.attr", + "aria-disabled", + ); + }); + + it.only("should display evm tag when EVM address is selected in DVM domain", () => { + populateAddressBook(); + cy.getByTestID("address_row_text_1_WHITELISTED").click(); + + // expect to see evm tag in address input + cy.getByTestID("address_input_footer_evm").contains(labels[1]); + + cy.getByTestID("amount_input").type("0.1"); + cy.getByTestID("button_confirm_send_continue").click(); + + // expect to see evm tag in confirm screen + cy.getByTestID("to_address_label_evm_tag").should("exist"); + }); +}); + +context("(evm -> dvm) Wallet - Send - Address book", () => { + const isEvmDomain = true; + before(() => { + cy.createEmptyWallet(true); + cy.sendDFItoWallet().sendDFITokentoWallet().wait(6000); + cy.getByTestID("bottom_tab_portfolio").click(); + + // Portfolio -> Send btn -> Address book + cy.getByTestID("action_button_group").should("exist"); + cy.getByTestID("send_balance_button").click().wait(3000); + cy.getByTestID("select_DFI").click().wait(3000); + cy.getByTestID("address_book_button").click(); + cy.getByTestID("address_row_0_WHITELISTED").should("not.exist"); + cy.getByTestID("button_add_address").should("exist"); + }); + + const labels = ["DVMAddress", "EVMAddress"]; + const addresses = [ + "bcrt1q8rfsfny80jx78cmk4rsa069e2ckp6rn83u6ut9", + "0x2DeC425BF3c289C9B7452aD54E2F9877F21e0316", + ]; + + function validateMatchAddress(address: string, label: string): void { + cy.getByTestID("address_input").contains(address); + if (label === labels[0]) { + cy.getByTestID("address_input_footer").contains(label); + } else { + cy.getByTestID("address_input_footer_evm").contains(label); + } + } + + function populateAddressBook(): void { + cy.createEmptyWallet(true); + cy.getByTestID("domain_switch").click(); // Switch to EVM domain + cy.sendDFItoWallet().sendDFITokentoWallet().wait(6000); + cy.getByTestID("action_button_group").should("exist"); + cy.getByTestID("send_balance_button").click().wait(3000); + cy.getByTestID("select_DFI").click().wait(3000); + cy.getByTestID("address_book_button").click(); + cy.wrap(labels).each((_v, index: number) => { + if (index === 0) { + cy.getByTestID("button_add_address").click(); + } else { + cy.getByTestID("add_new_address").click(); + } + if (isEvmDomain && index === 0) { + cy.getByTestID("address_book_address_type_DVM").click(); + } + cy.getByTestID("address_book_label_input").type(labels[index]); + cy.getByTestID("address_book_label_input_error").should("not.exist"); + cy.getByTestID("address_book_address_input") + .clear() + .type(addresses[index]) + .blur(); + cy.getByTestID("address_book_address_input_error").should("not.exist"); + cy.getByTestID("save_address_label").click().wait(1000); + cy.getByTestID("pin_authorize").type("000000").wait(2000); + validateMatchAddress(addresses[index], labels[index]); + cy.wait(1000); + cy.getByTestID("address_input_clear_button").click(); + cy.getByTestID("address_book_button").click(); + + // Skip test below since the order of address is rearranged + if (isEvmDomain && index === 1) { + return; + } + cy.getByTestID(`address_row_label_${index}_WHITELISTED`).contains( + labels[index], + ); + cy.getByTestID(`address_row_text_${index}_WHITELISTED`).contains( + addresses[index], + ); + + // cy.getByTestID('address_book_address_input').clear().type(addresses[index]).blur() + }); + } + + it("should enable selection only for DVM whitelisted wallet addresses in EVM domain", () => { + populateAddressBook(); + + // EVM address + cy.getByTestID("address_row_label_0_WHITELISTED").contains(labels[1]); + cy.getByTestID("address_row_text_0_WHITELISTED").contains(addresses[1]); + cy.getByTestID("address_row_0_WHITELISTED").should( + "have.attr", + "aria-disabled", + ); + + // DVM address + cy.getByTestID("address_row_label_1_WHITELISTED").contains(labels[0]); + cy.getByTestID("address_row_text_1_WHITELISTED").contains(addresses[0]); + cy.getByTestID("address_row_label_0_WHITELISTED_EVM_tag").should("exist"); + cy.getByTestID("address_row_1_WHITELISTED").should( + "not.have.attr", + "aria-disabled", + ); + }); +}); diff --git a/mobile-app/cypress/e2e/functional/wallet/portfolio/sendConfirmation.spec.ts b/mobile-app/cypress/e2e/functional/wallet/portfolio/sendConfirmation.spec.ts index d032af62a9..e9a5f36111 100644 --- a/mobile-app/cypress/e2e/functional/wallet/portfolio/sendConfirmation.spec.ts +++ b/mobile-app/cypress/e2e/functional/wallet/portfolio/sendConfirmation.spec.ts @@ -20,14 +20,14 @@ context("Wallet - Send Preview/Confirmation", () => { .invoke("text") .should((t) => expect(t).equal("1.23400000")); cy.getByTestID("wallet_address").should("exist"); - cy.getByTestID("summary_to_value").should( + cy.getByTestID("address_input_footer").should( "have.text", - "bcrt1q8rfsfny80jx78cmk4rsa069e2ckp6rn83u6ut9" + "bcrt1q8rfsfny80jx78cmk4rsa069e2ckp6rn83u6ut9", ); cy.getByTestID("transaction_fee_label").should( "have.text", - "Transaction fee" + "Transaction fee", ); cy.getByTestID("transaction_fee_value").contains("DFI"); @@ -35,7 +35,7 @@ context("Wallet - Send Preview/Confirmation", () => { cy.getByTestID("text_amount").contains("1.23400000 dBTC"); cy.getByTestID("text_amount_rhsUsdAmount").should( "have.text", - "$12,340.00" + "$12,340.00", ); cy.getByTestID("button_confirm_send").should("not.have.attr", "disabled"); }); diff --git a/mobile-app/cypress/e2e/functional/wallet/settings/addressBook.spec.ts b/mobile-app/cypress/e2e/functional/wallet/settings/addressBook.spec.ts index 16ce596027..4831e5ebf1 100644 --- a/mobile-app/cypress/e2e/functional/wallet/settings/addressBook.spec.ts +++ b/mobile-app/cypress/e2e/functional/wallet/settings/addressBook.spec.ts @@ -33,10 +33,10 @@ context("Wallet - Settings - Address Book", () => { cy.getByTestID("save_address_label").click().wait(1000); cy.getByTestID("pin_authorize").type("000000").wait(2000); cy.getByTestID(`address_row_label_${index}_WHITELISTED`).contains( - labels[index] + labels[index], ); cy.getByTestID(`address_row_text_${index}_WHITELISTED`).contains( - addresses[index] + addresses[index], ); }); } @@ -49,6 +49,7 @@ context("Wallet - Settings - Address Book", () => { it("should have Your Addresses tab with one wallet address", () => { cy.getByTestID("address_button_group_YOUR_ADDRESS").click(); cy.getByTestID("address_row_text_0_YOUR_ADDRESS").should("exist"); + cy.getByTestID("address_row_text_0_YOUR_ADDRESS_EVM").should("exist"); }); it("should have refresh button in Your address tab", () => { @@ -58,19 +59,64 @@ context("Wallet - Settings - Address Book", () => { it("should block wallet address during add new whitelisted address", () => { cy.getByTestID("address_row_text_0_YOUR_ADDRESS") .invoke("text") - .then((walletAddress) => { - cy.getByTestID("address_button_group_WHITELISTED").click(); - cy.getByTestID("add_new_address").click(); - cy.getByTestID("address_book_address_input") - .clear() - .type(walletAddress) - .blur(); - cy.getByTestID("address_book_address_input_error").contains( - "This address already exists in your address book, please enter a different address" - ); + .then((walletDFIAddress) => { + cy.getByTestID("address_row_text_0_YOUR_ADDRESS_EVM") + .invoke("text") + .then((walletETHAddress) => { + cy.getByTestID("address_button_group_WHITELISTED").click(); + cy.getByTestID("add_new_address").click(); + cy.getByTestID("address_book_address_type_DFI_checked").should( + "exist", + ); + // check for DFI address + cy.getByTestID("address_book_address_input") + .clear() + .type(walletDFIAddress) + .blur(); + cy.getByTestID("address_book_address_input_error").contains( + "This address already exists in your address book, please enter a different address", + ); + // check for evm address + cy.getByTestID("address_book_address_input") + .clear() + .type(walletETHAddress) + .blur(); + cy.getByTestID("address_book_address_input_error").contains( + "Please enter a valid address", + ); + // change domain type + cy.getByTestID("address_book_address_type_EVM").click(); + cy.getByTestID("address_book_address_input_error").contains( + "This address already exists in your address book, please enter a different address", + ); + }); }); }); + it("should be able to create EVM address in whitelisted tab", () => { + const evmAddress = "0x333333f332a06ECB5D20D35da44ba07986D6E203"; + const label = "EVM Address"; + cy.createEmptyWallet(true); + cy.getByTestID("header_settings").click(); + cy.getByTestID("address_book_title").click(); + cy.getByTestID("add_new_address").click(); + cy.getByTestID("address_book_label_input").type(label); + cy.getByTestID("address_book_label_input_error").should("not.exist"); + cy.getByTestID("address_book_address_type_EVM").click(); + cy.getByTestID("address_book_address_type_EVM_checked").should("exist"); + cy.getByTestID("address_book_address_input") + .clear() + .type(evmAddress) + .blur(); + cy.getByTestID("address_book_address_input_error").should("not.exist"); + cy.wait(1000); + cy.getByTestID("save_address_label").click(); + cy.getByTestID("pin_authorize").type("000000").wait(5000); + cy.getByTestID(`address_row_label_0_WHITELISTED`).contains(label); + cy.getByTestID(`address_row_text_0_WHITELISTED`).contains(evmAddress); + cy.getByTestID(`address_row_label_0_WHITELISTED_EVM_tag`).contains("EVM"); + }); + it("should be able to create address in whitelisted tab", () => { populateAddressBook(); }); @@ -81,7 +127,7 @@ context("Wallet - Settings - Address Book", () => { cy.getByTestID("search_title").contains(`Search results for “${label}`); cy.getByTestID("address_row_label_0_WHITELISTED").contains(label); cy.getByTestID("address_row_text_0_WHITELISTED").contains( - addresses[index] + addresses[index], ); cy.getByTestID("address_search_input").clear(); cy.getByTestID("search_title").contains("Search with label or address"); @@ -116,10 +162,10 @@ context("Wallet - Settings - Address Book", () => { cy.getByTestID("pin_authorize").type("000000").wait(2000); cy.wrap(modifiedLabels).each((_v, index: number) => { cy.getByTestID(`address_row_label_${index}_WHITELISTED`).contains( - modifiedLabels[index] + modifiedLabels[index], ); cy.getByTestID(`address_row_text_${index}_WHITELISTED`).contains( - addresses[index] + addresses[index], ); }); }); diff --git a/mobile-app/cypress/e2e/functional/wallet/settings/serviceProvider.spec.ts b/mobile-app/cypress/e2e/functional/wallet/settings/serviceProvider.spec.ts index b0bc35f455..6a4a7ccdcd 100644 --- a/mobile-app/cypress/e2e/functional/wallet/settings/serviceProvider.spec.ts +++ b/mobile-app/cypress/e2e/functional/wallet/settings/serviceProvider.spec.ts @@ -53,56 +53,62 @@ defichainUrlEnvs.forEach((defichainUrlEnv) => { cy.getByTestID("header_network_name") .first() .contains(defichainUrlEnv); - cy.getByTestID("setting_navigate_service_provider").contains( - "Default" + cy.getByTestID("setting_navigate_service_provider_value").contains( + "Default", ); cy.url().should("include", "app/Settings", () => { - expect(localStorage.getItem("WALLET.SERVICE_PROVIDER_URL")).to.eq( - url.default - ); + expect( + localStorage.getItem("WALLET.SERVICE_PROVIDER_URL.DVM"), + ).to.eq(url.default); }); }); }); it(`should have default service provider url on ${defichainUrlEnv}`, () => { cy.getByTestID("setting_navigate_service_provider").click(); - cy.getByTestID("endpoint_url_input").should("have.value", url.default); + cy.getByTestID("DVM_endpoint_url_input").should( + "have.value", + url.default, + ); }); it(`input should be locked and not editable on ${defichainUrlEnv}`, () => { - cy.getByTestID("endpoint_url_input").should("have.attr", "readonly"); + cy.getByTestID("DVM_endpoint_url_input").should( + "have.attr", + "readonly", + ); }); it(`can unlock to change service provider endpoint on ${defichainUrlEnv}`, () => { - cy.getByTestID("edit_service_provider").click(); + cy.getByTestID("DVM_edit_service_provider").click(); cy.getByTestID("reset_button").should("exist"); - cy.getByTestID("endpoint_url_input").should( + cy.getByTestID("DVM_endpoint_url_input").should( "not.have.attr", - "readonly" + "readonly", ); + cy.getByTestID("DVM_endpoint_url_input").should("have.value", ""); cy.getByTestID("button_submit").should("have.attr", "aria-disabled"); }); it(`should type invalid custom provider URL on ${defichainUrlEnv}`, () => { - cy.getByTestID("endpoint_url_input").should("have.value", ""); - cy.getByTestID("endpoint_url_input").type( - "http://invalidcustomURL.com" + cy.getByTestID("DVM_endpoint_url_input").type( + "http://invalidcustomURL.com", ); - cy.getByTestID("endpoint_url_input_error").contains("Invalid URL"); + cy.getByTestID("DVM_endpoint_url_input_error").contains("Invalid URL"); cy.getByTestID("button_submit").should("have.attr", "aria-disabled"); }); it(`should submit valid custom service provider on ${defichainUrlEnv}`, () => { - cy.getByTestID("endpoint_url_input").clear().type(url.custom); + cy.getByTestID("DVM_endpoint_url_input").clear().type(url.custom); cy.getByTestID("button_submit").should( "not.have.attr", - "aria-disabled" + "aria-disabled", ); cy.getByTestID("button_submit").click().wait(3000); cy.getByTestID("pin_authorize").type("000000", { delay: 3000 }); cy.wait(5000); - cy.url().should("include", "app/portfolio"); cy.getByTestID("bottom_tab_portfolio").click(); + cy.url().should("include", "app/portfolio"); cy.wait(4000); cy.getByTestID("header_settings").click().wait(1000); cy.wait(4000); @@ -111,7 +117,7 @@ defichainUrlEnvs.forEach((defichainUrlEnv) => { cy.getByTestID("setting_navigate_service_provider").contains("Custom"); cy.url().should("include", "app/Settings", () => { expect(localStorage.getItem("WALLET.SERVICE_PROVIDER_URL")).to.eq( - url.custom + url.custom, ); }); cy.getByTestID("bottom_tab_portfolio").click(); @@ -121,7 +127,7 @@ defichainUrlEnvs.forEach((defichainUrlEnv) => { cy.getByTestID("bottom_tab_portfolio").click(); cy.getByTestID("header_settings").click(); cy.getByTestID("setting_navigate_service_provider").click(); - cy.getByTestID("edit_service_provider").click(); + cy.getByTestID("DVM_edit_service_provider").click(); cy.getByTestID("reset_button").should("exist").click().wait(3000); cy.getByTestID("pin_authorize").type("000000", { delay: 3000 }); cy.wait(5000); diff --git a/package-lock.json b/package-lock.json index 0e1190667a..900756b870 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@defichain/wallet", - "lockfileVersion": 3, + "lockfileVersion": 2, "requires": true, "packages": { "": { @@ -22,13 +22,14 @@ "@react-navigation/stack": "^6.3.17", "@reduxjs/toolkit": "^1.9.5", "@shopify/flash-list": "1.4.3", - "@waveshq/standard-defichain-jellyfishsdk": "^2.2.0", - "@waveshq/walletkit-core": "^1.3.5", - "@waveshq/walletkit-ui": "^1.3.5", + "@waveshq/standard-defichain-jellyfishsdk": "^2.4.1", + "@waveshq/walletkit-core": "^1.3.7", + "@waveshq/walletkit-ui": "^1.3.7", "bignumber.js": "^9.1.1", "buffer": "^6.0.3", "classnames": "^2.3.2", "dayjs": "^1.11.9", + "ethers": "^5.7.1", "expo": "^49.0.7", "expo-asset": "~8.10.1", "expo-barcode-scanner": "~12.5.3", @@ -36,9 +37,10 @@ "expo-clipboard": "~4.3.1", "expo-constants": "~14.4.2", "expo-crypto": "~12.4.1", - "expo-file-system": "~15.4.3", + "expo-crypto-polyfills": "^1.1.0", + "expo-file-system": "~15.4.4", "expo-font": "~11.4.0", - "expo-image": "~1.3.2", + "expo-image": "~1.3.4", "expo-linear-gradient": "~12.3.0", "expo-linking": "~5.0.2", "expo-local-authentication": "~13.4.1", @@ -46,7 +48,7 @@ "expo-secure-store": "~12.3.1", "expo-splash-screen": "~0.20.5", "expo-status-bar": "~1.6.0", - "expo-updates": "~0.18.11", + "expo-updates": "~0.18.16", "expo-web-browser": "~12.3.2", "i18n-js": "^3.9.2", "install": "^0.13.0", @@ -57,7 +59,7 @@ "react-devtools": "^4.28.0", "react-dom": "18.2.0", "react-hook-form": "^7.45.4", - "react-native": "0.72.3", + "react-native": "0.72.5", "react-native-circular-progress-indicator": "^4.4.2", "react-native-collapsible": "^1.6.1", "react-native-confirmation-code-field": "^7.3.1", @@ -133,21 +135,18 @@ }, "node_modules/@aashutoshrathi/word-wrap": { "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/@adraffy/ens-normalize": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.9.2.tgz", - "integrity": "sha512-0h+FrQDqe2Wn+IIGFkTCd4aAwTJ+7834Ek1COohCyV26AXhwQ7WQaz+4F/nLOeVl/3BtWHOHLPsq46V8YB46Eg==" + "version": "1.10.0", + "license": "MIT" }, "node_modules/@ampproject/remapping": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "license": "Apache-2.0", "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -158,8 +157,7 @@ }, "node_modules/@babel/code-frame": { "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.10.tgz", - "integrity": "sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==", + "license": "MIT", "dependencies": { "@babel/highlight": "^7.22.10", "chalk": "^2.4.2" @@ -170,16 +168,14 @@ }, "node_modules/@babel/compat-data": { "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", - "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.10.tgz", - "integrity": "sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==", + "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.22.10", @@ -207,16 +203,14 @@ }, "node_modules/@babel/core/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/generator": { "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.10.tgz", - "integrity": "sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==", + "license": "MIT", "dependencies": { "@babel/types": "^7.22.10", "@jridgewell/gen-mapping": "^0.3.2", @@ -229,8 +223,7 @@ }, "node_modules/@babel/helper-annotate-as-pure": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "license": "MIT", "dependencies": { "@babel/types": "^7.22.5" }, @@ -240,8 +233,7 @@ }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.10.tgz", - "integrity": "sha512-Av0qubwDQxC56DoUReVDeLfMEjYYSN1nZrTUrWkXd7hpU73ymRANkbuDm3yni9npkn+RXy9nNbEJZEzXr7xrfQ==", + "license": "MIT", "dependencies": { "@babel/types": "^7.22.10" }, @@ -251,8 +243,7 @@ }, "node_modules/@babel/helper-compilation-targets": { "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz", - "integrity": "sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==", + "license": "MIT", "dependencies": { "@babel/compat-data": "^7.22.9", "@babel/helper-validator-option": "^7.22.5", @@ -266,29 +257,25 @@ }, "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "license": "ISC", "dependencies": { "yallist": "^3.0.2" } }, "node_modules/@babel/helper-compilation-targets/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "license": "ISC" }, "node_modules/@babel/helper-create-class-features-plugin": { "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.10.tgz", - "integrity": "sha512-5IBb77txKYQPpOEdUdIhBx8VrZyDCQ+H82H0+5dX1TmuscP5vJKEE3cKurjtIw/vFwzbVH48VweE78kVDBrqjA==", + "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-environment-visitor": "^7.22.5", @@ -309,16 +296,14 @@ }, "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/helper-create-regexp-features-plugin": { "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.9.tgz", - "integrity": "sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==", + "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "regexpu-core": "^5.3.1", @@ -333,16 +318,14 @@ }, "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/helper-define-polyfill-provider": { "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz", - "integrity": "sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==", + "license": "MIT", "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", "@babel/helper-plugin-utils": "^7.22.5", @@ -356,16 +339,14 @@ }, "node_modules/@babel/helper-environment-visitor": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", - "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", - "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", + "license": "MIT", "dependencies": { "@babel/template": "^7.22.5", "@babel/types": "^7.22.5" @@ -376,8 +357,7 @@ }, "node_modules/@babel/helper-hoist-variables": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "license": "MIT", "dependencies": { "@babel/types": "^7.22.5" }, @@ -387,8 +367,7 @@ }, "node_modules/@babel/helper-member-expression-to-functions": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", - "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", + "license": "MIT", "dependencies": { "@babel/types": "^7.22.5" }, @@ -398,8 +377,7 @@ }, "node_modules/@babel/helper-module-imports": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "license": "MIT", "dependencies": { "@babel/types": "^7.22.5" }, @@ -409,8 +387,7 @@ }, "node_modules/@babel/helper-module-transforms": { "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", - "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", + "license": "MIT", "dependencies": { "@babel/helper-environment-visitor": "^7.22.5", "@babel/helper-module-imports": "^7.22.5", @@ -427,8 +404,7 @@ }, "node_modules/@babel/helper-optimise-call-expression": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "license": "MIT", "dependencies": { "@babel/types": "^7.22.5" }, @@ -438,16 +414,14 @@ }, "node_modules/@babel/helper-plugin-utils": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-remap-async-to-generator": { "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.9.tgz", - "integrity": "sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==", + "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-environment-visitor": "^7.22.5", @@ -462,8 +436,7 @@ }, "node_modules/@babel/helper-replace-supers": { "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.9.tgz", - "integrity": "sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==", + "license": "MIT", "dependencies": { "@babel/helper-environment-visitor": "^7.22.5", "@babel/helper-member-expression-to-functions": "^7.22.5", @@ -478,8 +451,7 @@ }, "node_modules/@babel/helper-simple-access": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "license": "MIT", "dependencies": { "@babel/types": "^7.22.5" }, @@ -489,8 +461,7 @@ }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "license": "MIT", "dependencies": { "@babel/types": "^7.22.5" }, @@ -500,8 +471,7 @@ }, "node_modules/@babel/helper-split-export-declaration": { "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "license": "MIT", "dependencies": { "@babel/types": "^7.22.5" }, @@ -511,32 +481,28 @@ }, "node_modules/@babel/helper-string-parser": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", - "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", + "version": "7.22.15", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.10.tgz", - "integrity": "sha512-OnMhjWjuGYtdoO3FmsEFWvBStBAe2QOgwOLsLNDjN+aaiMD8InJk1/O3HSD8lkqTjCgg5YI34Tz15KNNA3p+nQ==", + "license": "MIT", "dependencies": { "@babel/helper-function-name": "^7.22.5", "@babel/template": "^7.22.5", @@ -548,8 +514,7 @@ }, "node_modules/@babel/helpers": { "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.10.tgz", - "integrity": "sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==", + "license": "MIT", "dependencies": { "@babel/template": "^7.22.5", "@babel/traverse": "^7.22.10", @@ -561,8 +526,7 @@ }, "node_modules/@babel/highlight": { "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz", - "integrity": "sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==", + "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.22.5", "chalk": "^2.4.2", @@ -574,8 +538,7 @@ }, "node_modules/@babel/parser": { "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.10.tgz", - "integrity": "sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==", + "license": "MIT", "bin": { "parser": "bin/babel-parser.js" }, @@ -585,8 +548,7 @@ }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz", - "integrity": "sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -599,8 +561,7 @@ }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz", - "integrity": "sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", @@ -615,8 +576,7 @@ }, "node_modules/@babel/plugin-proposal-async-generator-functions": { "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", - "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", + "license": "MIT", "dependencies": { "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-plugin-utils": "^7.20.2", @@ -632,8 +592,7 @@ }, "node_modules/@babel/plugin-proposal-class-properties": { "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -647,8 +606,7 @@ }, "node_modules/@babel/plugin-proposal-decorators": { "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.22.10.tgz", - "integrity": "sha512-KxN6TqZzcFi4uD3UifqXElBTBNLAEH1l3vzMQj6JwJZbL2sZlThxSViOKCYY+4Ah4V4JhQ95IVB7s/Y6SJSlMQ==", + "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.22.10", "@babel/helper-plugin-utils": "^7.22.5", @@ -665,9 +623,8 @@ }, "node_modules/@babel/plugin-proposal-dynamic-import": { "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-dynamic-import": "^7.8.3" @@ -681,8 +638,7 @@ }, "node_modules/@babel/plugin-proposal-export-default-from": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.22.5.tgz", - "integrity": "sha512-UCe1X/hplyv6A5g2WnQ90tnHRvYL29dabCWww92lO7VdfMVTVReBTRrhiMrKQejHD9oVkdnRdwYuzUZkBVQisg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-export-default-from": "^7.22.5" @@ -696,8 +652,7 @@ }, "node_modules/@babel/plugin-proposal-export-namespace-from": { "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", - "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.9", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" @@ -711,9 +666,8 @@ }, "node_modules/@babel/plugin-proposal-json-strings": { "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", - "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-json-strings": "^7.8.3" @@ -727,9 +681,8 @@ }, "node_modules/@babel/plugin-proposal-logical-assignment-operators": { "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", - "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.20.2", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" @@ -743,8 +696,7 @@ }, "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" @@ -758,8 +710,7 @@ }, "node_modules/@babel/plugin-proposal-numeric-separator": { "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-numeric-separator": "^7.10.4" @@ -773,8 +724,7 @@ }, "node_modules/@babel/plugin-proposal-object-rest-spread": { "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", - "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", + "license": "MIT", "dependencies": { "@babel/compat-data": "^7.20.5", "@babel/helper-compilation-targets": "^7.20.7", @@ -791,8 +741,7 @@ }, "node_modules/@babel/plugin-proposal-optional-catch-binding": { "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" @@ -806,8 +755,7 @@ }, "node_modules/@babel/plugin-proposal-optional-chaining": { "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", - "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.20.2", "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", @@ -822,9 +770,8 @@ }, "node_modules/@babel/plugin-proposal-private-methods": { "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -838,8 +785,7 @@ }, "node_modules/@babel/plugin-proposal-private-property-in-object": { "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "license": "MIT", "engines": { "node": ">=6.9.0" }, @@ -849,9 +795,8 @@ }, "node_modules/@babel/plugin-proposal-unicode-property-regex": { "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -865,8 +810,7 @@ }, "node_modules/@babel/plugin-syntax-async-generators": { "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -876,8 +820,7 @@ }, "node_modules/@babel/plugin-syntax-bigint": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -887,8 +830,7 @@ }, "node_modules/@babel/plugin-syntax-class-properties": { "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -898,8 +840,7 @@ }, "node_modules/@babel/plugin-syntax-class-static-block": { "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -912,8 +853,7 @@ }, "node_modules/@babel/plugin-syntax-decorators": { "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.22.10.tgz", - "integrity": "sha512-z1KTVemBjnz+kSEilAsI4lbkPOl5TvJH7YDSY1CTIzvLWJ+KHXp+mRe8VPmfnyvqOPqar1V2gid2PleKzRUstQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -926,8 +866,7 @@ }, "node_modules/@babel/plugin-syntax-dynamic-import": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -937,8 +876,7 @@ }, "node_modules/@babel/plugin-syntax-export-default-from": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.22.5.tgz", - "integrity": "sha512-ODAqWWXB/yReh/jVQDag/3/tl6lgBueQkk/TcfW/59Oykm4c8a55XloX0CTk2k2VJiFWMgHby9xNX29IbCv9dQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -951,8 +889,7 @@ }, "node_modules/@babel/plugin-syntax-export-namespace-from": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.3" }, @@ -962,8 +899,7 @@ }, "node_modules/@babel/plugin-syntax-flow": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz", - "integrity": "sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -976,8 +912,7 @@ }, "node_modules/@babel/plugin-syntax-import-assertions": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", - "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -990,8 +925,7 @@ }, "node_modules/@babel/plugin-syntax-import-attributes": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", - "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1004,8 +938,7 @@ }, "node_modules/@babel/plugin-syntax-import-meta": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -1015,8 +948,7 @@ }, "node_modules/@babel/plugin-syntax-json-strings": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -1026,8 +958,7 @@ }, "node_modules/@babel/plugin-syntax-jsx": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1040,8 +971,7 @@ }, "node_modules/@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -1051,8 +981,7 @@ }, "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -1062,8 +991,7 @@ }, "node_modules/@babel/plugin-syntax-numeric-separator": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -1073,8 +1001,7 @@ }, "node_modules/@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -1084,8 +1011,7 @@ }, "node_modules/@babel/plugin-syntax-optional-catch-binding": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -1095,8 +1021,7 @@ }, "node_modules/@babel/plugin-syntax-optional-chaining": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -1106,8 +1031,7 @@ }, "node_modules/@babel/plugin-syntax-private-property-in-object": { "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -1120,8 +1044,7 @@ }, "node_modules/@babel/plugin-syntax-top-level-await": { "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -1134,8 +1057,7 @@ }, "node_modules/@babel/plugin-syntax-typescript": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", - "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1148,8 +1070,7 @@ }, "node_modules/@babel/plugin-syntax-unicode-sets-regex": { "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -1163,8 +1084,7 @@ }, "node_modules/@babel/plugin-transform-arrow-functions": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", - "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1177,8 +1097,7 @@ }, "node_modules/@babel/plugin-transform-async-generator-functions": { "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.10.tgz", - "integrity": "sha512-eueE8lvKVzq5wIObKK/7dvoeKJ+xc6TvRn6aysIjS6pSCeLy7S/eVi7pEQknZqyqvzaNKdDtem8nUNTBgDVR2g==", + "license": "MIT", "dependencies": { "@babel/helper-environment-visitor": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5", @@ -1194,8 +1113,7 @@ }, "node_modules/@babel/plugin-transform-async-to-generator": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", - "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", + "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5", @@ -1210,8 +1128,7 @@ }, "node_modules/@babel/plugin-transform-block-scoped-functions": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", - "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1224,8 +1141,7 @@ }, "node_modules/@babel/plugin-transform-block-scoping": { "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.10.tgz", - "integrity": "sha512-1+kVpGAOOI1Albt6Vse7c8pHzcZQdQKW+wJH+g8mCaszOdDVwRXa/slHPqIw+oJAJANTKDMuM2cBdV0Dg618Vg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1238,8 +1154,7 @@ }, "node_modules/@babel/plugin-transform-class-properties": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", - "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", + "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" @@ -1253,8 +1168,7 @@ }, "node_modules/@babel/plugin-transform-class-static-block": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.5.tgz", - "integrity": "sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==", + "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5", @@ -1269,8 +1183,7 @@ }, "node_modules/@babel/plugin-transform-classes": { "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.6.tgz", - "integrity": "sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==", + "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-compilation-targets": "^7.22.6", @@ -1291,8 +1204,7 @@ }, "node_modules/@babel/plugin-transform-computed-properties": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", - "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/template": "^7.22.5" @@ -1306,8 +1218,7 @@ }, "node_modules/@babel/plugin-transform-destructuring": { "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.10.tgz", - "integrity": "sha512-dPJrL0VOyxqLM9sritNbMSGx/teueHF/htMKrPT7DNxccXxRDPYqlgPFFdr8u+F+qUZOkZoXue/6rL5O5GduEw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1320,8 +1231,7 @@ }, "node_modules/@babel/plugin-transform-dotall-regex": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", - "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", + "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" @@ -1335,8 +1245,7 @@ }, "node_modules/@babel/plugin-transform-duplicate-keys": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", - "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1349,8 +1258,7 @@ }, "node_modules/@babel/plugin-transform-dynamic-import": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.5.tgz", - "integrity": "sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3" @@ -1364,8 +1272,7 @@ }, "node_modules/@babel/plugin-transform-exponentiation-operator": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", - "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", + "license": "MIT", "dependencies": { "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" @@ -1379,8 +1286,7 @@ }, "node_modules/@babel/plugin-transform-export-namespace-from": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz", - "integrity": "sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" @@ -1394,8 +1300,7 @@ }, "node_modules/@babel/plugin-transform-flow-strip-types": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz", - "integrity": "sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-flow": "^7.22.5" @@ -1409,8 +1314,7 @@ }, "node_modules/@babel/plugin-transform-for-of": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz", - "integrity": "sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1423,8 +1327,7 @@ }, "node_modules/@babel/plugin-transform-function-name": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", - "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", + "license": "MIT", "dependencies": { "@babel/helper-compilation-targets": "^7.22.5", "@babel/helper-function-name": "^7.22.5", @@ -1439,8 +1342,7 @@ }, "node_modules/@babel/plugin-transform-json-strings": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.5.tgz", - "integrity": "sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-json-strings": "^7.8.3" @@ -1454,8 +1356,7 @@ }, "node_modules/@babel/plugin-transform-literals": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", - "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1468,8 +1369,7 @@ }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.5.tgz", - "integrity": "sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" @@ -1483,8 +1383,7 @@ }, "node_modules/@babel/plugin-transform-member-expression-literals": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", - "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1497,8 +1396,7 @@ }, "node_modules/@babel/plugin-transform-modules-amd": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz", - "integrity": "sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==", + "license": "MIT", "dependencies": { "@babel/helper-module-transforms": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" @@ -1512,8 +1410,7 @@ }, "node_modules/@babel/plugin-transform-modules-commonjs": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz", - "integrity": "sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==", + "license": "MIT", "dependencies": { "@babel/helper-module-transforms": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5", @@ -1528,8 +1425,7 @@ }, "node_modules/@babel/plugin-transform-modules-systemjs": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.5.tgz", - "integrity": "sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==", + "license": "MIT", "dependencies": { "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-module-transforms": "^7.22.5", @@ -1545,8 +1441,7 @@ }, "node_modules/@babel/plugin-transform-modules-umd": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", - "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", + "license": "MIT", "dependencies": { "@babel/helper-module-transforms": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" @@ -1560,8 +1455,7 @@ }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", - "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" @@ -1575,8 +1469,7 @@ }, "node_modules/@babel/plugin-transform-new-target": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", - "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1589,8 +1482,7 @@ }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.5.tgz", - "integrity": "sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" @@ -1604,8 +1496,7 @@ }, "node_modules/@babel/plugin-transform-numeric-separator": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.5.tgz", - "integrity": "sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-numeric-separator": "^7.10.4" @@ -1619,8 +1510,7 @@ }, "node_modules/@babel/plugin-transform-object-assign": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.22.5.tgz", - "integrity": "sha512-iDhx9ARkXq4vhZ2CYOSnQXkmxkDgosLi3J8Z17mKz7LyzthtkdVchLD7WZ3aXeCuvJDOW3+1I5TpJmwIbF9MKQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1633,8 +1523,7 @@ }, "node_modules/@babel/plugin-transform-object-rest-spread": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz", - "integrity": "sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==", + "license": "MIT", "dependencies": { "@babel/compat-data": "^7.22.5", "@babel/helper-compilation-targets": "^7.22.5", @@ -1651,8 +1540,7 @@ }, "node_modules/@babel/plugin-transform-object-super": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", - "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-replace-supers": "^7.22.5" @@ -1666,8 +1554,7 @@ }, "node_modules/@babel/plugin-transform-optional-catch-binding": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.5.tgz", - "integrity": "sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" @@ -1681,8 +1568,7 @@ }, "node_modules/@babel/plugin-transform-optional-chaining": { "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.10.tgz", - "integrity": "sha512-MMkQqZAZ+MGj+jGTG3OTuhKeBpNcO+0oCEbrGNEaOmiEn+1MzRyQlYsruGiU8RTK3zV6XwrVJTmwiDOyYK6J9g==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", @@ -1697,8 +1583,7 @@ }, "node_modules/@babel/plugin-transform-parameters": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz", - "integrity": "sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1711,8 +1596,7 @@ }, "node_modules/@babel/plugin-transform-private-methods": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", - "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", + "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" @@ -1726,8 +1610,7 @@ }, "node_modules/@babel/plugin-transform-private-property-in-object": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz", - "integrity": "sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==", + "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-create-class-features-plugin": "^7.22.5", @@ -1743,8 +1626,7 @@ }, "node_modules/@babel/plugin-transform-property-literals": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", - "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1757,8 +1639,7 @@ }, "node_modules/@babel/plugin-transform-react-display-name": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz", - "integrity": "sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1771,8 +1652,7 @@ }, "node_modules/@babel/plugin-transform-react-jsx": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.5.tgz", - "integrity": "sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==", + "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-module-imports": "^7.22.5", @@ -1789,8 +1669,7 @@ }, "node_modules/@babel/plugin-transform-react-jsx-self": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.22.5.tgz", - "integrity": "sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1803,8 +1682,7 @@ }, "node_modules/@babel/plugin-transform-react-jsx-source": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.22.5.tgz", - "integrity": "sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1817,8 +1695,7 @@ }, "node_modules/@babel/plugin-transform-regenerator": { "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz", - "integrity": "sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "regenerator-transform": "^0.15.2" @@ -1832,8 +1709,7 @@ }, "node_modules/@babel/plugin-transform-reserved-words": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", - "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1846,8 +1722,7 @@ }, "node_modules/@babel/plugin-transform-runtime": { "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.10.tgz", - "integrity": "sha512-RchI7HePu1eu0CYNKHHHQdfenZcM4nz8rew5B1VWqeRKdcwW5aQ5HeG9eTUbWiAS1UrmHVLmoxTWHt3iLD/NhA==", + "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5", @@ -1865,16 +1740,14 @@ }, "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/plugin-transform-shorthand-properties": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", - "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1887,8 +1760,7 @@ }, "node_modules/@babel/plugin-transform-spread": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", - "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" @@ -1902,8 +1774,7 @@ }, "node_modules/@babel/plugin-transform-sticky-regex": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", - "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1916,8 +1787,7 @@ }, "node_modules/@babel/plugin-transform-template-literals": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", - "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1930,8 +1800,7 @@ }, "node_modules/@babel/plugin-transform-typeof-symbol": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", - "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1944,8 +1813,7 @@ }, "node_modules/@babel/plugin-transform-typescript": { "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.10.tgz", - "integrity": "sha512-7++c8I/ymsDo4QQBAgbraXLzIM6jmfao11KgIBEYZRReWzNWH9NtNgJcyrZiXsOPh523FQm6LfpLyy/U5fn46A==", + "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-create-class-features-plugin": "^7.22.10", @@ -1961,8 +1829,7 @@ }, "node_modules/@babel/plugin-transform-unicode-escapes": { "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz", - "integrity": "sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1975,8 +1842,7 @@ }, "node_modules/@babel/plugin-transform-unicode-property-regex": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", - "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", + "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" @@ -1990,8 +1856,7 @@ }, "node_modules/@babel/plugin-transform-unicode-regex": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", - "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", + "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" @@ -2005,8 +1870,7 @@ }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", - "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", + "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" @@ -2020,8 +1884,7 @@ }, "node_modules/@babel/preset-env": { "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.10.tgz", - "integrity": "sha512-riHpLb1drNkpLlocmSyEg4oYJIQFeXAK/d7rI6mbD0XsvoTOOweXDmQPG/ErxsEhWk3rl3Q/3F6RFQlVFS8m0A==", + "license": "MIT", "dependencies": { "@babel/compat-data": "^7.22.9", "@babel/helper-compilation-targets": "^7.22.10", @@ -2113,19 +1976,17 @@ }, "node_modules/@babel/preset-env/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/preset-flow": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.22.5.tgz", - "integrity": "sha512-ta2qZ+LSiGCrP5pgcGt8xMnnkXQrq8Sa4Ulhy06BOlF5QbLw9q5hIx7bn5MrsvyTGAfh6kTOo07Q+Pfld/8Y5Q==", + "version": "7.22.15", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", "@babel/plugin-transform-flow-strip-types": "^7.22.5" }, "engines": { @@ -2137,8 +1998,7 @@ }, "node_modules/@babel/preset-modules": { "version": "0.1.6-no-external-plugins", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", - "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/types": "^7.4.4", @@ -2150,8 +2010,7 @@ }, "node_modules/@babel/preset-typescript": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.22.5.tgz", - "integrity": "sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-validator-option": "^7.22.5", @@ -2167,9 +2026,8 @@ } }, "node_modules/@babel/register": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.22.5.tgz", - "integrity": "sha512-vV6pm/4CijSQ8Y47RH5SopXzursN35RQINfGJkmOlcpAtGuf94miFvIPhCKGQN7WGIcsgG1BHEX2KVdTYwTwUQ==", + "version": "7.22.15", + "license": "MIT", "dependencies": { "clone-deep": "^4.0.1", "find-cache-dir": "^2.0.0", @@ -2186,8 +2044,7 @@ }, "node_modules/@babel/register/node_modules/find-cache-dir": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "license": "MIT", "dependencies": { "commondir": "^1.0.1", "make-dir": "^2.0.0", @@ -2199,8 +2056,7 @@ }, "node_modules/@babel/register/node_modules/find-up": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "license": "MIT", "dependencies": { "locate-path": "^3.0.0" }, @@ -2210,8 +2066,7 @@ }, "node_modules/@babel/register/node_modules/locate-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "license": "MIT", "dependencies": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" @@ -2222,8 +2077,7 @@ }, "node_modules/@babel/register/node_modules/make-dir": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "license": "MIT", "dependencies": { "pify": "^4.0.1", "semver": "^5.6.0" @@ -2234,8 +2088,7 @@ }, "node_modules/@babel/register/node_modules/p-limit": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -2248,8 +2101,7 @@ }, "node_modules/@babel/register/node_modules/p-locate": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "license": "MIT", "dependencies": { "p-limit": "^2.0.0" }, @@ -2259,24 +2111,21 @@ }, "node_modules/@babel/register/node_modules/path-exists": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/@babel/register/node_modules/pify": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/@babel/register/node_modules/pkg-dir": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "license": "MIT", "dependencies": { "find-up": "^3.0.0" }, @@ -2286,16 +2135,14 @@ }, "node_modules/@babel/register/node_modules/semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/@babel/register/node_modules/source-map-support": { "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -2303,13 +2150,11 @@ }, "node_modules/@babel/regjsgen": { "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" + "license": "MIT" }, "node_modules/@babel/runtime": { "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.10.tgz", - "integrity": "sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==", + "license": "MIT", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -2319,8 +2164,7 @@ }, "node_modules/@babel/template": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", - "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.22.5", "@babel/parser": "^7.22.5", @@ -2332,8 +2176,7 @@ }, "node_modules/@babel/traverse": { "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.10.tgz", - "integrity": "sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.22.10", "@babel/generator": "^7.22.10", @@ -2352,8 +2195,7 @@ }, "node_modules/@babel/types": { "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.10.tgz", - "integrity": "sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==", + "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.22.5", "@babel/helper-validator-identifier": "^7.22.5", @@ -2365,33 +2207,28 @@ }, "node_modules/@balena/dockerignore": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@balena/dockerignore/-/dockerignore-1.0.2.tgz", - "integrity": "sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q==" + "license": "Apache-2.0" }, "node_modules/@bcoe/v8-coverage": { "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" + "license": "MIT" }, "node_modules/@colors/colors": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.1.90" } }, "node_modules/@corex/deepmerge": { "version": "4.0.43", - "resolved": "https://registry.npmjs.org/@corex/deepmerge/-/deepmerge-4.0.43.tgz", - "integrity": "sha512-N8uEMrMPL0cu/bdboEWpQYb/0i2K5Qn8eCsxzOmxSggJbbQte7ljMRoXm917AbntqTGOzdTu+vP3KOOzoC70HQ==" + "license": "MIT" }, "node_modules/@cspotcode/source-map-support": { "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "devOptional": true, + "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "0.3.9" }, @@ -2401,9 +2238,8 @@ }, "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", "devOptional": true, + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.0.3", "@jridgewell/sourcemap-codec": "^1.4.10" @@ -2411,9 +2247,8 @@ }, "node_modules/@cypress/code-coverage": { "version": "3.11.0", - "resolved": "https://registry.npmjs.org/@cypress/code-coverage/-/code-coverage-3.11.0.tgz", - "integrity": "sha512-ihSO1s03gmLRE224oIjrbdG1ey63vw/UY+VSqQ5m/TKkAvyz6GIiniq6juk3AV/+0vQC1Eb4UWFu8ndtji4M1g==", "dev": true, + "license": "MIT", "dependencies": { "@cypress/webpack-preprocessor": "^5.11.0", "chalk": "4.1.2", @@ -2431,9 +2266,8 @@ }, "node_modules/@cypress/code-coverage/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -2446,9 +2280,8 @@ }, "node_modules/@cypress/code-coverage/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -2462,9 +2295,8 @@ }, "node_modules/@cypress/code-coverage/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -2474,24 +2306,21 @@ }, "node_modules/@cypress/code-coverage/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@cypress/code-coverage/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@cypress/code-coverage/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -2501,9 +2330,8 @@ }, "node_modules/@cypress/request": { "version": "2.88.12", - "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.12.tgz", - "integrity": "sha512-tOn+0mDZxASFM+cuAP9szGUGPI1HwWVSvdzm7V4cCsPdFTx6qMj29CwaQmRAMIEhORIUBFBsYROYJcveK4uOjA==", "dev": true, + "license": "Apache-2.0", "dependencies": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -2530,18 +2358,16 @@ }, "node_modules/@cypress/request/node_modules/uuid": { "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true, + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } }, "node_modules/@cypress/webpack-preprocessor": { "version": "5.17.1", - "resolved": "https://registry.npmjs.org/@cypress/webpack-preprocessor/-/webpack-preprocessor-5.17.1.tgz", - "integrity": "sha512-FE/e8ikPc8z4EVopJCaior3RGy0jd2q9Xcp5NtiwNG4XnLfEnUFTZlAGwXe75sEh4fNMPrBJW1KIz77PX5vGAw==", "dev": true, + "license": "MIT", "dependencies": { "bluebird": "3.7.1", "debug": "^4.3.4", @@ -2556,9 +2382,8 @@ }, "node_modules/@cypress/xvfb": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", - "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^3.1.0", "lodash.once": "^4.1.1" @@ -2566,69 +2391,63 @@ }, "node_modules/@cypress/xvfb/node_modules/debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, + "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/@defichain/jellyfish-address": { - "version": "4.0.0-rc.1.2", - "resolved": "https://registry.npmjs.org/@defichain/jellyfish-address/-/jellyfish-address-4.0.0-rc.1.2.tgz", - "integrity": "sha512-ErcMIsfMQUkdabg2UIqfsRv04pPu3UNKG/0vx4WrYtroDG8VVOv1EWyrBCIuV4O/wM2qFJOn9Pwp3UWDVYqLXA==", + "version": "4.0.0-beta.14.1", + "license": "MIT", "dependencies": { - "@defichain/jellyfish-crypto": "4.0.0-rc.1.2", - "@defichain/jellyfish-network": "4.0.0-rc.1.2", - "@defichain/jellyfish-transaction": "4.0.0-rc.1.2", + "@defichain/jellyfish-crypto": "4.0.0-beta.14.1", + "@defichain/jellyfish-network": "4.0.0-beta.14.1", + "@defichain/jellyfish-transaction": "4.0.0-beta.14.1", "bech32": "^2.0.0", "bs58": "^4.0.1" }, "peerDependencies": { - "defichain": "^4.0.0-rc.1.2" + "defichain": "^4.0.0-beta.14.1" } }, "node_modules/@defichain/jellyfish-api-core": { - "version": "4.0.0-rc.1.2", - "resolved": "https://registry.npmjs.org/@defichain/jellyfish-api-core/-/jellyfish-api-core-4.0.0-rc.1.2.tgz", - "integrity": "sha512-GM7iPiWkt8bspPS+RZGokzGwyUJp6Lqq8VmNKPow6OzHqtpVheLmhQwg2oWWQTc0yFOTHbiEXn9NK/k/gQl1Jw==", + "version": "4.0.0-beta.14.1", + "license": "MIT", "dependencies": { - "@defichain/jellyfish-json": "4.0.0-rc.1.2" + "@defichain/jellyfish-json": "4.0.0-beta.14.1" }, "peerDependencies": { - "defichain": "^4.0.0-rc.1.2" + "defichain": "^4.0.0-beta.14.1" } }, "node_modules/@defichain/jellyfish-api-jsonrpc": { - "version": "4.0.0-rc.1.2", - "resolved": "https://registry.npmjs.org/@defichain/jellyfish-api-jsonrpc/-/jellyfish-api-jsonrpc-4.0.0-rc.1.2.tgz", - "integrity": "sha512-dZI2tapqoYJGg2VE90cOMkjHZmIAak/uyIZo58eIKX57Nu3Qqu7s/LOQYnFOhRnttdanEujExee2GedzvyKZ2g==", + "version": "4.0.0-beta.14.1", + "license": "MIT", "dependencies": { - "@defichain/jellyfish-api-core": "4.0.0-rc.1.2", + "@defichain/jellyfish-api-core": "4.0.0-beta.14.1", "abort-controller": "^3.0.0", "cross-fetch": "^3.1.5" }, "peerDependencies": { - "defichain": "^4.0.0-rc.1.2" + "defichain": "^4.0.0-beta.14.1" } }, "node_modules/@defichain/jellyfish-buffer": { - "version": "4.0.0-rc.1.2", - "resolved": "https://registry.npmjs.org/@defichain/jellyfish-buffer/-/jellyfish-buffer-4.0.0-rc.1.2.tgz", - "integrity": "sha512-Z62pzcG3+/a1pQTYJ4HQlmpnLFJKQNOjZZ8YhbaKn210HxxktYZga1kfu4qsSQp4fOTyxhsl4UaUTRc1XcNtUA==", + "version": "4.0.0-beta.14.1", + "license": "MIT", "dependencies": { "bignumber.js": "^9.0.2", "bn.js": "^5.2.1", "smart-buffer": "^4.2.0" }, "peerDependencies": { - "defichain": "^4.0.0-rc.1.2" + "defichain": "^4.0.0-beta.14.1" } }, "node_modules/@defichain/jellyfish-crypto": { - "version": "4.0.0-rc.1.2", - "resolved": "https://registry.npmjs.org/@defichain/jellyfish-crypto/-/jellyfish-crypto-4.0.0-rc.1.2.tgz", - "integrity": "sha512-AoahaWw/3RXTXA3TXzwfLnFgIYxDQjL13CDooZJC67vruMN0iQGK/hDDFE0bHm09WOmr77jShqsVz2Tlp05AJQ==", + "version": "4.0.0-beta.14.1", + "license": "MIT", "dependencies": { "bech32": "^2.0.0", "bip66": "^1.1.5", @@ -2641,99 +2460,85 @@ "wif": "^2.0.6" }, "peerDependencies": { - "defichain": "^4.0.0-rc.1.2" + "defichain": "^4.0.0-beta.14.1" } }, "node_modules/@defichain/jellyfish-json": { - "version": "4.0.0-rc.1.2", - "resolved": "https://registry.npmjs.org/@defichain/jellyfish-json/-/jellyfish-json-4.0.0-rc.1.2.tgz", - "integrity": "sha512-tjpj7VSb5n2pwZbXGwuoTeYzrkw13Ejc1FLdMuCK+vw1vl/DsQJbAlqmgKEHCenlXnzzqYku2HpS5ncHrZUXnQ==", + "version": "4.0.0-beta.14.1", + "license": "MIT", "dependencies": { "@types/lossless-json": "^1.0.1", "bignumber.js": "^9.0.2", "lossless-json": "^1.0.5" }, "peerDependencies": { - "defichain": "^4.0.0-rc.1.2" + "defichain": "^4.0.0-beta.14.1" } }, "node_modules/@defichain/jellyfish-network": { - "version": "4.0.0-rc.1.2", - "resolved": "https://registry.npmjs.org/@defichain/jellyfish-network/-/jellyfish-network-4.0.0-rc.1.2.tgz", - "integrity": "sha512-DXVfv8wNR9AyKAD6c1kTT1bYEYMU//lyoKVupux4I2WG5LUuMyY6aExPgT41XZ0Bh+Je4KvNAS+U5yjR29zvkQ==", + "version": "4.0.0-beta.14.1", + "license": "MIT", "dependencies": { "bignumber.js": "^9.0.2" }, "peerDependencies": { - "defichain": "^4.0.0-rc.1.2" + "defichain": "^4.0.0-beta.14.1" } }, "node_modules/@defichain/jellyfish-testing": { - "version": "4.0.0-rc.1.2", - "resolved": "https://registry.npmjs.org/@defichain/jellyfish-testing/-/jellyfish-testing-4.0.0-rc.1.2.tgz", - "integrity": "sha512-iWGpjZcVBRxcENvLWh7/hG3os4jxtIKuD5Ip3BBy7edPdpIXPb55IkiTnnGHXSCM3kRU//3NH0wsi/J7bMMj9w==", - "dependencies": { - "@defichain/jellyfish-api-jsonrpc": "4.0.0-rc.1.2", - "@defichain/jellyfish-crypto": "4.0.0-rc.1.2", - "@defichain/jellyfish-network": "4.0.0-rc.1.2", - "@defichain/testcontainers": "4.0.0-rc.1.2", + "version": "4.0.0-beta.14.1", + "license": "MIT", + "dependencies": { + "@defichain/jellyfish-api-jsonrpc": "4.0.0-beta.14.1", + "@defichain/jellyfish-crypto": "4.0.0-beta.14.1", + "@defichain/jellyfish-network": "4.0.0-beta.14.1", + "@defichain/testcontainers": "4.0.0-beta.14.1", "cross-fetch": "^3.1.5" }, "peerDependencies": { - "defichain": "^4.0.0-rc.1.2" + "defichain": "^4.0.0-beta.14.1" } }, "node_modules/@defichain/jellyfish-transaction": { - "version": "4.0.0-rc.1.2", - "resolved": "https://registry.npmjs.org/@defichain/jellyfish-transaction/-/jellyfish-transaction-4.0.0-rc.1.2.tgz", - "integrity": "sha512-NA4wr1skMcfP3R0xcvM12RRrbPBtJpKaaI9sPM5kxYF6ZTBg1CEHbaVhgU+MXMaO+kdAuagFNIvjuP4GMgd0mQ==", + "version": "4.0.0-beta.14.1", + "license": "MIT", "dependencies": { - "@defichain/jellyfish-buffer": "4.0.0-rc.1.2", - "@defichain/jellyfish-crypto": "4.0.0-rc.1.2" + "@defichain/jellyfish-buffer": "4.0.0-beta.14.1", + "@defichain/jellyfish-crypto": "4.0.0-beta.14.1" }, "peerDependencies": { - "defichain": "^4.0.0-rc.1.2" + "defichain": "^4.0.0-beta.14.1" } }, "node_modules/@defichain/jellyfish-transaction-builder": { - "version": "4.0.0-rc.1.2", - "resolved": "https://registry.npmjs.org/@defichain/jellyfish-transaction-builder/-/jellyfish-transaction-builder-4.0.0-rc.1.2.tgz", - "integrity": "sha512-7mIMsInAHQi7BWnjNJj6k8jHE0q+KzPNE+F5JQihS48pUnFd6kWiU8VMkzn/9dzW1xxPTlz1wTMmUyIFcZFilA==", + "version": "4.0.0-beta.14.1", + "license": "MIT", "dependencies": { - "@defichain/jellyfish-crypto": "4.0.0-rc.1.2", - "@defichain/jellyfish-transaction": "4.0.0-rc.1.2", - "@defichain/jellyfish-transaction-signature": "4.0.0-rc.1.2", + "@defichain/jellyfish-crypto": "4.0.0-beta.14.1", + "@defichain/jellyfish-transaction": "4.0.0-beta.14.1", + "@defichain/jellyfish-transaction-signature": "4.0.0-beta.14.1", "ethers": "^6.7.1" }, "peerDependencies": { - "defichain": "^4.0.0-rc.1.2" + "defichain": "^4.0.0-beta.14.1" } }, - "node_modules/@defichain/jellyfish-transaction-builder/node_modules/@noble/hashes": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.1.2.tgz", - "integrity": "sha512-KYRCASVTv6aeUi1tsF8/vpyR7zpfs3FUzy2Jqm+MU+LmUKhQ0y2FpfwqkCcxSg2ua4GALJd8k2R76WxwZGbQpA==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ] + "node_modules/@defichain/jellyfish-transaction-builder/node_modules/@noble/curves": { + "version": "1.2.0", + "license": "MIT", + "dependencies": { + "@noble/hashes": "1.3.2" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } }, "node_modules/@defichain/jellyfish-transaction-builder/node_modules/@types/node": { "version": "18.15.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.13.tgz", - "integrity": "sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==" - }, - "node_modules/@defichain/jellyfish-transaction-builder/node_modules/aes-js": { - "version": "4.0.0-beta.5", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.5.tgz", - "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==" + "license": "MIT" }, "node_modules/@defichain/jellyfish-transaction-builder/node_modules/ethers": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.7.1.tgz", - "integrity": "sha512-qX5kxIFMfg1i+epfgb0xF4WM7IqapIIu50pOJ17aebkxxa4BacW5jFrQRmCJpDEg2ZK2oNtR5QjrQ1WDBF29dA==", + "version": "6.8.0", "funding": [ { "type": "individual", @@ -2744,10 +2549,11 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { - "@adraffy/ens-normalize": "1.9.2", - "@noble/hashes": "1.1.2", - "@noble/secp256k1": "1.7.1", + "@adraffy/ens-normalize": "1.10.0", + "@noble/curves": "1.2.0", + "@noble/hashes": "1.3.2", "@types/node": "18.15.13", "aes-js": "4.0.0-beta.5", "tslib": "2.4.0", @@ -2759,8 +2565,7 @@ }, "node_modules/@defichain/jellyfish-transaction-builder/node_modules/ws": { "version": "8.5.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", - "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", + "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -2778,92 +2583,85 @@ } }, "node_modules/@defichain/jellyfish-transaction-signature": { - "version": "4.0.0-rc.1.2", - "resolved": "https://registry.npmjs.org/@defichain/jellyfish-transaction-signature/-/jellyfish-transaction-signature-4.0.0-rc.1.2.tgz", - "integrity": "sha512-Cqyz99UClM/nAlz0NkoKU1Fl12OBPYIABHW1Lb4p+TPm03lvtYvOd8VeHhejNY3gKLb7hfonexg8cWnnsXRYIw==", + "version": "4.0.0-beta.14.1", + "license": "MIT", "dependencies": { - "@defichain/jellyfish-buffer": "4.0.0-rc.1.2", - "@defichain/jellyfish-crypto": "4.0.0-rc.1.2", - "@defichain/jellyfish-transaction": "4.0.0-rc.1.2" + "@defichain/jellyfish-buffer": "4.0.0-beta.14.1", + "@defichain/jellyfish-crypto": "4.0.0-beta.14.1", + "@defichain/jellyfish-transaction": "4.0.0-beta.14.1" }, "peerDependencies": { - "defichain": "^4.0.0-rc.1.2" + "defichain": "^4.0.0-beta.14.1" } }, "node_modules/@defichain/jellyfish-wallet": { - "version": "4.0.0-rc.1.2", - "resolved": "https://registry.npmjs.org/@defichain/jellyfish-wallet/-/jellyfish-wallet-4.0.0-rc.1.2.tgz", - "integrity": "sha512-FsKGt42spRTp/83mtnVp4RCY1tfLvvED7wZzssX3X0cypfBMKOySgoI2TDEqtn3iR/nVRAFnWaoOpSqhNrjObA==", + "version": "4.0.0-beta.14.1", + "license": "MIT", "dependencies": { - "@defichain/jellyfish-address": "4.0.0-rc.1.2", - "@defichain/jellyfish-crypto": "4.0.0-rc.1.2", - "@defichain/jellyfish-network": "4.0.0-rc.1.2", - "@defichain/jellyfish-transaction": "4.0.0-rc.1.2", - "@defichain/jellyfish-transaction-builder": "4.0.0-rc.1.2", - "@defichain/jellyfish-transaction-signature": "4.0.0-rc.1.2" + "@defichain/jellyfish-address": "4.0.0-beta.14.1", + "@defichain/jellyfish-crypto": "4.0.0-beta.14.1", + "@defichain/jellyfish-network": "4.0.0-beta.14.1", + "@defichain/jellyfish-transaction": "4.0.0-beta.14.1", + "@defichain/jellyfish-transaction-builder": "4.0.0-beta.14.1", + "@defichain/jellyfish-transaction-signature": "4.0.0-beta.14.1" }, "peerDependencies": { - "defichain": "^4.0.0-rc.1.2" + "defichain": "^4.0.0-beta.14.1" } }, "node_modules/@defichain/jellyfish-wallet-encrypted": { - "version": "4.0.0-rc.1.2", - "resolved": "https://registry.npmjs.org/@defichain/jellyfish-wallet-encrypted/-/jellyfish-wallet-encrypted-4.0.0-rc.1.2.tgz", - "integrity": "sha512-/QCGAV1lPPmWLcXvIIBxxf8v3lWrt7DRJm5NJLbQp++y8kr6wJLcEnOSM6EIXm3sMC0u80vQcWMgKlI4JJaXXw==", + "version": "4.0.0-beta.14.1", + "license": "MIT", "dependencies": { - "@defichain/jellyfish-wallet-mnemonic": "4.0.0-rc.1.2", + "@defichain/jellyfish-wallet-mnemonic": "4.0.0-beta.14.1", "scrypt-js": "^3.0.1" }, "peerDependencies": { - "defichain": "^4.0.0-rc.1.2" + "defichain": "^4.0.0-beta.14.1" } }, "node_modules/@defichain/jellyfish-wallet-mnemonic": { - "version": "4.0.0-rc.1.2", - "resolved": "https://registry.npmjs.org/@defichain/jellyfish-wallet-mnemonic/-/jellyfish-wallet-mnemonic-4.0.0-rc.1.2.tgz", - "integrity": "sha512-D5QY8AKLw9yLN4BdlX+36yk8hAc8lrSIiJPyujJ1qLlbe80wac4PNuRqa3m7tl+8DHOHAeE1IMy5d2yiTYkz3g==", + "version": "4.0.0-beta.14.1", + "license": "MIT", "dependencies": { - "@defichain/jellyfish-transaction": "4.0.0-rc.1.2", - "@defichain/jellyfish-wallet": "4.0.0-rc.1.2", + "@defichain/jellyfish-transaction": "4.0.0-beta.14.1", + "@defichain/jellyfish-wallet": "4.0.0-beta.14.1", "bip32": "^2.0.6", "bip39": "^3.0.4", "create-hmac": "^1.1.7" }, "peerDependencies": { - "defichain": "^4.0.0-rc.1.2" + "defichain": "^4.0.0-beta.14.1" } }, "node_modules/@defichain/ocean-api-client": { - "version": "4.0.0-rc.1.2", - "resolved": "https://registry.npmjs.org/@defichain/ocean-api-client/-/ocean-api-client-4.0.0-rc.1.2.tgz", - "integrity": "sha512-kiZpzHiXTbbx5sW5abuJaNyEMpkkLq3bm6ORhvXLXM2kTFAe5NlE1GvFLVHPXMIA1tPl+tqqx4VVpxp2FKwMJw==", + "version": "4.0.0-beta.14.1", + "license": "MIT", "dependencies": { "abort-controller": "^3.0.0", "cross-fetch": "^3.1.5", "url-search-params-polyfill": "8.1.1" }, "peerDependencies": { - "defichain": "^4.0.0-rc.1.2" + "defichain": "^4.0.0-beta.14.1" } }, "node_modules/@defichain/playground-api-client": { - "version": "4.0.0-rc.1.2", - "resolved": "https://registry.npmjs.org/@defichain/playground-api-client/-/playground-api-client-4.0.0-rc.1.2.tgz", - "integrity": "sha512-1ph/mRVa5oIT5EAxcXPsOejV/LoXKlB1u6o4X53RvF82FvzDwVhu4/swns2Cq+HCndql3L/UkonUdC8wt2M2xQ==", + "version": "4.0.0-beta.14.1", + "license": "MIT", "dependencies": { - "@defichain/jellyfish-api-core": "4.0.0-rc.1.2", - "@defichain/ocean-api-client": "4.0.0-rc.1.2" + "@defichain/jellyfish-api-core": "4.0.0-beta.14.1", + "@defichain/ocean-api-client": "4.0.0-beta.14.1" }, "peerDependencies": { - "defichain": "^4.0.0-rc.1.2" + "defichain": "^4.0.0-beta.14.1" } }, "node_modules/@defichain/testcontainers": { - "version": "4.0.0-rc.1.2", - "resolved": "https://registry.npmjs.org/@defichain/testcontainers/-/testcontainers-4.0.0-rc.1.2.tgz", - "integrity": "sha512-ywyb0BrY7kCvg2xdt2HyTDrLuYubd8jPq4VPsCsHcu5UXuszXolfn/dN2WShM0lxZ6uouBr48E8uTHUUoj9o7Q==", + "version": "4.0.0-beta.14.1", + "license": "MIT", "dependencies": { - "@defichain/jellyfish-network": "4.0.0-rc.1.2", + "@defichain/jellyfish-network": "4.0.0-beta.14.1", "cross-fetch": "^3.1.5", "dockerode": "^3.3.5", "tar-fs": "^2.1.1", @@ -2872,41 +2670,38 @@ }, "peerDependencies": { "@types/tar-fs": "^2.0.1", - "defichain": "^4.0.0-rc.1.2" + "defichain": "^4.0.0-beta.14.1" } }, "node_modules/@defichain/whale-api-client": { - "version": "4.0.0-rc.1.2", - "resolved": "https://registry.npmjs.org/@defichain/whale-api-client/-/whale-api-client-4.0.0-rc.1.2.tgz", - "integrity": "sha512-ecdELKLdt+BAJt44P55YEJkymNdHMxQIyhmLM768FI8bKVVLgdWNZAywcLVwPQWs1smSAA42wk+5RKT0cv9k0Q==", + "version": "4.0.0-beta.14.1", + "license": "MIT", "dependencies": { - "@defichain/jellyfish-api-core": "4.0.0-rc.1.2", - "@defichain/jellyfish-api-jsonrpc": "4.0.0-rc.1.2", + "@defichain/jellyfish-api-core": "4.0.0-beta.14.1", + "@defichain/jellyfish-api-jsonrpc": "4.0.0-beta.14.1", "abort-controller": "^3.0.0", "cross-fetch": "^3.1.5", "url-search-params-polyfill": "8.1.1" }, "peerDependencies": { - "defichain": "^4.0.0-rc.1.2" + "defichain": "^4.0.0-beta.14.1" } }, "node_modules/@defichain/whale-api-wallet": { - "version": "4.0.0-rc.1.2", - "resolved": "https://registry.npmjs.org/@defichain/whale-api-wallet/-/whale-api-wallet-4.0.0-rc.1.2.tgz", - "integrity": "sha512-h2M2etOrZ2OdL2eCP68wieBA/rHEjKokX0Y1Ke4Z5gv5Y7o8KR/TO04y/clLx3uedlHM2DhnD1fQZsCXJBx7MQ==", + "version": "4.0.0-beta.14.1", + "license": "MIT", "dependencies": { - "@defichain/jellyfish-transaction-builder": "4.0.0-rc.1.2", - "@defichain/jellyfish-wallet": "4.0.0-rc.1.2", - "@defichain/whale-api-client": "4.0.0-rc.1.2" + "@defichain/jellyfish-transaction-builder": "4.0.0-beta.14.1", + "@defichain/jellyfish-wallet": "4.0.0-beta.14.1", + "@defichain/whale-api-client": "4.0.0-beta.14.1" }, "peerDependencies": { - "defichain": "^4.0.0-rc.1.2" + "defichain": "^4.0.0-beta.14.1" } }, "node_modules/@egjs/hammerjs": { "version": "2.0.17", - "resolved": "https://registry.npmjs.org/@egjs/hammerjs/-/hammerjs-2.0.17.tgz", - "integrity": "sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A==", + "license": "MIT", "dependencies": { "@types/hammerjs": "^2.0.36" }, @@ -2916,8 +2711,7 @@ }, "node_modules/@electron/get": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.2.tgz", - "integrity": "sha512-eFZVFoRXb3GFGd7Ak7W4+6jBl9wBtiZ4AaYOse97ej6mKj5tkyO0dUnUChs1IhJZtx1BENo4/p4WUTXpi6vT+g==", + "license": "MIT", "dependencies": { "debug": "^4.1.1", "env-paths": "^2.2.0", @@ -2936,8 +2730,7 @@ }, "node_modules/@electron/get/node_modules/fs-extra": { "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", @@ -2949,32 +2742,28 @@ }, "node_modules/@electron/get/node_modules/jsonfile": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "license": "MIT", "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "node_modules/@electron/get/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@electron/get/node_modules/universalify": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "license": "MIT", "engines": { "node": ">= 4.0.0" } }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "license": "MIT", "dependencies": { "eslint-visitor-keys": "^3.3.0" }, @@ -2987,16 +2776,14 @@ }, "node_modules/@eslint-community/regexpp": { "version": "4.7.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.7.0.tgz", - "integrity": "sha512-+HencqxU7CFJnQb7IKtuNBqS6Yx3Tz4kOL8BJXo+JyeiBm5MEX6pO8onXDkjrkCRlfYXS1Axro15ZjVFe9YgsA==", + "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/eslintrc": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -3017,8 +2804,7 @@ }, "node_modules/@eslint/eslintrc/node_modules/globals": { "version": "13.21.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", - "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", + "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -3031,8 +2817,7 @@ }, "node_modules/@eslint/eslintrc/node_modules/type-fest": { "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -3041,17 +2826,14 @@ } }, "node_modules/@eslint/js": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.50.0.tgz", - "integrity": "sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==", + "version": "8.51.0", + "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@ethersproject/abi": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", - "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", "funding": [ { "type": "individual", @@ -3062,6 +2844,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/address": "^5.7.0", "@ethersproject/bignumber": "^5.7.0", @@ -3076,8 +2859,6 @@ }, "node_modules/@ethersproject/abstract-provider": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", - "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", "funding": [ { "type": "individual", @@ -3088,6 +2869,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.7.0", "@ethersproject/bytes": "^5.7.0", @@ -3100,8 +2882,6 @@ }, "node_modules/@ethersproject/abstract-signer": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", - "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", "funding": [ { "type": "individual", @@ -3112,6 +2892,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-provider": "^5.7.0", "@ethersproject/bignumber": "^5.7.0", @@ -3122,8 +2903,6 @@ }, "node_modules/@ethersproject/address": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", - "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", "funding": [ { "type": "individual", @@ -3134,6 +2913,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.7.0", "@ethersproject/bytes": "^5.7.0", @@ -3144,8 +2924,6 @@ }, "node_modules/@ethersproject/base64": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", - "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", "funding": [ { "type": "individual", @@ -3156,14 +2934,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.7.0" } }, "node_modules/@ethersproject/basex": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", - "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", "funding": [ { "type": "individual", @@ -3174,6 +2951,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/properties": "^5.7.0" @@ -3181,8 +2959,6 @@ }, "node_modules/@ethersproject/bignumber": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", - "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", "funding": [ { "type": "individual", @@ -3193,6 +2969,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/logger": "^5.7.0", @@ -3201,8 +2978,6 @@ }, "node_modules/@ethersproject/bytes": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", - "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", "funding": [ { "type": "individual", @@ -3213,14 +2988,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/logger": "^5.7.0" } }, "node_modules/@ethersproject/constants": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", - "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", "funding": [ { "type": "individual", @@ -3231,14 +3005,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.7.0" } }, "node_modules/@ethersproject/contracts": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", - "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", "funding": [ { "type": "individual", @@ -3249,6 +3022,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abi": "^5.7.0", "@ethersproject/abstract-provider": "^5.7.0", @@ -3264,8 +3038,6 @@ }, "node_modules/@ethersproject/hash": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", - "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", "funding": [ { "type": "individual", @@ -3276,6 +3048,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-signer": "^5.7.0", "@ethersproject/address": "^5.7.0", @@ -3290,8 +3063,6 @@ }, "node_modules/@ethersproject/hdnode": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", - "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", "funding": [ { "type": "individual", @@ -3302,6 +3073,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-signer": "^5.7.0", "@ethersproject/basex": "^5.7.0", @@ -3319,8 +3091,6 @@ }, "node_modules/@ethersproject/json-wallets": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", - "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", "funding": [ { "type": "individual", @@ -3331,6 +3101,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-signer": "^5.7.0", "@ethersproject/address": "^5.7.0", @@ -3347,10 +3118,12 @@ "scrypt-js": "3.0.1" } }, + "node_modules/@ethersproject/json-wallets/node_modules/aes-js": { + "version": "3.0.0", + "license": "MIT" + }, "node_modules/@ethersproject/keccak256": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", - "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", "funding": [ { "type": "individual", @@ -3361,6 +3134,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.7.0", "js-sha3": "0.8.0" @@ -3368,8 +3142,6 @@ }, "node_modules/@ethersproject/logger": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", - "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==", "funding": [ { "type": "individual", @@ -3379,12 +3151,11 @@ "type": "individual", "url": "https://www.buymeacoffee.com/ricmoo" } - ] + ], + "license": "MIT" }, "node_modules/@ethersproject/networks": { "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", - "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", "funding": [ { "type": "individual", @@ -3395,14 +3166,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/logger": "^5.7.0" } }, "node_modules/@ethersproject/pbkdf2": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", - "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", "funding": [ { "type": "individual", @@ -3413,6 +3183,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/sha2": "^5.7.0" @@ -3420,8 +3191,6 @@ }, "node_modules/@ethersproject/properties": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", - "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", "funding": [ { "type": "individual", @@ -3432,14 +3201,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/logger": "^5.7.0" } }, "node_modules/@ethersproject/providers": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", - "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", "funding": [ { "type": "individual", @@ -3450,6 +3218,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-provider": "^5.7.0", "@ethersproject/abstract-signer": "^5.7.0", @@ -3475,13 +3244,10 @@ }, "node_modules/@ethersproject/providers/node_modules/bech32": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", - "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" + "license": "MIT" }, "node_modules/@ethersproject/random": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", - "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", "funding": [ { "type": "individual", @@ -3492,6 +3258,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/logger": "^5.7.0" @@ -3499,8 +3266,6 @@ }, "node_modules/@ethersproject/rlp": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", - "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", "funding": [ { "type": "individual", @@ -3511,6 +3276,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/logger": "^5.7.0" @@ -3518,8 +3284,6 @@ }, "node_modules/@ethersproject/sha2": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", - "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", "funding": [ { "type": "individual", @@ -3530,6 +3294,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/logger": "^5.7.0", @@ -3538,8 +3303,6 @@ }, "node_modules/@ethersproject/shims": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/shims/-/shims-5.7.0.tgz", - "integrity": "sha512-WeDptc6oAprov5CCN2LJ/6/+dC9gTonnkdAtLepm/7P5Z+3PRxS5NpfVWmOMs1yE4Vitl2cU8bOPWC0GvGSbVg==", "funding": [ { "type": "individual", @@ -3549,12 +3312,11 @@ "type": "individual", "url": "https://www.buymeacoffee.com/ricmoo" } - ] + ], + "license": "MIT" }, "node_modules/@ethersproject/signing-key": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", - "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", "funding": [ { "type": "individual", @@ -3565,6 +3327,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/logger": "^5.7.0", @@ -3576,8 +3339,6 @@ }, "node_modules/@ethersproject/solidity": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", - "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", "funding": [ { "type": "individual", @@ -3588,6 +3349,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.7.0", "@ethersproject/bytes": "^5.7.0", @@ -3599,8 +3361,6 @@ }, "node_modules/@ethersproject/strings": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", - "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", "funding": [ { "type": "individual", @@ -3611,6 +3371,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/constants": "^5.7.0", @@ -3619,8 +3380,6 @@ }, "node_modules/@ethersproject/transactions": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", - "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", "funding": [ { "type": "individual", @@ -3631,6 +3390,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/address": "^5.7.0", "@ethersproject/bignumber": "^5.7.0", @@ -3645,8 +3405,6 @@ }, "node_modules/@ethersproject/units": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", - "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", "funding": [ { "type": "individual", @@ -3657,6 +3415,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.7.0", "@ethersproject/constants": "^5.7.0", @@ -3665,8 +3424,6 @@ }, "node_modules/@ethersproject/wallet": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", - "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", "funding": [ { "type": "individual", @@ -3677,6 +3434,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-provider": "^5.7.0", "@ethersproject/abstract-signer": "^5.7.0", @@ -3697,8 +3455,6 @@ }, "node_modules/@ethersproject/web": { "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", - "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", "funding": [ { "type": "individual", @@ -3709,6 +3465,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/base64": "^5.7.0", "@ethersproject/bytes": "^5.7.0", @@ -3719,8 +3476,6 @@ }, "node_modules/@ethersproject/wordlists": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", - "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", "funding": [ { "type": "individual", @@ -3731,6 +3486,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/hash": "^5.7.0", @@ -3741,21 +3497,18 @@ }, "node_modules/@expo-google-fonts/ibm-plex-sans": { "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@expo-google-fonts/ibm-plex-sans/-/ibm-plex-sans-0.2.3.tgz", - "integrity": "sha512-FO0p5qnzr4C3FfjNWKNiJzMuyz8wOsjjeZjk9UWCncuNuKjUR37FtZt+5CI/OGEVZBgn7flL0YUqALNAP+nIWg==" + "license": "MIT" }, "node_modules/@expo-google-fonts/sora": { "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@expo-google-fonts/sora/-/sora-0.2.3.tgz", - "integrity": "sha512-ly41fWFI6eDWokUJPkqdKKW1McX9O/1NiaP41O8tT1CbMEStGCOQs6FUiMG4qdDG5sxVKA8vElaekelCwBKhAQ==" + "license": "MIT" }, "node_modules/@expo/bunyan": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@expo/bunyan/-/bunyan-4.0.0.tgz", - "integrity": "sha512-Ydf4LidRB/EBI+YrB+cVLqIseiRfjUI/AeHBgjGMtq3GroraDu81OV7zqophRgupngoL3iS3JUMDMnxO7g39qA==", "engines": [ "node >=0.10.0" ], + "license": "MIT", "dependencies": { "uuid": "^8.0.0" }, @@ -3766,16 +3519,14 @@ }, "node_modules/@expo/bunyan/node_modules/uuid": { "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } }, "node_modules/@expo/cli": { "version": "0.10.11", - "resolved": "https://registry.npmjs.org/@expo/cli/-/cli-0.10.11.tgz", - "integrity": "sha512-ehaAOw4SwkJ9uL5z9c3RD4LJpmMDCXZBCWZG4fonUGutks4t/GLoNRcdENkWsf6NSgkdPNgNl8KwphU1p083PQ==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.20.0", "@expo/code-signing-certificates": "0.0.5", @@ -3847,8 +3598,7 @@ }, "node_modules/@expo/cli/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -3861,21 +3611,18 @@ }, "node_modules/@expo/cli/node_modules/arg": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.0.tgz", - "integrity": "sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==" + "license": "MIT" }, "node_modules/@expo/cli/node_modules/argparse": { "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } }, "node_modules/@expo/cli/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -3889,8 +3636,7 @@ }, "node_modules/@expo/cli/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -3900,13 +3646,11 @@ }, "node_modules/@expo/cli/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/@expo/cli/node_modules/form-data": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -3918,8 +3662,7 @@ }, "node_modules/@expo/cli/node_modules/fs-extra": { "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", @@ -3931,16 +3674,14 @@ }, "node_modules/@expo/cli/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@expo/cli/node_modules/js-yaml": { "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -3951,21 +3692,18 @@ }, "node_modules/@expo/cli/node_modules/jsonfile": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "license": "MIT", "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "node_modules/@expo/cli/node_modules/sprintf-js": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + "license": "BSD-3-Clause" }, "node_modules/@expo/cli/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -3975,16 +3713,14 @@ }, "node_modules/@expo/cli/node_modules/universalify": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "license": "MIT", "engines": { "node": ">= 4.0.0" } }, "node_modules/@expo/cli/node_modules/ws": { "version": "8.13.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", - "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", + "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -4003,8 +3739,7 @@ }, "node_modules/@expo/code-signing-certificates": { "version": "0.0.5", - "resolved": "https://registry.npmjs.org/@expo/code-signing-certificates/-/code-signing-certificates-0.0.5.tgz", - "integrity": "sha512-BNhXkY1bblxKZpltzAx98G2Egj9g1Q+JRcvR7E99DOj862FTCX+ZPsAUtPTr7aHxwtrL7+fL3r0JSmM9kBm+Bw==", + "license": "MIT", "dependencies": { "node-forge": "^1.2.1", "nullthrows": "^1.1.1" @@ -4012,8 +3747,7 @@ }, "node_modules/@expo/config": { "version": "8.1.2", - "resolved": "https://registry.npmjs.org/@expo/config/-/config-8.1.2.tgz", - "integrity": "sha512-4e7hzPj50mQIlsrzOH6XZ36O094mPfPTIDIH4yv49bWNMc7GFLTofB/lcT+QyxiLaJuC0Wlk9yOLB8DIqmtwug==", + "license": "MIT", "dependencies": { "@babel/code-frame": "~7.10.4", "@expo/config-plugins": "~7.2.0", @@ -4030,8 +3764,7 @@ }, "node_modules/@expo/config-plugins": { "version": "7.2.5", - "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-7.2.5.tgz", - "integrity": "sha512-w+5ccu1IxBHgyQk9CPFKLZOk8yZQEyTjbJwOzESK1eR7QwosbcsLkN1c1WWUZYiCXwORu3UTwJYll4+X2xxJhQ==", + "license": "MIT", "dependencies": { "@expo/config-types": "^49.0.0-alpha.1", "@expo/json-file": "~8.2.37", @@ -4052,8 +3785,7 @@ }, "node_modules/@expo/config-plugins/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -4066,8 +3798,7 @@ }, "node_modules/@expo/config-plugins/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -4081,8 +3812,7 @@ }, "node_modules/@expo/config-plugins/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -4092,21 +3822,18 @@ }, "node_modules/@expo/config-plugins/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/@expo/config-plugins/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@expo/config-plugins/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -4116,21 +3843,18 @@ }, "node_modules/@expo/config-types": { "version": "49.0.0", - "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-49.0.0.tgz", - "integrity": "sha512-8eyREVi+K2acnMBe/rTIu1dOfyR2+AMnTLHlut+YpMV9OZPdeKV0Bs9BxAewGqBA2slslbQ9N39IS2CuTKpXkA==" + "license": "MIT" }, "node_modules/@expo/config/node_modules/@babel/code-frame": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "license": "MIT", "dependencies": { "@babel/highlight": "^7.10.4" } }, "node_modules/@expo/config/node_modules/lru-cache": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -4140,8 +3864,7 @@ }, "node_modules/@expo/config/node_modules/semver": { "version": "7.5.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", - "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", + "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -4154,9 +3877,8 @@ }, "node_modules/@expo/configure-splash-screen": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@expo/configure-splash-screen/-/configure-splash-screen-0.4.0.tgz", - "integrity": "sha512-IDPnr2/DW1tYpDHqedFYNCDzRTf9HYinWFQ7fOelNZLuOCMoErLbSStA5zfkv46o69AgcCpteqgKHSoxsIBz5g==", "dev": true, + "license": "MIT", "dependencies": { "color-string": "^1.5.3", "commander": "^5.1.0", @@ -4177,9 +3899,8 @@ }, "node_modules/@expo/configure-splash-screen/node_modules/fs-extra": { "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, + "license": "MIT", "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", @@ -4192,17 +3913,15 @@ }, "node_modules/@expo/configure-splash-screen/node_modules/pngjs": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", - "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==", "dev": true, + "license": "MIT", "engines": { "node": ">=10.13.0" } }, "node_modules/@expo/dev-server": { "version": "0.5.5", - "resolved": "https://registry.npmjs.org/@expo/dev-server/-/dev-server-0.5.5.tgz", - "integrity": "sha512-t0fT8xH1exwYsH5hh7bAt85VF+gXxg24qrbny2rR/iKoPTWFCd2JNQV8pvfLg51hvrywQ3YCBuT3lU1w7aZxFA==", + "license": "MIT", "dependencies": { "@expo/bunyan": "4.0.0", "@expo/metro-config": "~0.10.0", @@ -4223,8 +3942,7 @@ }, "node_modules/@expo/dev-server/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -4237,8 +3955,7 @@ }, "node_modules/@expo/dev-server/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -4252,8 +3969,7 @@ }, "node_modules/@expo/dev-server/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -4263,13 +3979,11 @@ }, "node_modules/@expo/dev-server/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/@expo/dev-server/node_modules/fs-extra": { "version": "9.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", - "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", + "license": "MIT", "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", @@ -4282,16 +3996,14 @@ }, "node_modules/@expo/dev-server/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@expo/dev-server/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -4301,16 +4013,14 @@ }, "node_modules/@expo/dev-server/node_modules/universalify": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "license": "MIT", "engines": { "node": ">= 10.0.0" } }, "node_modules/@expo/devcert": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@expo/devcert/-/devcert-1.1.0.tgz", - "integrity": "sha512-ghUVhNJQOCTdQckSGTHctNp/0jzvVoMMkVh+6SHn+TZj8sU15U/npXIDt8NtQp0HedlPaCgkVdMu8Sacne0aEA==", + "license": "MIT", "dependencies": { "application-config-path": "^0.1.0", "command-exists": "^1.2.4", @@ -4329,16 +4039,14 @@ }, "node_modules/@expo/devcert/node_modules/debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/@expo/devcert/node_modules/mkdirp": { "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "license": "MIT", "dependencies": { "minimist": "^1.2.6" }, @@ -4348,8 +4056,7 @@ }, "node_modules/@expo/devcert/node_modules/tmp": { "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "license": "MIT", "dependencies": { "os-tmpdir": "~1.0.2" }, @@ -4359,8 +4066,7 @@ }, "node_modules/@expo/env": { "version": "0.0.5", - "resolved": "https://registry.npmjs.org/@expo/env/-/env-0.0.5.tgz", - "integrity": "sha512-UXuKAqyXfhMQC3gP0OyjXmFX08Z1fkVWiGBN7bYzfoX8LHatjeHrDtI6w5nDvd8XPxPvmqaZoEDw1lW3+dz3oQ==", + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "debug": "^4.3.4", @@ -4371,8 +4077,7 @@ }, "node_modules/@expo/env/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -4385,8 +4090,7 @@ }, "node_modules/@expo/env/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -4400,8 +4104,7 @@ }, "node_modules/@expo/env/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -4411,21 +4114,18 @@ }, "node_modules/@expo/env/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/@expo/env/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@expo/env/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -4435,8 +4135,7 @@ }, "node_modules/@expo/image-utils": { "version": "0.3.22", - "resolved": "https://registry.npmjs.org/@expo/image-utils/-/image-utils-0.3.22.tgz", - "integrity": "sha512-uzq+RERAtkWypOFOLssFnXXqEqKjNj9eXN7e97d/EXUAojNcLDoXc0sL+F5B1I4qtlsnhX01kcpoIBBZD8wZNQ==", + "license": "MIT", "dependencies": { "@expo/spawn-async": "1.5.0", "chalk": "^4.0.0", @@ -4453,8 +4152,7 @@ }, "node_modules/@expo/image-utils/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -4467,8 +4165,7 @@ }, "node_modules/@expo/image-utils/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -4482,8 +4179,7 @@ }, "node_modules/@expo/image-utils/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -4493,21 +4189,18 @@ }, "node_modules/@expo/image-utils/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/@expo/image-utils/node_modules/crypto-random-string": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", - "integrity": "sha512-GsVpkFPlycH7/fRR7Dhcmnoii54gV1nz7y4CWyeFS14N+JVBBhY+r8amRHE4BwSYal7BPTDp8isvAlCxyFt3Hg==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/@expo/image-utils/node_modules/fs-extra": { "version": "9.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", - "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", + "license": "MIT", "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", @@ -4520,16 +4213,14 @@ }, "node_modules/@expo/image-utils/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@expo/image-utils/node_modules/semver": { "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -4539,8 +4230,7 @@ }, "node_modules/@expo/image-utils/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -4550,16 +4240,14 @@ }, "node_modules/@expo/image-utils/node_modules/temp-dir": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", - "integrity": "sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/@expo/image-utils/node_modules/tempy": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.3.0.tgz", - "integrity": "sha512-WrH/pui8YCwmeiAoxV+lpRH9HpRtgBhSR2ViBPgpGb/wnYDzp21R4MN45fsCGvLROvY67o3byhJRYRONJyImVQ==", + "license": "MIT", "dependencies": { "temp-dir": "^1.0.0", "type-fest": "^0.3.1", @@ -4571,16 +4259,14 @@ }, "node_modules/@expo/image-utils/node_modules/type-fest": { "version": "0.3.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", - "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=6" } }, "node_modules/@expo/image-utils/node_modules/unique-string": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", - "integrity": "sha512-ODgiYu03y5g76A1I9Gt0/chLCzQjvzDy7DsZGsLOE/1MrF6wriEskSncj1+/C58Xk/kPZDppSctDybCwOSaGAg==", + "license": "MIT", "dependencies": { "crypto-random-string": "^1.0.0" }, @@ -4590,16 +4276,14 @@ }, "node_modules/@expo/image-utils/node_modules/universalify": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "license": "MIT", "engines": { "node": ">= 10.0.0" } }, "node_modules/@expo/json-file": { "version": "8.2.37", - "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.2.37.tgz", - "integrity": "sha512-YaH6rVg11JoTS2P6LsW7ybS2CULjf40AbnAHw2F1eDPuheprNjARZMnyHFPkKv7GuxCy+B9GPcbOKgc4cgA80Q==", + "license": "MIT", "dependencies": { "@babel/code-frame": "~7.10.4", "json5": "^2.2.2", @@ -4608,16 +4292,14 @@ }, "node_modules/@expo/json-file/node_modules/@babel/code-frame": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "license": "MIT", "dependencies": { "@babel/highlight": "^7.10.4" } }, "node_modules/@expo/metro-config": { "version": "0.10.7", - "resolved": "https://registry.npmjs.org/@expo/metro-config/-/metro-config-0.10.7.tgz", - "integrity": "sha512-uACymEiyX0447hI4unt+2cemLQkTZXKvTev936NhtsgVnql45EP0V0pzmo/0H0WlHaAGXgvOBZJl8wFqcJ3CbQ==", + "license": "MIT", "dependencies": { "@expo/config": "~8.1.0", "@expo/env": "0.0.5", @@ -4635,8 +4317,7 @@ }, "node_modules/@expo/metro-config/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -4649,8 +4330,7 @@ }, "node_modules/@expo/metro-config/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -4664,8 +4344,7 @@ }, "node_modules/@expo/metro-config/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -4675,21 +4354,18 @@ }, "node_modules/@expo/metro-config/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/@expo/metro-config/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@expo/metro-config/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -4699,8 +4375,7 @@ }, "node_modules/@expo/osascript": { "version": "2.0.33", - "resolved": "https://registry.npmjs.org/@expo/osascript/-/osascript-2.0.33.tgz", - "integrity": "sha512-FQinlwHrTlJbntp8a7NAlCKedVXe06Va/0DSLXRO8lZVtgbEMrYYSUZWQNcOlNtc58c2elNph6z9dMOYwSo3JQ==", + "license": "MIT", "dependencies": { "@expo/spawn-async": "^1.5.0", "exec-async": "^2.2.0" @@ -4711,8 +4386,7 @@ }, "node_modules/@expo/package-manager": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@expo/package-manager/-/package-manager-1.0.2.tgz", - "integrity": "sha512-dlUp6o8qs1mi3/+l3y7cY3oMoqQVVzvH18cUTi6+t4ob8XwTpaeP2SwOP+obwZN29dMg9YzZAv4eQz+mshAbQA==", + "license": "MIT", "dependencies": { "@expo/json-file": "^8.2.37", "@expo/spawn-async": "^1.5.0", @@ -4729,8 +4403,7 @@ }, "node_modules/@expo/package-manager/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -4743,16 +4416,14 @@ }, "node_modules/@expo/package-manager/node_modules/argparse": { "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } }, "node_modules/@expo/package-manager/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -4766,8 +4437,7 @@ }, "node_modules/@expo/package-manager/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -4777,21 +4447,18 @@ }, "node_modules/@expo/package-manager/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/@expo/package-manager/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@expo/package-manager/node_modules/js-yaml": { "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -4802,18 +4469,15 @@ }, "node_modules/@expo/package-manager/node_modules/sprintf-js": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + "license": "BSD-3-Clause" }, "node_modules/@expo/package-manager/node_modules/sudo-prompt": { "version": "9.1.1", - "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.1.1.tgz", - "integrity": "sha512-es33J1g2HjMpyAhz8lOR+ICmXXAqTuKbuXuUWLhOLew20oN9oUCgCJx615U/v7aioZg7IX5lIh9x34vwneu4pA==" + "license": "MIT" }, "node_modules/@expo/package-manager/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -4823,8 +4487,7 @@ }, "node_modules/@expo/plist": { "version": "0.0.20", - "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.0.20.tgz", - "integrity": "sha512-UXQ4LXCfTZ580LDHGJ5q62jSTwJFFJ1GqBu8duQMThiHKWbMJ+gajJh6rsB6EJ3aLUr9wcauxneL5LVRFxwBEA==", + "license": "MIT", "dependencies": { "@xmldom/xmldom": "~0.7.7", "base64-js": "^1.2.3", @@ -4833,8 +4496,7 @@ }, "node_modules/@expo/prebuild-config": { "version": "6.2.6", - "resolved": "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-6.2.6.tgz", - "integrity": "sha512-uFVvDAm9dPg9p1qpnr4CVnpo2hmkZIL5FQz+VlIdXXJpe7ySh/qTGHtKWY/lWUshQkAJ0nwbKGPztGWdABns/Q==", + "license": "MIT", "dependencies": { "@expo/config": "~8.1.0", "@expo/config-plugins": "~7.2.0", @@ -4853,8 +4515,7 @@ }, "node_modules/@expo/prebuild-config/node_modules/fs-extra": { "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "license": "MIT", "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", @@ -4867,8 +4528,7 @@ }, "node_modules/@expo/prebuild-config/node_modules/lru-cache": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -4878,8 +4538,7 @@ }, "node_modules/@expo/prebuild-config/node_modules/semver": { "version": "7.5.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", - "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", + "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -4892,8 +4551,7 @@ }, "node_modules/@expo/rudder-sdk-node": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@expo/rudder-sdk-node/-/rudder-sdk-node-1.1.1.tgz", - "integrity": "sha512-uy/hS/awclDJ1S88w9UGpc6Nm9XnNUjzOAAib1A3PVAnGQIwebg8DpFqOthFBTlZxeuV/BKbZ5jmTbtNZkp1WQ==", + "license": "MIT", "dependencies": { "@expo/bunyan": "^4.0.0", "@segment/loosely-validate-event": "^2.0.0", @@ -4909,21 +4567,18 @@ }, "node_modules/@expo/rudder-sdk-node/node_modules/uuid": { "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } }, "node_modules/@expo/sdk-runtime-versions": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@expo/sdk-runtime-versions/-/sdk-runtime-versions-1.0.0.tgz", - "integrity": "sha512-Doz2bfiPndXYFPMRwPyGa1k5QaKDVpY806UJj570epIiMzWaYyCtobasyfC++qfIXVb5Ocy7r3tP9d62hAQ7IQ==" + "license": "MIT" }, "node_modules/@expo/spawn-async": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@expo/spawn-async/-/spawn-async-1.5.0.tgz", - "integrity": "sha512-LB7jWkqrHo+5fJHNrLAFdimuSXQ2MQ4lA7SQW5bf/HbsXuV2VrT/jN/M8f/KoWt0uJMGN4k/j7Opx4AvOOxSew==", + "license": "MIT", "dependencies": { "cross-spawn": "^6.0.5" }, @@ -4933,8 +4588,7 @@ }, "node_modules/@expo/spawn-async/node_modules/cross-spawn": { "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "license": "MIT", "dependencies": { "nice-try": "^1.0.4", "path-key": "^2.0.1", @@ -4948,24 +4602,21 @@ }, "node_modules/@expo/spawn-async/node_modules/path-key": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/@expo/spawn-async/node_modules/semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/@expo/spawn-async/node_modules/shebang-command": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "license": "MIT", "dependencies": { "shebang-regex": "^1.0.0" }, @@ -4975,16 +4626,14 @@ }, "node_modules/@expo/spawn-async/node_modules/shebang-regex": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/@expo/spawn-async/node_modules/which": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -4994,13 +4643,11 @@ }, "node_modules/@expo/vector-icons": { "version": "13.0.0", - "resolved": "https://registry.npmjs.org/@expo/vector-icons/-/vector-icons-13.0.0.tgz", - "integrity": "sha512-TI+l71+5aSKnShYclFa14Kum+hQMZ86b95SH6tQUG3qZEmLTarvWpKwqtTwQKqvlJSJrpFiSFu3eCuZokY6zWA==" + "license": "MIT" }, "node_modules/@expo/xcpretty": { "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@expo/xcpretty/-/xcpretty-4.2.2.tgz", - "integrity": "sha512-Lke/geldJqUV0Dfxg5/QIOugOzdqZ/rQ9yHKSgGbjZtG1uiSqWyFwWvXmrdd3/sIdX33eykGvIcf+OrvvcXVUw==", + "license": "BSD-3-Clause", "dependencies": { "@babel/code-frame": "7.10.4", "chalk": "^4.1.0", @@ -5013,16 +4660,14 @@ }, "node_modules/@expo/xcpretty/node_modules/@babel/code-frame": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "license": "MIT", "dependencies": { "@babel/highlight": "^7.10.4" } }, "node_modules/@expo/xcpretty/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -5035,8 +4680,7 @@ }, "node_modules/@expo/xcpretty/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -5050,8 +4694,7 @@ }, "node_modules/@expo/xcpretty/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -5061,21 +4704,18 @@ }, "node_modules/@expo/xcpretty/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/@expo/xcpretty/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@expo/xcpretty/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -5085,21 +4725,18 @@ }, "node_modules/@fastify/accept-negotiator": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@fastify/accept-negotiator/-/accept-negotiator-1.1.0.tgz", - "integrity": "sha512-OIHZrb2ImZ7XG85HXOONLcJWGosv7sIvM2ifAPQVhg9Lv7qdmMBNVaai4QTdyuaqbKM5eO6sLSQOYI7wEQeCJQ==", + "license": "MIT", "engines": { "node": ">=14" } }, "node_modules/@gar/promisify": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", - "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==" + "license": "MIT" }, "node_modules/@gorhom/bottom-sheet": { "version": "4.4.7", - "resolved": "https://registry.npmjs.org/@gorhom/bottom-sheet/-/bottom-sheet-4.4.7.tgz", - "integrity": "sha512-ukTuTqDQi2heo68hAJsBpUQeEkdqP9REBcn47OpuvPKhdPuO1RBOOADjqXJNCnZZRcY+HqbnGPMSLFVc31zylQ==", + "license": "MIT", "dependencies": { "@gorhom/portal": "1.0.14", "invariant": "^2.2.4" @@ -5123,8 +4760,7 @@ }, "node_modules/@gorhom/portal": { "version": "1.0.14", - "resolved": "https://registry.npmjs.org/@gorhom/portal/-/portal-1.0.14.tgz", - "integrity": "sha512-MXyL4xvCjmgaORr/rtryDNFy3kU4qUbKlwtQqqsygd0xX3mhKjOLn6mQK8wfu0RkoE0pBE0nAasRoHua+/QZ7A==", + "license": "MIT", "dependencies": { "nanoid": "^3.3.1" }, @@ -5135,29 +4771,25 @@ }, "node_modules/@graphql-typed-document-node/core": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz", - "integrity": "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==", + "license": "MIT", "peerDependencies": { "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, "node_modules/@hapi/hoek": { "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==" + "license": "BSD-3-Clause" }, "node_modules/@hapi/topo": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "license": "BSD-3-Clause", "dependencies": { "@hapi/hoek": "^9.0.0" } }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.11", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", - "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", + "license": "Apache-2.0", "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", @@ -5169,8 +4801,7 @@ }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "license": "Apache-2.0", "engines": { "node": ">=12.22" }, @@ -5181,27 +4812,23 @@ }, "node_modules/@humanwhocodes/object-schema": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" + "license": "BSD-3-Clause" }, "node_modules/@hutson/parse-repository-url": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz", - "integrity": "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=6.9.0" } }, "node_modules/@ioredis/commands": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.2.0.tgz", - "integrity": "sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==" + "license": "MIT" }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "license": "ISC", "dependencies": { "camelcase": "^5.3.1", "find-up": "^4.1.0", @@ -5215,16 +4842,14 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } }, "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -5235,8 +4860,7 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -5247,8 +4871,7 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -5258,8 +4881,7 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -5272,8 +4894,7 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -5283,21 +4904,18 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/sprintf-js": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + "license": "BSD-3-Clause" }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@jest/console": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.6.4.tgz", - "integrity": "sha512-wNK6gC0Ha9QeEPSkeJedQuTQqxZYnDPuDcDhVuVatRvMkL4D0VTvFVZj+Yuh6caG2aOfzkUZ36KtCmLNtR02hw==", + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -5312,8 +4930,7 @@ }, "node_modules/@jest/console/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -5326,8 +4943,7 @@ }, "node_modules/@jest/console/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -5341,8 +4957,7 @@ }, "node_modules/@jest/console/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -5352,21 +4967,18 @@ }, "node_modules/@jest/console/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/@jest/console/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@jest/console/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -5376,8 +4988,7 @@ }, "node_modules/@jest/core": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.6.4.tgz", - "integrity": "sha512-U/vq5ccNTSVgYH7mHnodHmCffGWHJnz/E1BEWlLuK5pM4FZmGfBn/nrJGLjUsSmyx3otCeqc1T31F4y08AMDLg==", + "license": "MIT", "dependencies": { "@jest/console": "^29.6.4", "@jest/reporters": "^29.6.4", @@ -5422,8 +5033,7 @@ }, "node_modules/@jest/core/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -5436,8 +5046,7 @@ }, "node_modules/@jest/core/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -5451,8 +5060,7 @@ }, "node_modules/@jest/core/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -5462,21 +5070,18 @@ }, "node_modules/@jest/core/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/@jest/core/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@jest/core/node_modules/pretty-format": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -5488,8 +5093,7 @@ }, "node_modules/@jest/core/node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -5499,13 +5103,11 @@ }, "node_modules/@jest/core/node_modules/react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + "license": "MIT" }, "node_modules/@jest/core/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -5515,8 +5117,7 @@ }, "node_modules/@jest/create-cache-key-function": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.6.3.tgz", - "integrity": "sha512-kzSK9XAxtD1kRPJKxsmD0YKw2fyXveP+5ikeQkCYCHeacWW1EGYMTgjDIM/Di4Uhttx7lnHwrNpz2xn+0rTp8g==", + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3" }, @@ -5526,8 +5127,7 @@ }, "node_modules/@jest/environment": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.4.tgz", - "integrity": "sha512-sQ0SULEjA1XUTHmkBRl7A1dyITM9yb1yb3ZNKPX3KlTd6IG7mWUe3e2yfExtC2Zz1Q+mMckOLHmL/qLiuQJrBQ==", + "license": "MIT", "dependencies": { "@jest/fake-timers": "^29.6.4", "@jest/types": "^29.6.3", @@ -5540,8 +5140,7 @@ }, "node_modules/@jest/expect": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.6.4.tgz", - "integrity": "sha512-Warhsa7d23+3X5bLbrbYvaehcgX5TLYhI03JKoedTiI8uJU4IhqYBWF7OSSgUyz4IgLpUYPkK0AehA5/fRclAA==", + "license": "MIT", "dependencies": { "expect": "^29.6.4", "jest-snapshot": "^29.6.4" @@ -5552,8 +5151,7 @@ }, "node_modules/@jest/expect-utils": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.6.4.tgz", - "integrity": "sha512-FEhkJhqtvBwgSpiTrocquJCdXPsyvNKcl/n7A3u7X4pVoF4bswm11c9d4AV+kfq2Gpv/mM8x7E7DsRvH+djkrg==", + "license": "MIT", "dependencies": { "jest-get-type": "^29.6.3" }, @@ -5563,8 +5161,7 @@ }, "node_modules/@jest/fake-timers": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.4.tgz", - "integrity": "sha512-6UkCwzoBK60edXIIWb0/KWkuj7R7Qq91vVInOe3De6DSpaEiqjKcJw4F7XUet24Wupahj9J6PlR09JqJ5ySDHw==", + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@sinonjs/fake-timers": "^10.0.2", @@ -5579,8 +5176,7 @@ }, "node_modules/@jest/globals": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.6.4.tgz", - "integrity": "sha512-wVIn5bdtjlChhXAzVXavcY/3PEjf4VqM174BM3eGL5kMxLiZD5CLnbmkEyA1Dwh9q8XjP6E8RwjBsY/iCWrWsA==", + "license": "MIT", "dependencies": { "@jest/environment": "^29.6.4", "@jest/expect": "^29.6.4", @@ -5593,8 +5189,7 @@ }, "node_modules/@jest/reporters": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.6.4.tgz", - "integrity": "sha512-sxUjWxm7QdchdrD3NfWKrL8FBsortZeibSJv4XLjESOOjSUOkjQcb0ZHJwfhEGIvBvTluTzfG2yZWZhkrXJu8g==", + "license": "MIT", "dependencies": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^29.6.4", @@ -5635,8 +5230,7 @@ }, "node_modules/@jest/reporters/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -5649,8 +5243,7 @@ }, "node_modules/@jest/reporters/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -5664,8 +5257,7 @@ }, "node_modules/@jest/reporters/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -5675,29 +5267,25 @@ }, "node_modules/@jest/reporters/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/@jest/reporters/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@jest/reporters/node_modules/istanbul-lib-coverage": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "license": "BSD-3-Clause", "engines": { "node": ">=8" } }, "node_modules/@jest/reporters/node_modules/istanbul-lib-instrument": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.0.tgz", - "integrity": "sha512-x58orMzEVfzPUKqlbLd1hXCnySCxKdDKa6Rjg97CwuLLRI4g3FHTdnExu1OqffVFay6zeMW+T6/DowFLndWnIw==", + "license": "BSD-3-Clause", "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", @@ -5711,8 +5299,7 @@ }, "node_modules/@jest/reporters/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -5722,8 +5309,7 @@ }, "node_modules/@jest/schemas": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "license": "MIT", "dependencies": { "@sinclair/typebox": "^0.27.8" }, @@ -5733,8 +5319,7 @@ }, "node_modules/@jest/source-map": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", - "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.18", "callsites": "^3.0.0", @@ -5746,8 +5331,7 @@ }, "node_modules/@jest/test-result": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.6.4.tgz", - "integrity": "sha512-uQ1C0AUEN90/dsyEirgMLlouROgSY+Wc/JanVVk0OiUKa5UFh7sJpMEM3aoUBAz2BRNvUJ8j3d294WFuRxSyOQ==", + "license": "MIT", "dependencies": { "@jest/console": "^29.6.4", "@jest/types": "^29.6.3", @@ -5760,8 +5344,7 @@ }, "node_modules/@jest/test-sequencer": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.6.4.tgz", - "integrity": "sha512-E84M6LbpcRq3fT4ckfKs9ryVanwkaIB0Ws9bw3/yP4seRLg/VaCZ/LgW0MCq5wwk4/iP/qnilD41aj2fsw2RMg==", + "license": "MIT", "dependencies": { "@jest/test-result": "^29.6.4", "graceful-fs": "^4.2.9", @@ -5774,8 +5357,7 @@ }, "node_modules/@jest/transform": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.4.tgz", - "integrity": "sha512-8thgRSiXUqtr/pPGY/OsyHuMjGyhVnWrFAwoxmIemlBuiMyU1WFs0tXoNxzcr4A4uErs/ABre76SGmrr5ab/AA==", + "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@jest/types": "^29.6.3", @@ -5799,8 +5381,7 @@ }, "node_modules/@jest/transform/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -5813,8 +5394,7 @@ }, "node_modules/@jest/transform/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -5828,8 +5408,7 @@ }, "node_modules/@jest/transform/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -5839,26 +5418,22 @@ }, "node_modules/@jest/transform/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/@jest/transform/node_modules/convert-source-map": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + "license": "MIT" }, "node_modules/@jest/transform/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@jest/transform/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -5868,8 +5443,7 @@ }, "node_modules/@jest/transform/node_modules/write-file-atomic": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^3.0.7" @@ -5880,8 +5454,7 @@ }, "node_modules/@jest/types": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", @@ -5896,8 +5469,7 @@ }, "node_modules/@jest/types/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -5910,8 +5482,7 @@ }, "node_modules/@jest/types/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -5925,8 +5496,7 @@ }, "node_modules/@jest/types/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -5936,21 +5506,18 @@ }, "node_modules/@jest/types/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/@jest/types/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@jest/types/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -5960,9 +5527,8 @@ }, "node_modules/@jimp/bmp": { "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.12.1.tgz", - "integrity": "sha512-t16IamuBMv4GiGa1VAMzsgrVKVANxXG81wXECzbikOUkUv7pKJ2vHZDgkLBEsZQ9sAvFCneM1+yoSRpuENrfVQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/utils": "^0.12.1", @@ -5974,9 +5540,8 @@ }, "node_modules/@jimp/core": { "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.12.1.tgz", - "integrity": "sha512-mWfjExYEjHxBal+1gPesGChOQBSpxO7WUQkrO9KM7orboitOdQ15G5UA75ce7XVZ+5t+FQPOLmVkVZzzTQSEJA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/utils": "^0.12.1", @@ -5993,8 +5558,6 @@ }, "node_modules/@jimp/core/node_modules/buffer": { "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, "funding": [ { @@ -6010,6 +5573,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" @@ -6017,9 +5581,8 @@ }, "node_modules/@jimp/core/node_modules/mkdirp": { "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, + "license": "MIT", "dependencies": { "minimist": "^1.2.6" }, @@ -6029,9 +5592,8 @@ }, "node_modules/@jimp/core/node_modules/pixelmatch": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz", - "integrity": "sha512-J8B6xqiO37sU/gkcMglv6h5Jbd9xNER7aHzpfRdNmV4IbQBzBpe4l9XmbG+xPF/znacgu2jfEw+wHffaq/YkXA==", "dev": true, + "license": "ISC", "dependencies": { "pngjs": "^3.0.0" }, @@ -6041,9 +5603,8 @@ }, "node_modules/@jimp/custom": { "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.12.1.tgz", - "integrity": "sha512-bVClp8FEJ/11GFTKeRTrfH7NgUWvVO5/tQzO/68aOwMIhbz9BOYQGh533K9+mSy29VjZJo8jxZ0C9ZwYHuFwfA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/core": "^0.12.1" @@ -6051,9 +5612,8 @@ }, "node_modules/@jimp/gif": { "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.12.1.tgz", - "integrity": "sha512-cGn/AcvMGUGcqR6ByClGSnrja4AYmTwsGVXTQ1+EmfAdTiy6ztGgZCTDpZ/tq4SpdHXwm9wDHez7damKhTrH0g==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/utils": "^0.12.1", @@ -6065,9 +5625,8 @@ }, "node_modules/@jimp/jpeg": { "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.12.1.tgz", - "integrity": "sha512-UoCUHbKLj2CDCETd7LrJnmK/ExDsSfJXmc1pKkfgomvepjXogdl2KTHf141wL6D+9CfSD2VBWQLC5TvjMvcr9A==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/utils": "^0.12.1", @@ -6079,9 +5638,8 @@ }, "node_modules/@jimp/plugin-blit": { "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.12.1.tgz", - "integrity": "sha512-VRBB6bx6EpQuaH0WX8ytlGNqUQcmuxXBbzL3e+cD0W6MluYibzQy089okvXcyUS72Q+qpSMmUDCVr3pDqLAsSA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/utils": "^0.12.1" @@ -6092,9 +5650,8 @@ }, "node_modules/@jimp/plugin-blur": { "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.12.1.tgz", - "integrity": "sha512-rTFY0yrwVJFNgNsAlYGn2GYCRLVEcPQ6cqAuhNylXuR/7oH3Acul+ZWafeKtvN8D8uMlth/6VP74gruXvwffZw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/utils": "^0.12.1" @@ -6105,9 +5662,8 @@ }, "node_modules/@jimp/plugin-circle": { "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-circle/-/plugin-circle-0.12.1.tgz", - "integrity": "sha512-+/OiBDjby7RBbQoDX8ZsqJRr1PaGPdTaaKUVGAsrE7KCNO9ODYNFAizB9lpidXkGgJ4Wx5R4mJy21i22oY/a4Q==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/utils": "^0.12.1" @@ -6118,9 +5674,8 @@ }, "node_modules/@jimp/plugin-color": { "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.12.1.tgz", - "integrity": "sha512-xlnK/msWN4uZ+Bu7+UrCs9oMzTSA9QE0jWFnF3h0aBsD8t1LGxozkckHe8nHtC/y/sxIa8BGKSfkiaW+r6FbnA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/utils": "^0.12.1", @@ -6132,9 +5687,8 @@ }, "node_modules/@jimp/plugin-contain": { "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.12.1.tgz", - "integrity": "sha512-WZ/D6G0jhnBh2bkBh610PEh/caGhAUIAxYLsQsfSSlOxPsDhbj3S6hMbFKRgnDvf0hsd5zTIA0j1B0UG4kh18A==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/utils": "^0.12.1" @@ -6148,9 +5702,8 @@ }, "node_modules/@jimp/plugin-cover": { "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.12.1.tgz", - "integrity": "sha512-ddWwTQO40GcabJ2UwUYCeuNxnjV4rBTiLprnjGMqAJCzdz3q3Sp20FkRf+H+E22k2v2LHss8dIOFOF4i6ycr9Q==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/utils": "^0.12.1" @@ -6164,9 +5717,8 @@ }, "node_modules/@jimp/plugin-crop": { "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.12.1.tgz", - "integrity": "sha512-CKjVkrNO8FDZKYVpMireQW4SgKBSOdF+Ip/1sWssHHe77+jGEKqOjhYju+VhT3dZJ3+75rJNI9II7Kethp+rTw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/utils": "^0.12.1" @@ -6177,9 +5729,8 @@ }, "node_modules/@jimp/plugin-displace": { "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.12.1.tgz", - "integrity": "sha512-MQAw2iuf1/bVJ6P95WWTLA+WBjvIZ7TeGBerkvBaTK8oWdj+NSLNRIYOIoyPbZ7DTL8f1SN4Vd6KD6BZaoWrwg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/utils": "^0.12.1" @@ -6190,9 +5741,8 @@ }, "node_modules/@jimp/plugin-dither": { "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.12.1.tgz", - "integrity": "sha512-mCrBHdx2ViTLJDLcrobqGLlGhZF/Mq41bURWlElQ2ArvrQ3/xR52We9DNDfC08oQ2JVb6q3v1GnCCdn0KNojGQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/utils": "^0.12.1" @@ -6203,9 +5753,8 @@ }, "node_modules/@jimp/plugin-fisheye": { "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-fisheye/-/plugin-fisheye-0.12.1.tgz", - "integrity": "sha512-CHvYSXtHNplzkkYzB44tENPDmvfUHiYCnAETTY+Hx58kZ0w8ERZ+OiLhUmiBcvH/QHm/US1iiNjgGUAfeQX6dg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/utils": "^0.12.1" @@ -6216,9 +5765,8 @@ }, "node_modules/@jimp/plugin-flip": { "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.12.1.tgz", - "integrity": "sha512-xi+Yayrnln8A/C9E3yQBExjxwBSeCkt/ZQg1CxLgszVyX/3Zo8+nkV8MJYpkTpj8LCZGTOKlsE05mxu/a3lbJQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/utils": "^0.12.1" @@ -6230,9 +5778,8 @@ }, "node_modules/@jimp/plugin-gaussian": { "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.12.1.tgz", - "integrity": "sha512-7O6eKlhL37hsLfV6WAX1Cvce7vOqSwL1oWbBveC1agutDlrtvcTh1s2mQ4Pde654hCJu55mq1Ur10+ote5j3qw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/utils": "^0.12.1" @@ -6243,9 +5790,8 @@ }, "node_modules/@jimp/plugin-invert": { "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.12.1.tgz", - "integrity": "sha512-JTAs7A1Erbxwl+7ph7tgcb2PZ4WzB+3nb2WbfiWU8iCrKj17mMDSc5soaCCycn8wfwqvgB1vhRfGpseOLWxsuQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/utils": "^0.12.1" @@ -6256,9 +5802,8 @@ }, "node_modules/@jimp/plugin-mask": { "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.12.1.tgz", - "integrity": "sha512-bnDdY0RO/x5Mhqoy+056SN1wEj++sD4muAKqLD2CIT8Zq5M/0TA4hkdf/+lwFy3H2C0YTK39PSE9xyb4jPX3kA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/utils": "^0.12.1" @@ -6269,9 +5814,8 @@ }, "node_modules/@jimp/plugin-normalize": { "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.12.1.tgz", - "integrity": "sha512-4kSaI4JLM/PNjHwbnAHgyh51V5IlPfPxYvsZyZ1US32pebWtocxSMaSuOaJUg7OGSkwSDBv81UR2h5D+Dz1b5A==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/utils": "^0.12.1" @@ -6282,9 +5826,8 @@ }, "node_modules/@jimp/plugin-print": { "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.12.1.tgz", - "integrity": "sha512-T0lNS3qU9SwCHOEz7AGrdp50+gqiWGZibOL3350/X/dqoFs1EvGDjKVeWncsGCyLlpfd7M/AibHZgu8Fx2bWng==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/utils": "^0.12.1", @@ -6297,9 +5840,8 @@ }, "node_modules/@jimp/plugin-resize": { "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.12.1.tgz", - "integrity": "sha512-sbNn4tdBGcgGlPt9XFxCuDl4ZOoxa8/Re8nAikyxYhRss2Dqz91ARbBQxOf1vlUGeicQMsjEuWbPQAogTSJRug==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/utils": "^0.12.1" @@ -6310,9 +5852,8 @@ }, "node_modules/@jimp/plugin-rotate": { "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.12.1.tgz", - "integrity": "sha512-RYkLzwG2ervG6hHy8iepbIVeWdT1kz4Qz044eloqo6c66MK0KAqp228YI8+CAKm0joQnVDC/A0FgRIj/K8uyAw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/utils": "^0.12.1" @@ -6326,9 +5867,8 @@ }, "node_modules/@jimp/plugin-scale": { "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.12.1.tgz", - "integrity": "sha512-zjNVI1fUj+ywfG78T1ZU33g9a5sk4rhEQkkhtny8koAscnVsDN2YaZEKoFli54kqaWh5kSS5DDL7a/9pEfXnFQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/utils": "^0.12.1" @@ -6340,9 +5880,8 @@ }, "node_modules/@jimp/plugin-shadow": { "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-shadow/-/plugin-shadow-0.12.1.tgz", - "integrity": "sha512-Z82IwvunXWQ2jXegd3W3TYUXpfJcEvNbHodr7Z+oVnwhM1OoQ5QC6RSRQwsj2qXIhbGffQjH8eguHgEgAV+u5w==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/utils": "^0.12.1" @@ -6355,9 +5894,8 @@ }, "node_modules/@jimp/plugin-threshold": { "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-threshold/-/plugin-threshold-0.12.1.tgz", - "integrity": "sha512-PFezt5fSk0q+xKvdpuv0eLggy2I7EgYotrK8TRZOT0jimuYFXPF0Z514c6szumoW5kEsRz04L1HkPT1FqI97Yg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/utils": "^0.12.1" @@ -6370,9 +5908,8 @@ }, "node_modules/@jimp/plugins": { "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.12.1.tgz", - "integrity": "sha512-7+Yp29T6BbYo+Oqnc+m7A5AH+O+Oy5xnxvxlfmsp48+SuwEZ4akJp13Gu2PSmRlylENzR7MlWOxzhas5ERNlIg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/plugin-blit": "^0.12.1", @@ -6404,9 +5941,8 @@ }, "node_modules/@jimp/png": { "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.12.1.tgz", - "integrity": "sha512-tOUSJMJzcMAN82F9/Q20IToquIVWzvOe/7NIpVQJn6m+Lq6TtVmd7d8gdcna9AEFm2FIza5lhq2Kta6Xj0KXhQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/utils": "^0.12.1", @@ -6418,9 +5954,8 @@ }, "node_modules/@jimp/tiff": { "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.12.1.tgz", - "integrity": "sha512-bzWDgv3202TKhaBGzV9OFF0PVQWEb4194h9kv5js348SSnbCusz/tzTE1EwKrnbDZThZPgTB1ryKs7D+Q9Mhmg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.7.2", "utif": "^2.0.1" @@ -6431,9 +5966,8 @@ }, "node_modules/@jimp/types": { "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.12.1.tgz", - "integrity": "sha512-hg5OKXpWWeKGuDrfibrjWWhr7hqb7f552wqnPWSLQpVrdWgjH+hpOv6cOzdo9bsU78qGTelZJPxr0ERRoc+MhQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/bmp": "^0.12.1", @@ -6449,9 +5983,8 @@ }, "node_modules/@jimp/utils": { "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.12.1.tgz", - "integrity": "sha512-EjPkDQOzV/oZfbolEUgFT6SE++PtCccVBvjuACkttyCfl0P2jnpR49SwstyVLc2u8AwBAZEHHAw9lPYaMjtbXQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.7.2", "regenerator-runtime": "^0.13.3" @@ -6459,14 +5992,12 @@ }, "node_modules/@jimp/utils/node_modules/regenerator-runtime": { "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "license": "MIT", "dependencies": { "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -6478,24 +6009,21 @@ }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/set-array": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/source-map": { "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -6503,13 +6031,11 @@ }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.19", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", - "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -6517,8 +6043,7 @@ }, "node_modules/@mealection/react-native-boring-avatars": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@mealection/react-native-boring-avatars/-/react-native-boring-avatars-1.1.2.tgz", - "integrity": "sha512-VZYK+7cd3ZZq6nbJHAOk5r/If1TI2hCLa8jAUVWm7VmYtXXOdi/JzAk13NMgvYiOkZHI6BRJSF2HoUrosvI0IA==", + "license": "MIT", "peerDependencies": { "react": "*", "react-native": "*", @@ -6526,11 +6051,10 @@ } }, "node_modules/@netlify/functions": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@netlify/functions/-/functions-2.0.2.tgz", - "integrity": "sha512-goWRtaIPUK/q47qLYtfGGj7HgJIRaT0snw7zZ0yeoNTfQfCRwQwvRrMAsXkCsCtq2N2Oo81L26SpkMxEQMk9hg==", + "version": "2.3.0", + "license": "MIT", "dependencies": { - "@netlify/serverless-functions-api": "1.7.3", + "@netlify/serverless-functions-api": "1.9.0", "is-promise": "^4.0.0" }, "engines": { @@ -6538,14 +6062,13 @@ } }, "node_modules/@netlify/ipx": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/@netlify/ipx/-/ipx-1.4.4.tgz", - "integrity": "sha512-UM2pFatBDg9ehrUwA/PwpAo/PpF447uXFgKR/2QtqlPriwJlNXJ7sj/YPEblC/8UzNJjhSIv2gA6T9bcVqxe7Q==", + "version": "1.4.5", + "license": "MIT", "dependencies": { - "@netlify/functions": "^2.0.1", + "@netlify/functions": "^2.1.0", "etag": "^1.8.1", "fs-extra": "^11.0.0", - "ipx": "^1.0.0", + "ipx": "^1.3.1", "micromatch": "^4.0.5", "mkdirp": "^3.0.0", "murmurhash": "^2.0.0", @@ -6556,16 +6079,14 @@ }, "node_modules/@netlify/node-cookies": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@netlify/node-cookies/-/node-cookies-0.1.0.tgz", - "integrity": "sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g==", + "license": "MIT", "engines": { "node": "^14.16.0 || >=16.0.0" } }, "node_modules/@netlify/serverless-functions-api": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.7.3.tgz", - "integrity": "sha512-n6/7cJlSWvvbBlUOEAbkGyEld80S6KbG/ldQI9OhLfe1lTatgKmrTNIgqVNpaWpUdTgP2OHWFjmFBzkxxBWs5w==", + "version": "1.9.0", + "license": "MIT", "dependencies": { "@netlify/node-cookies": "^0.1.0", "urlpattern-polyfill": "8.0.2" @@ -6575,22 +6096,19 @@ } }, "node_modules/@next/env": { - "version": "13.5.3", - "resolved": "https://registry.npmjs.org/@next/env/-/env-13.5.3.tgz", - "integrity": "sha512-X4te86vsbjsB7iO4usY9jLPtZ827Mbx+WcwNBGUOIuswuTAKQtzsuoxc/6KLxCMvogKG795MhrR1LDhYgDvasg==" + "version": "13.5.4", + "license": "MIT" }, "node_modules/@next/eslint-plugin-next": { - "version": "13.5.3", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.5.3.tgz", - "integrity": "sha512-lbZOoEjzSuTtpk9UgV9rOmxYw+PsSfNR+00mZcInqooiDMZ1u+RqT1YQYLsEZPW1kumZoQe5+exkCBtZ2xn0uw==", + "version": "13.5.4", + "license": "MIT", "dependencies": { "glob": "7.1.7" } }, "node_modules/@next/eslint-plugin-next/node_modules/glob": { "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -6607,12 +6125,11 @@ } }, "node_modules/@next/swc-darwin-arm64": { - "version": "13.5.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.5.3.tgz", - "integrity": "sha512-6hiYNJxJmyYvvKGrVThzo4nTcqvqUTA/JvKim7Auaj33NexDqSNwN5YrrQu+QhZJCIpv2tULSHt+lf+rUflLSw==", + "version": "13.5.4", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "darwin" @@ -6621,130 +6138,9 @@ "node": ">= 10" } }, - "node_modules/@next/swc-darwin-x64": { - "version": "13.5.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.5.3.tgz", - "integrity": "sha512-UpBKxu2ob9scbpJyEq/xPgpdrgBgN3aLYlxyGqlYX5/KnwpJpFuIHU2lx8upQQ7L+MEmz+fA1XSgesoK92ppwQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-arm64-gnu": { - "version": "13.5.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.5.3.tgz", - "integrity": "sha512-5AzM7Yx1Ky+oLY6pHs7tjONTF22JirDPd5Jw/3/NazJ73uGB05NqhGhB4SbeCchg7SlVYVBeRMrMSZwJwq/xoA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-arm64-musl": { - "version": "13.5.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.5.3.tgz", - "integrity": "sha512-A/C1shbyUhj7wRtokmn73eBksjTM7fFQoY2v/0rTM5wehpkjQRLOXI8WJsag2uLhnZ4ii5OzR1rFPwoD9cvOgA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-x64-gnu": { - "version": "13.5.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.5.3.tgz", - "integrity": "sha512-FubPuw/Boz8tKkk+5eOuDHOpk36F80rbgxlx4+xty/U71e3wZZxVYHfZXmf0IRToBn1Crb8WvLM9OYj/Ur815g==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-x64-musl": { - "version": "13.5.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.5.3.tgz", - "integrity": "sha512-DPw8nFuM1uEpbX47tM3wiXIR0Qa+atSzs9Q3peY1urkhofx44o7E1svnq+a5Q0r8lAcssLrwiM+OyJJgV/oj7g==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-arm64-msvc": { - "version": "13.5.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.5.3.tgz", - "integrity": "sha512-zBPSP8cHL51Gub/YV8UUePW7AVGukp2D8JU93IHbVDu2qmhFAn9LWXiOOLKplZQKxnIPUkJTQAJDCWBWU4UWUA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-ia32-msvc": { - "version": "13.5.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.5.3.tgz", - "integrity": "sha512-ONcL/lYyGUj4W37D4I2I450SZtSenmFAvapkJQNIJhrPMhzDU/AdfLkW98NvH1D2+7FXwe7yclf3+B7v28uzBQ==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-x64-msvc": { - "version": "13.5.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.5.3.tgz", - "integrity": "sha512-2Vz2tYWaLqJvLcWbbTlJ5k9AN6JD7a5CN2pAeIzpbecK8ZF/yobA39cXtv6e+Z8c5UJuVOmaTldEAIxvsIux/Q==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, "node_modules/@noble/hashes": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", - "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==", + "license": "MIT", "engines": { "node": ">= 16" }, @@ -6752,21 +6148,9 @@ "url": "https://paulmillr.com/funding/" } }, - "node_modules/@noble/secp256k1": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.7.1.tgz", - "integrity": "sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ] - }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -6777,16 +6161,14 @@ }, "node_modules/@nodelib/fs.stat": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/@nodelib/fs.walk": { "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -6797,8 +6179,7 @@ }, "node_modules/@npmcli/fs": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", - "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", + "license": "ISC", "dependencies": { "@gar/promisify": "^1.0.1", "semver": "^7.3.5" @@ -6806,9 +6187,7 @@ }, "node_modules/@npmcli/move-file": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", - "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", - "deprecated": "This functionality has been moved to @npmcli/fs", + "license": "MIT", "dependencies": { "mkdirp": "^1.0.4", "rimraf": "^3.0.2" @@ -6819,8 +6198,7 @@ }, "node_modules/@npmcli/move-file/node_modules/mkdirp": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "license": "MIT", "bin": { "mkdirp": "bin/cmd.js" }, @@ -6830,8 +6208,7 @@ }, "node_modules/@npmcli/move-file/node_modules/rimraf": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -6844,9 +6221,7 @@ }, "node_modules/@parcel/watcher": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.3.0.tgz", - "integrity": "sha512-pW7QaFiL11O0BphO+bq3MgqeX/INAk9jgBldVDYjlQPO4VddoZnF22TcF9onMhnLVHuNqBJeRf+Fj7eezi/+rQ==", - "hasInstallScript": true, + "license": "MIT", "dependencies": { "detect-libc": "^1.0.3", "is-glob": "^4.0.3", @@ -6875,32 +6250,12 @@ "@parcel/watcher-win32-x64": "2.3.0" } }, - "node_modules/@parcel/watcher-android-arm64": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.3.0.tgz", - "integrity": "sha512-f4o9eA3dgk0XRT3XhB0UWpWpLnKgrh1IwNJKJ7UJek7eTYccQ8LR7XUWFKqw6aEq5KUNlCcGvSzKqSX/vtWVVA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, "node_modules/@parcel/watcher-darwin-arm64": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.3.0.tgz", - "integrity": "sha512-mKY+oijI4ahBMc/GygVGvEdOq0L4DxhYgwQqYAz/7yPzuGi79oXrZG52WdpGA1wLBPrYb0T8uBaGFo7I6rvSKw==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "darwin" @@ -6913,146 +6268,12 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/watcher-darwin-x64": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.3.0.tgz", - "integrity": "sha512-20oBj8LcEOnLE3mgpy6zuOq8AplPu9NcSSSfyVKgfOhNAc4eF4ob3ldj0xWjGGbOF7Dcy1Tvm6ytvgdjlfUeow==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-freebsd-x64": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.3.0.tgz", - "integrity": "sha512-7LftKlaHunueAEiojhCn+Ef2CTXWsLgTl4hq0pkhkTBFI3ssj2bJXmH2L67mKpiAD5dz66JYk4zS66qzdnIOgw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm-glibc": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.3.0.tgz", - "integrity": "sha512-1apPw5cD2xBv1XIHPUlq0cO6iAaEUQ3BcY0ysSyD9Kuyw4MoWm1DV+W9mneWI+1g6OeP6dhikiFE6BlU+AToTQ==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm64-glibc": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.3.0.tgz", - "integrity": "sha512-mQ0gBSQEiq1k/MMkgcSB0Ic47UORZBmWoAWlMrTW6nbAGoLZP+h7AtUM7H3oDu34TBFFvjy4JCGP43JlylkTQA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm64-musl": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.3.0.tgz", - "integrity": "sha512-LXZAExpepJew0Gp8ZkJ+xDZaTQjLHv48h0p0Vw2VMFQ8A+RKrAvpFuPVCVwKJCr5SE+zvaG+Etg56qXvTDIedw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-x64-glibc": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.3.0.tgz", - "integrity": "sha512-P7Wo91lKSeSgMTtG7CnBS6WrA5otr1K7shhSjKHNePVmfBHDoAOHYRXgUmhiNfbcGk0uMCHVcdbfxtuiZCHVow==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-x64-musl": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.3.0.tgz", - "integrity": "sha512-+kiRE1JIq8QdxzwoYY+wzBs9YbJ34guBweTK8nlzLKimn5EQ2b2FSC+tAOpq302BuIMjyuUGvBiUhEcLIGMQ5g==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, "node_modules/@parcel/watcher-wasm": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-wasm/-/watcher-wasm-2.3.0.tgz", - "integrity": "sha512-ejBAX8H0ZGsD8lSICDNyMbSEtPMWgDL0WFCt/0z7hyf5v8Imz4rAM8xY379mBsECkq/Wdqa5WEDLqtjZ+6NxfA==", "bundleDependencies": [ "napi-wasm" ], + "license": "MIT", "dependencies": { "is-glob": "^4.0.3", "micromatch": "^4.0.5", @@ -7071,72 +6292,13 @@ "inBundle": true, "license": "MIT" }, - "node_modules/@parcel/watcher-win32-arm64": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.3.0.tgz", - "integrity": "sha512-35gXCnaz1AqIXpG42evcoP2+sNL62gZTMZne3IackM+6QlfMcJLy3DrjuL6Iks7Czpd3j4xRBzez3ADCj1l7Aw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-ia32": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.3.0.tgz", - "integrity": "sha512-FJS/IBQHhRpZ6PiCjFt1UAcPr0YmCLHRbTc00IBTrelEjlmmgIVLeOx4MSXzx2HFEy5Jo5YdhGpxCuqCyDJ5ow==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-x64": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.3.0.tgz", - "integrity": "sha512-dLx+0XRdMnVI62kU3wbXvbIRhLck4aE28bIGKbRGS7BJNt54IIj9+c/Dkqb+7DJEbHUZAX1bwaoM8PqVlHJmCA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, "node_modules/@parcel/watcher/node_modules/node-addon-api": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.0.0.tgz", - "integrity": "sha512-vgbBJTS4m5/KkE16t5Ly0WW9hz46swAstv0hYYwMtbG7AznRhNyfLRe8HZAiWIpcHzoO7HxhLuBQj9rJ/Ho0ZA==" + "license": "MIT" }, "node_modules/@pkgr/utils": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.2.tgz", - "integrity": "sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==", + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "fast-glob": "^3.3.0", @@ -7154,8 +6316,7 @@ }, "node_modules/@pkgr/utils/node_modules/define-lazy-prop": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", - "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -7165,8 +6326,7 @@ }, "node_modules/@pkgr/utils/node_modules/open": { "version": "9.1.0", - "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz", - "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==", + "license": "MIT", "dependencies": { "default-browser": "^4.0.0", "define-lazy-prop": "^3.0.0", @@ -7182,13 +6342,11 @@ }, "node_modules/@pkgr/utils/node_modules/tslib": { "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "license": "0BSD" }, "node_modules/@popperjs/core": { "version": "2.11.8", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", - "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/popperjs" @@ -7196,8 +6354,7 @@ }, "node_modules/@react-native-async-storage/async-storage": { "version": "1.18.2", - "resolved": "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-1.18.2.tgz", - "integrity": "sha512-dM8AfdoeIxlh+zqgr0o5+vCTPQ0Ru1mrPzONZMsr7ufp5h+6WgNxQNza7t0r5qQ6b04AJqTlBNixTWZxqP649Q==", + "license": "MIT", "dependencies": { "merge-options": "^3.0.4" }, @@ -7206,19 +6363,19 @@ } }, "node_modules/@react-native-community/cli": { - "version": "11.3.5", - "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-11.3.5.tgz", - "integrity": "sha512-wMXgKEWe6uesw7vyXKKjx5EDRog0QdXHxdgRguG14AjQRao1+4gXEWq2yyExOTi/GDY6dfJBUGTCwGQxhnk/Lg==", - "dependencies": { - "@react-native-community/cli-clean": "11.3.5", - "@react-native-community/cli-config": "11.3.5", - "@react-native-community/cli-debugger-ui": "11.3.5", - "@react-native-community/cli-doctor": "11.3.5", - "@react-native-community/cli-hermes": "11.3.5", - "@react-native-community/cli-plugin-metro": "11.3.5", - "@react-native-community/cli-server-api": "11.3.5", - "@react-native-community/cli-tools": "11.3.5", - "@react-native-community/cli-types": "11.3.5", + "version": "11.3.7", + "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-11.3.7.tgz", + "integrity": "sha512-Ou8eDlF+yh2rzXeCTpMPYJ2fuqsusNOhmpYPYNQJQ2h6PvaF30kPomflgRILems+EBBuggRtcT+I+1YH4o/q6w==", + "dependencies": { + "@react-native-community/cli-clean": "11.3.7", + "@react-native-community/cli-config": "11.3.7", + "@react-native-community/cli-debugger-ui": "11.3.7", + "@react-native-community/cli-doctor": "11.3.7", + "@react-native-community/cli-hermes": "11.3.7", + "@react-native-community/cli-plugin-metro": "11.3.7", + "@react-native-community/cli-server-api": "11.3.7", + "@react-native-community/cli-tools": "11.3.7", + "@react-native-community/cli-types": "11.3.7", "chalk": "^4.1.2", "commander": "^9.4.1", "execa": "^5.0.0", @@ -7226,7 +6383,7 @@ "fs-extra": "^8.1.0", "graceful-fs": "^4.1.3", "prompts": "^2.4.0", - "semver": "^6.3.0" + "semver": "^7.5.2" }, "bin": { "react-native": "build/bin.js" @@ -7236,11 +6393,11 @@ } }, "node_modules/@react-native-community/cli-clean": { - "version": "11.3.5", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-11.3.5.tgz", - "integrity": "sha512-1+7BU962wKkIkHRp/uW3jYbQKKGtU7L+R3g59D8K6uLccuxJYUBJv18753ojMa6SD3SAq5Xh31bAre+YwVcOTA==", + "version": "11.3.7", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-11.3.7.tgz", + "integrity": "sha512-twtsv54ohcRyWVzPXL3F9VHGb4Qhn3slqqRs3wEuRzjR7cTmV2TIO2b1VhaqF4HlCgNd+cGuirvLtK2JJyaxMg==", "dependencies": { - "@react-native-community/cli-tools": "11.3.5", + "@react-native-community/cli-tools": "11.3.7", "chalk": "^4.1.2", "execa": "^5.0.0", "prompts": "^2.4.0" @@ -7352,11 +6509,11 @@ } }, "node_modules/@react-native-community/cli-config": { - "version": "11.3.5", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-11.3.5.tgz", - "integrity": "sha512-fMblIsHlUleKfGsgWyjFJYfx1SqrsnhS/QXfA8w7iT6GrNOOjBp5UWx8+xlMDFcmOb9e42g1ExFDKl3n8FWkxQ==", + "version": "11.3.7", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-11.3.7.tgz", + "integrity": "sha512-FDBLku9xskS+bx0YFJFLCmUJhEZ4/MMSC9qPYOGBollWYdgE7k/TWI0IeYFmMALAnbCdKQAYP5N29N55Tad8lg==", "dependencies": { - "@react-native-community/cli-tools": "11.3.5", + "@react-native-community/cli-tools": "11.3.7", "chalk": "^4.1.2", "cosmiconfig": "^5.1.0", "deepmerge": "^4.3.0", @@ -7500,22 +6657,22 @@ } }, "node_modules/@react-native-community/cli-debugger-ui": { - "version": "11.3.5", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-11.3.5.tgz", - "integrity": "sha512-o5JVCKEpPUXMX4r3p1cYjiy3FgdOEkezZcQ6owWEae2dYvV19lLYyJwnocm9Y7aG9PvpgI3PIMVh3KZbhS21eA==", + "version": "11.3.7", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-11.3.7.tgz", + "integrity": "sha512-aVmKuPKHZENR8SrflkMurZqeyLwbKieHdOvaZCh1Nn/0UC5CxWcyST2DB2XQboZwsvr3/WXKJkSUO+SZ1J9qTQ==", "dependencies": { "serve-static": "^1.13.1" } }, "node_modules/@react-native-community/cli-doctor": { - "version": "11.3.5", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-11.3.5.tgz", - "integrity": "sha512-+4BuFHjoV4FFjX5y60l0s6nS0agidb1izTVwsFixeFKW73LUkOLu+Ae5HI94RAFEPE4ePEVNgYX3FynIau6K0g==", - "dependencies": { - "@react-native-community/cli-config": "11.3.5", - "@react-native-community/cli-platform-android": "11.3.5", - "@react-native-community/cli-platform-ios": "11.3.5", - "@react-native-community/cli-tools": "11.3.5", + "version": "11.3.7", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-11.3.7.tgz", + "integrity": "sha512-YEHUqWISOHnsl5+NM14KHelKh68Sr5/HeEZvvNdIcvcKtZic3FU7Xd1WcbNdo3gCq5JvzGFfufx02Tabh5zmrg==", + "dependencies": { + "@react-native-community/cli-config": "11.3.7", + "@react-native-community/cli-platform-android": "11.3.7", + "@react-native-community/cli-platform-ios": "11.3.7", + "@react-native-community/cli-tools": "11.3.7", "chalk": "^4.1.2", "command-exists": "^1.2.8", "envinfo": "^7.7.2", @@ -7525,7 +6682,7 @@ "node-stream-zip": "^1.9.1", "ora": "^5.4.1", "prompts": "^2.4.0", - "semver": "^6.3.0", + "semver": "^7.5.2", "strip-ansi": "^5.2.0", "sudo-prompt": "^9.0.0", "wcwidth": "^1.0.1", @@ -7659,14 +6816,6 @@ "node": ">=8" } }, - "node_modules/@react-native-community/cli-doctor/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@react-native-community/cli-doctor/node_modules/strip-ansi": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", @@ -7703,12 +6852,12 @@ } }, "node_modules/@react-native-community/cli-hermes": { - "version": "11.3.5", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-11.3.5.tgz", - "integrity": "sha512-+3m34hiaJpFel8BlJE7kJOaPzWR/8U8APZG2LXojbAdBAg99EGmQcwXIgsSVJFvH8h/nezf4DHbsPKigIe33zA==", + "version": "11.3.7", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-11.3.7.tgz", + "integrity": "sha512-chkKd8n/xeZkinRvtH6QcYA8rjNOKU3S3Lw/3Psxgx+hAYV0Gyk95qJHTalx7iu+PwjOOqqvCkJo5jCkYLkoqw==", "dependencies": { - "@react-native-community/cli-platform-android": "11.3.5", - "@react-native-community/cli-tools": "11.3.5", + "@react-native-community/cli-platform-android": "11.3.7", + "@react-native-community/cli-tools": "11.3.7", "chalk": "^4.1.2", "hermes-profile-transformer": "^0.0.6", "ip": "^1.1.5" @@ -7779,11 +6928,11 @@ } }, "node_modules/@react-native-community/cli-platform-android": { - "version": "11.3.5", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-11.3.5.tgz", - "integrity": "sha512-s4Lj7FKxJ/BofGi/ifjPfrA9MjFwIgYpHnHBSlqtbsvPoSYzmVCU2qlWM8fb3AmkXIwyYt4A6MEr3MmNT2UoBg==", + "version": "11.3.7", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-11.3.7.tgz", + "integrity": "sha512-WGtXI/Rm178UQb8bu1TAeFC/RJvYGnbHpULXvE20GkmeJ1HIrMjkagyk6kkY3Ej25JAP2R878gv+TJ/XiRhaEg==", "dependencies": { - "@react-native-community/cli-tools": "11.3.5", + "@react-native-community/cli-tools": "11.3.7", "chalk": "^4.1.2", "execa": "^5.0.0", "glob": "^7.1.3", @@ -7896,11 +7045,11 @@ } }, "node_modules/@react-native-community/cli-platform-ios": { - "version": "11.3.5", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-11.3.5.tgz", - "integrity": "sha512-ytJC/YCFD7P+KuQHOT5Jzh1ho2XbJEjq71yHa1gJP2PG/Q/uB4h1x2XpxDqv5iXU6E250yjvKMmkReKTW4CTig==", + "version": "11.3.7", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-11.3.7.tgz", + "integrity": "sha512-Z/8rseBput49EldX7MogvN6zJlWzZ/4M97s2P+zjS09ZoBU7I0eOKLi0N9wx+95FNBvGQQ/0P62bB9UaFQH2jw==", "dependencies": { - "@react-native-community/cli-tools": "11.3.5", + "@react-native-community/cli-tools": "11.3.7", "chalk": "^4.1.2", "execa": "^5.0.0", "fast-xml-parser": "^4.0.12", @@ -8036,20 +7185,20 @@ } }, "node_modules/@react-native-community/cli-plugin-metro": { - "version": "11.3.5", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-11.3.5.tgz", - "integrity": "sha512-r9AekfeLKdblB7LfWB71IrNy1XM03WrByQlUQajUOZAP2NmUUBLl9pMZscPjJeOSgLpHB9ixEFTIOhTabri/qg==", + "version": "11.3.7", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-11.3.7.tgz", + "integrity": "sha512-0WhgoBVGF1f9jXcuagQmtxpwpfP+2LbLZH4qMyo6OtYLWLG13n2uRep+8tdGzfNzl1bIuUTeE9yZSAdnf9LfYQ==", "dependencies": { - "@react-native-community/cli-server-api": "11.3.5", - "@react-native-community/cli-tools": "11.3.5", + "@react-native-community/cli-server-api": "11.3.7", + "@react-native-community/cli-tools": "11.3.7", "chalk": "^4.1.2", "execa": "^5.0.0", - "metro": "0.76.7", - "metro-config": "0.76.7", - "metro-core": "0.76.7", - "metro-react-native-babel-transformer": "0.76.7", - "metro-resolver": "0.76.7", - "metro-runtime": "0.76.7", + "metro": "0.76.8", + "metro-config": "0.76.8", + "metro-core": "0.76.8", + "metro-react-native-babel-transformer": "0.76.8", + "metro-resolver": "0.76.8", + "metro-runtime": "0.76.8", "readline": "^1.3.0" } }, @@ -8159,12 +7308,12 @@ } }, "node_modules/@react-native-community/cli-server-api": { - "version": "11.3.5", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-11.3.5.tgz", - "integrity": "sha512-PM/jF13uD1eAKuC84lntNuM5ZvJAtyb+H896P1dBIXa9boPLa3KejfUvNVoyOUJ5s8Ht25JKbc3yieV2+GMBDA==", + "version": "11.3.7", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-11.3.7.tgz", + "integrity": "sha512-yoFyGdvR3HxCnU6i9vFqKmmSqFzCbnFSnJ29a+5dppgPRetN+d//O8ard/YHqHzToFnXutAFf2neONn23qcJAg==", "dependencies": { - "@react-native-community/cli-debugger-ui": "11.3.5", - "@react-native-community/cli-tools": "11.3.5", + "@react-native-community/cli-debugger-ui": "11.3.7", + "@react-native-community/cli-tools": "11.3.7", "compression": "^1.7.1", "connect": "^3.6.5", "errorhandler": "^1.5.1", @@ -8190,9 +7339,9 @@ } }, "node_modules/@react-native-community/cli-server-api/node_modules/@types/yargs": { - "version": "15.0.15", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.15.tgz", - "integrity": "sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg==", + "version": "15.0.16", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.16.tgz", + "integrity": "sha512-2FeD5qezW3FvLpZ0JpfuaEWepgNLl9b2gQYiz/ce0NhoB1W/D+VZu98phITXkADYerfr/jb7JcDcVhITsc9bwg==", "dependencies": { "@types/yargs-parser": "*" } @@ -8301,9 +7450,9 @@ } }, "node_modules/@react-native-community/cli-tools": { - "version": "11.3.5", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-11.3.5.tgz", - "integrity": "sha512-zDklE1+ah/zL4BLxut5XbzqCj9KTHzbYBKX7//cXw2/0TpkNCaY9c+iKx//gZ5m7U1OKbb86Fm2b0AKtKVRf6Q==", + "version": "11.3.7", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-11.3.7.tgz", + "integrity": "sha512-peyhP4TV6Ps1hk+MBHTFaIR1eI3u+OfGBvr5r0wPwo3FAJvldRinMgcB/TcCcOBXVORu7ba1XYjkubPeYcqAyA==", "dependencies": { "appdirsjs": "^1.2.4", "chalk": "^4.1.2", @@ -8312,7 +7461,7 @@ "node-fetch": "^2.6.0", "open": "^6.2.0", "ora": "^5.4.1", - "semver": "^6.3.0", + "semver": "^7.5.2", "shell-quote": "^1.7.3" } }, @@ -8410,14 +7559,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@react-native-community/cli-tools/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@react-native-community/cli-tools/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -8430,9 +7571,9 @@ } }, "node_modules/@react-native-community/cli-types": { - "version": "11.3.5", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-11.3.5.tgz", - "integrity": "sha512-pf0kdWMEfPSV/+8rcViDCFzbLMtWIHMZ8ay7hKwqaoWegsJ0oprSF2tSTH+LSC/7X1Beb9ssIvHj1m5C4es5Xg==", + "version": "11.3.7", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-11.3.7.tgz", + "integrity": "sha512-OhSr/TiDQkXjL5YOs8+hvGSB+HltLn5ZI0+A3DCiMsjUgTTsYh+Z63OtyMpNjrdCEFcg0MpfdU2uxstCS6Dc5g==", "dependencies": { "joi": "^17.2.1" } @@ -8608,14 +7749,6 @@ "node": ">=8" } }, - "node_modules/@react-native-community/cli/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@react-native-community/cli/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -8637,21 +7770,18 @@ }, "node_modules/@react-native-community/netinfo": { "version": "9.3.10", - "resolved": "https://registry.npmjs.org/@react-native-community/netinfo/-/netinfo-9.3.10.tgz", - "integrity": "sha512-OwnqoJUp/4sa9e3ju+wQavAa8l0fiA3DheeLMKzKxtKeAe0CA7bNxWRM752JvRQ6A/igPnt1V0zSlu5owvQEuA==", + "license": "MIT", "peerDependencies": { "react-native": ">=0.59" } }, "node_modules/@react-native-community/slider": { "version": "4.4.2", - "resolved": "https://registry.npmjs.org/@react-native-community/slider/-/slider-4.4.2.tgz", - "integrity": "sha512-D9bv+3Vd2gairAhnRPAghwccgEmoM7g562pm8i4qB3Esrms5mggF81G3UvCyc0w3jjtFHh8dpQkfEoKiP0NW/Q==" + "license": "MIT" }, "node_modules/@react-native-masked-view/masked-view": { "version": "0.2.9", - "resolved": "https://registry.npmjs.org/@react-native-masked-view/masked-view/-/masked-view-0.2.9.tgz", - "integrity": "sha512-Hs4vKBKj+15VxHZHFtMaFWSBxXoOE5Ea8saoigWhahp8Mepssm0ezU+2pTl7DK9z8Y9s5uOl/aPb4QmBZ3R3Zw==", + "license": "MIT", "peerDependencies": { "react": ">=16", "react-native": ">=0.57" @@ -8659,13 +7789,11 @@ }, "node_modules/@react-native/assets-registry": { "version": "0.72.0", - "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.72.0.tgz", - "integrity": "sha512-Im93xRJuHHxb1wniGhBMsxLwcfzdYreSZVQGDoMJgkd6+Iky61LInGEHnQCTN0fKNYF1Dvcofb4uMmE1RQHXHQ==" + "license": "MIT" }, "node_modules/@react-native/codegen": { - "version": "0.72.6", - "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.72.6.tgz", - "integrity": "sha512-idTVI1es/oopN0jJT/0jB6nKdvTUKE3757zA5+NPXZTeB46CIRbmmos4XBiAec8ufu9/DigLPbHTYAaMNZJ6Ig==", + "version": "0.72.7", + "license": "MIT", "dependencies": { "@babel/parser": "^7.20.0", "flow-parser": "^0.206.0", @@ -8678,28 +7806,23 @@ }, "node_modules/@react-native/gradle-plugin": { "version": "0.72.11", - "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.72.11.tgz", - "integrity": "sha512-P9iRnxiR2w7EHcZ0mJ+fmbPzMby77ZzV6y9sJI3lVLJzF7TLSdbwcQyD3lwMsiL+q5lKUHoZJS4sYmih+P2HXw==" + "license": "MIT" }, "node_modules/@react-native/js-polyfills": { "version": "0.72.1", - "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.72.1.tgz", - "integrity": "sha512-cRPZh2rBswFnGt5X5EUEPs0r+pAsXxYsifv/fgy9ZLQokuT52bPH+9xjDR+7TafRua5CttGW83wP4TntRcWNDA==" + "license": "MIT" }, "node_modules/@react-native/normalize-color": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@react-native/normalize-color/-/normalize-color-2.1.0.tgz", - "integrity": "sha512-Z1jQI2NpdFJCVgpY+8Dq/Bt3d+YUi1928Q+/CZm/oh66fzM0RUl54vvuXlPJKybH4pdCZey1eDTPaLHkMPNgWA==" + "license": "MIT" }, "node_modules/@react-native/normalize-colors": { "version": "0.72.0", - "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.72.0.tgz", - "integrity": "sha512-285lfdqSXaqKuBbbtP9qL2tDrfxdOFtIMvkKadtleRQkdOxx+uzGvFr82KHmc/sSiMtfXGp7JnFYWVh4sFl7Yw==" + "license": "MIT" }, "node_modules/@react-native/virtualized-lists": { "version": "0.72.8", - "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.72.8.tgz", - "integrity": "sha512-J3Q4Bkuo99k7mu+jPS9gSUSgq+lLRSI/+ahXNwV92XgJ/8UgOTxu2LPwhJnBk/sQKxq7E8WkZBnBiozukQMqrw==", + "license": "MIT", "dependencies": { "invariant": "^2.2.4", "nullthrows": "^1.1.1" @@ -8710,8 +7833,7 @@ }, "node_modules/@react-navigation/bottom-tabs": { "version": "6.5.8", - "resolved": "https://registry.npmjs.org/@react-navigation/bottom-tabs/-/bottom-tabs-6.5.8.tgz", - "integrity": "sha512-0aa/jXea+LyBgR5NoRNWGKw0aFhjHwCkusigMRXIrCA4kINauDcAO0w0iFbZeKfaTCVAix5kK5UxDJJ2aJpevg==", + "license": "MIT", "dependencies": { "@react-navigation/elements": "^1.3.18", "color": "^4.2.3", @@ -8727,8 +7849,7 @@ }, "node_modules/@react-navigation/core": { "version": "6.4.9", - "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-6.4.9.tgz", - "integrity": "sha512-G9GH7bP9x0qqupxZnkSftnkn4JoXancElTvFc8FVGfEvxnxP+gBo3wqcknyBi7M5Vad4qecsYjCOa9wqsftv9g==", + "license": "MIT", "dependencies": { "@react-navigation/routers": "^6.1.9", "escape-string-regexp": "^4.0.0", @@ -8743,8 +7864,7 @@ }, "node_modules/@react-navigation/elements": { "version": "1.3.18", - "resolved": "https://registry.npmjs.org/@react-navigation/elements/-/elements-1.3.18.tgz", - "integrity": "sha512-/0hwnJkrr415yP0Hf4PjUKgGyfshrvNUKFXN85Mrt1gY49hy9IwxZgrrxlh0THXkPeq8q4VWw44eHDfAcQf20Q==", + "license": "MIT", "peerDependencies": { "@react-navigation/native": "^6.0.0", "react": "*", @@ -8754,8 +7874,7 @@ }, "node_modules/@react-navigation/native": { "version": "6.1.7", - "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-6.1.7.tgz", - "integrity": "sha512-W6E3+AtTombMucCRo6q7vPmluq8hSjS+IxfazJ/SokOe7ChJX7eLvvralIsJkjFj3iWV1KgOSnHxa6hdiFasBw==", + "license": "MIT", "dependencies": { "@react-navigation/core": "^6.4.9", "escape-string-regexp": "^4.0.0", @@ -8769,16 +7888,14 @@ }, "node_modules/@react-navigation/routers": { "version": "6.1.9", - "resolved": "https://registry.npmjs.org/@react-navigation/routers/-/routers-6.1.9.tgz", - "integrity": "sha512-lTM8gSFHSfkJvQkxacGM6VJtBt61ip2XO54aNfswD+KMw6eeZ4oehl7m0me3CR9hnDE4+60iAZR8sAhvCiI3NA==", + "license": "MIT", "dependencies": { "nanoid": "^3.1.23" } }, "node_modules/@react-navigation/stack": { "version": "6.3.17", - "resolved": "https://registry.npmjs.org/@react-navigation/stack/-/stack-6.3.17.tgz", - "integrity": "sha512-8/8ZvJROK3fp6PRmQ9MrXd9epBowA8NkfCaWW/N9H5arqwNX9lTXAkmcjicRhjpX+UNlMBR9dTLkWvPRe2vY9A==", + "license": "MIT", "dependencies": { "@react-navigation/elements": "^1.3.18", "color": "^4.2.3", @@ -8794,9 +7911,8 @@ } }, "node_modules/@reduxjs/toolkit": { - "version": "1.9.6", - "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.6.tgz", - "integrity": "sha512-Gc4ikl90ORF4viIdAkY06JNUnODjKfGxZRwATM30EdHq8hLSVoSrwXne5dd739yenP5bJxAX7tLuOWK5RPGtrw==", + "version": "1.9.7", + "license": "MIT", "dependencies": { "immer": "^9.0.21", "redux": "^4.2.1", @@ -8818,8 +7934,7 @@ }, "node_modules/@restart/hooks": { "version": "0.4.11", - "resolved": "https://registry.npmjs.org/@restart/hooks/-/hooks-0.4.11.tgz", - "integrity": "sha512-Ft/ncTULZN6ldGHiF/k5qt72O8JyRMOeg0tApvCni8LkoiEahO+z3TNxfXIVGy890YtWVDvJAl662dVJSJXvMw==", + "license": "MIT", "dependencies": { "dequal": "^2.0.3" }, @@ -8828,14 +7943,11 @@ } }, "node_modules/@rushstack/eslint-patch": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.4.0.tgz", - "integrity": "sha512-cEjvTPU32OM9lUFegJagO0mRnIn+rbqrG89vV8/xLnLFX0DoR0r1oy5IlTga71Q7uT3Qus7qm7wgeiMT/+Irlg==" + "version": "1.5.1", + "license": "MIT" }, "node_modules/@segment/loosely-validate-event": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@segment/loosely-validate-event/-/loosely-validate-event-2.0.0.tgz", - "integrity": "sha512-ZMCSfztDBqwotkl848ODgVcAmN4OItEWDCkshcKz0/W6gGSQayuuCtWV/MlodFivAZD793d6UgANd6wCXUfrIw==", "dependencies": { "component-type": "^1.2.1", "join-component": "^1.1.0" @@ -8843,8 +7955,7 @@ }, "node_modules/@shopify/flash-list": { "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@shopify/flash-list/-/flash-list-1.4.3.tgz", - "integrity": "sha512-jtIReAbwWzYBV0dQ6Io9wBX+pD0C4qQFMrb5/fkEvX8PYDgBl5KRYvpfr9WLLj8CV2Jsn1X0mYOsB+ysWrI/8g==", + "license": "MIT", "dependencies": { "recyclerlistview": "4.2.0", "tslib": "2.4.0" @@ -8857,31 +7968,26 @@ }, "node_modules/@sideway/address": { "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", - "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", + "license": "BSD-3-Clause", "dependencies": { "@hapi/hoek": "^9.0.0" } }, "node_modules/@sideway/formula": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", - "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==" + "license": "BSD-3-Clause" }, "node_modules/@sideway/pinpoint": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" + "license": "BSD-3-Clause" }, "node_modules/@sinclair/typebox": { "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" + "license": "MIT" }, "node_modules/@sindresorhus/is": { "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", - "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -8891,24 +7997,20 @@ }, "node_modules/@sinonjs/commons": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "license": "BSD-3-Clause", "dependencies": { "type-detect": "4.0.8" } }, "node_modules/@sinonjs/fake-timers": { "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^3.0.0" } }, "node_modules/@stickyjs/jest": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@stickyjs/jest/-/jest-1.3.2.tgz", - "integrity": "sha512-jXf8sJZtcm2i05tny+bzlcQXNmozZAkvPa5EEVz1y/7QLKDHY2IsiMAjDSKKJ5kzFjdQw1whZVB1hoqewV6rWA==", "dependencies": { "@types/jest": "^29.5.4", "jest": "29.6.4", @@ -8919,16 +8021,14 @@ }, "node_modules/@swc/helpers": { "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.2.tgz", - "integrity": "sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.4.0" } }, "node_modules/@szmarczak/http-timer": { "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", - "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "license": "MIT", "dependencies": { "defer-to-connect": "^2.0.0" }, @@ -8937,20 +8037,18 @@ } }, "node_modules/@tanstack/query-core": { - "version": "5.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.0.0-rc.1.tgz", - "integrity": "sha512-6jzPCwvEHS+Y3QCildpOlIrqJXXJ+v2EvbtCnbKUi6FpOrrfoSPacVB3nr0cjSBG/rCXnTB0aaevx9T8iT9CrQ==", + "version": "5.0.0-rc.12", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/tannerlinsley" } }, "node_modules/@tanstack/react-query": { - "version": "5.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.0.0-rc.1.tgz", - "integrity": "sha512-hFz2j/pp+faqwaBbp0KV8kgn01GfErfA1BtcwHVE/E+GJINU2ZOAiVJ43LR05JCWnIu4b9pAnOBMHv55GshMZQ==", + "version": "5.0.0-rc.12", + "license": "MIT", "dependencies": { - "@tanstack/query-core": "5.0.0-rc.1", + "@tanstack/query-core": "5.0.0-rc.12", "client-only": "0.0.1" }, "funding": { @@ -8973,9 +8071,8 @@ }, "node_modules/@testing-library/cypress": { "version": "8.0.7", - "resolved": "https://registry.npmjs.org/@testing-library/cypress/-/cypress-8.0.7.tgz", - "integrity": "sha512-3HTV725rOS+YHve/gD9coZp/UcPK5xhr4H0GMnq/ni6USdtzVtSOG9WBFtd8rYnrXk8rrGD+0toRFYouJNIG0Q==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.14.6", "@testing-library/dom": "^8.1.0" @@ -8990,9 +8087,8 @@ }, "node_modules/@testing-library/dom": { "version": "8.20.1", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz", - "integrity": "sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", @@ -9009,9 +8105,8 @@ }, "node_modules/@testing-library/dom/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -9024,9 +8119,8 @@ }, "node_modules/@testing-library/dom/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -9040,9 +8134,8 @@ }, "node_modules/@testing-library/dom/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -9052,24 +8145,21 @@ }, "node_modules/@testing-library/dom/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@testing-library/dom/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@testing-library/dom/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -9079,9 +8169,8 @@ }, "node_modules/@testing-library/react-native": { "version": "11.5.4", - "resolved": "https://registry.npmjs.org/@testing-library/react-native/-/react-native-11.5.4.tgz", - "integrity": "sha512-6DRzMHqili5pp1JRm7fh80SAP48aR25b37gohlLoKbqGBpDw8BbZTad7Luzktm9MU5DQUm7xyzg07Z1CyveVFA==", "dev": true, + "license": "MIT", "dependencies": { "pretty-format": "^29.0.0" }, @@ -9099,9 +8188,8 @@ }, "node_modules/@testing-library/react-native/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -9111,9 +8199,8 @@ }, "node_modules/@testing-library/react-native/node_modules/pretty-format": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -9125,61 +8212,52 @@ }, "node_modules/@testing-library/react-native/node_modules/react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@tootallnate/once": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 10" } }, "node_modules/@tsconfig/node10": { "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", - "devOptional": true + "devOptional": true, + "license": "MIT" }, "node_modules/@tsconfig/node12": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "devOptional": true + "devOptional": true, + "license": "MIT" }, "node_modules/@tsconfig/node14": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "devOptional": true + "devOptional": true, + "license": "MIT" }, "node_modules/@tsconfig/node16": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "devOptional": true + "devOptional": true, + "license": "MIT" }, "node_modules/@types/archiver": { "version": "5.3.3", - "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-5.3.3.tgz", - "integrity": "sha512-0ABdVcXL6jOwNGY+hjWPqrxUvKelBEwNLcuv/SV2vZ4YCH8w9NttFCt+/QqI5zgMX+iX/XqVy89/r7EmLJmMpQ==", + "license": "MIT", "dependencies": { "@types/readdir-glob": "*" } }, "node_modules/@types/aria-query": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz", - "integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/babel__core": { "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", - "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", + "license": "MIT", "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", @@ -9190,16 +8268,14 @@ }, "node_modules/@types/babel__generator": { "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "license": "MIT", "dependencies": { "@babel/types": "^7.0.0" } }, "node_modules/@types/babel__template": { "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "license": "MIT", "dependencies": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" @@ -9207,16 +8283,14 @@ }, "node_modules/@types/babel__traverse": { "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", - "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", + "license": "MIT", "dependencies": { "@babel/types": "^7.20.7" } }, "node_modules/@types/cacheable-request": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", - "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", + "license": "MIT", "dependencies": { "@types/http-cache-semantics": "*", "@types/keyv": "^3.1.4", @@ -9226,8 +8300,7 @@ }, "node_modules/@types/docker-modem": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/docker-modem/-/docker-modem-3.0.4.tgz", - "integrity": "sha512-INK4TOrJ9hbgaSqHA1HaEOCcYVftJRH0v03gCg6R57JGKgltkDvdFYBtoN4lHrJ3h8aF1upvEPN2eWVLIvKStQ==", + "license": "MIT", "dependencies": { "@types/node": "*", "@types/ssh2": "*" @@ -9235,8 +8308,7 @@ }, "node_modules/@types/dockerode": { "version": "3.3.20", - "resolved": "https://registry.npmjs.org/@types/dockerode/-/dockerode-3.3.20.tgz", - "integrity": "sha512-Q+1e3z6SPWXR/Sk+WIyJFVsSDg78S7MDaGcwAh1WKlveO1tVO8TF1rOzJir5GLnqzEdUbclFKlw/4rhwESxwPw==", + "license": "MIT", "dependencies": { "@types/docker-modem": "*", "@types/node": "*" @@ -9244,9 +8316,8 @@ }, "node_modules/@types/eslint": { "version": "8.44.2", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.2.tgz", - "integrity": "sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==", "devOptional": true, + "license": "MIT", "peer": true, "dependencies": { "@types/estree": "*", @@ -9255,9 +8326,8 @@ }, "node_modules/@types/eslint-scope": { "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@types/eslint": "*", @@ -9266,34 +8336,29 @@ }, "node_modules/@types/estree": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", "devOptional": true, + "license": "MIT", "peer": true }, "node_modules/@types/find-in-files": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/@types/find-in-files/-/find-in-files-0.5.1.tgz", - "integrity": "sha512-kUPtvVXZn99bBHx08jAJgrI1NKWspuoX6RgqQgfNlH2debcwcowUV41P6Kfg4VDaCAr5KNBW9qdjIyKRnXVuBA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/graceful-fs": { "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", - "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/hammerjs": { "version": "2.0.41", - "resolved": "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.41.tgz", - "integrity": "sha512-ewXv/ceBaJprikMcxCmWU1FKyMAQ2X7a9Gtmzw8fcg2kIePI1crERDM818W+XYrxqdBBOdlf2rm137bU+BltCA==" + "license": "MIT" }, "node_modules/@types/hoist-non-react-statics": { "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", - "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", + "license": "MIT", "dependencies": { "@types/react": "*", "hoist-non-react-statics": "^3.3.0" @@ -9301,40 +8366,34 @@ }, "node_modules/@types/http-cache-semantics": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", - "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==" + "license": "MIT" }, "node_modules/@types/i18n-js": { "version": "3.8.4", - "resolved": "https://registry.npmjs.org/@types/i18n-js/-/i18n-js-3.8.4.tgz", - "integrity": "sha512-lXIJLglOZsa81DzqiiG99xF6qGJvwRGqzCQe1FB+/JhgVTyGGVa63DMopEQMJdpAlUUSdJsIhC7sw5xDfDjXWw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" + "license": "MIT" }, "node_modules/@types/istanbul-lib-report": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "*" } }, "node_modules/@types/istanbul-reports": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-report": "*" } }, "node_modules/@types/jest": { "version": "29.5.4", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.4.tgz", - "integrity": "sha512-PhglGmhWeD46FYOVLt3X7TiWjzwuVGW9wG/4qocPevXMjCmrIc5b6db9WjeGE4QYVpUAWMDv3v0IiBwObY289A==", + "license": "MIT", "dependencies": { "expect": "^29.0.0", "pretty-format": "^29.0.0" @@ -9342,8 +8401,7 @@ }, "node_modules/@types/jest/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -9353,8 +8411,7 @@ }, "node_modules/@types/jest/node_modules/pretty-format": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -9366,14 +8423,12 @@ }, "node_modules/@types/jest/node_modules/react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + "license": "MIT" }, "node_modules/@types/jsdom": { "version": "20.0.1", - "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", - "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*", "@types/tough-cookie": "*", @@ -9382,78 +8437,64 @@ }, "node_modules/@types/json-schema": { "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" + "license": "MIT" }, "node_modules/@types/json5": { "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" + "license": "MIT" }, "node_modules/@types/keyv": { "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", - "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/lodash": { "version": "4.14.197", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.197.tgz", - "integrity": "sha512-BMVOiWs0uNxHVlHBgzTIqJYmj+PgCo4euloGF+5m4okL3rEYzM2EEv78mw8zWSMM57dM7kVIgJ2QDvwHSoCI5g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/lossless-json": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/lossless-json/-/lossless-json-1.0.2.tgz", - "integrity": "sha512-RdV8M8qlWUpmk7gnY3fBB4TNn3Ab8hMMqhJC/sG77t8Zk+hjVwvZGTFv+upEBUkxXbq0+UxGAPhOml83w1IkIQ==" + "license": "MIT" }, "node_modules/@types/minimist": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", - "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==" + "license": "MIT" }, "node_modules/@types/node": { "version": "20.5.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.1.tgz", - "integrity": "sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==" + "license": "MIT" }, "node_modules/@types/normalize-package-data": { "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==" + "license": "MIT" }, "node_modules/@types/nprogress": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@types/nprogress/-/nprogress-0.2.1.tgz", - "integrity": "sha512-TYuyVnp+nOnimgdOydDIDYIxv2kSeuJZw4tF0p/KG7hpzcMF1WkHaREwM8O4blqfT1F7rq0nht6Ko2KVUfWzBA==" + "license": "MIT" }, "node_modules/@types/parse-json": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + "license": "MIT" }, "node_modules/@types/prop-types": { "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + "license": "MIT" }, "node_modules/@types/qs": { "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + "license": "MIT" }, "node_modules/@types/randomcolor": { "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@types/randomcolor/-/randomcolor-0.5.7.tgz", - "integrity": "sha512-LPcG96dGYRCsXlk1fslUNIg6ebEi+bKNyn84uBL/pu2cRSf5i/djD3ArJZOyzszVMVV/DB87va6pMZP+tRSl/w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/react": { - "version": "18.2.22", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.22.tgz", - "integrity": "sha512-60fLTOLqzarLED2O3UQImc/lsNRgG0jE/a1mPW9KjMemY0LMITWEsbS4VvZ4p6rorEHd5YKxxmMKSDK505GHpA==", + "version": "18.2.28", + "license": "MIT", "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -9461,18 +8502,16 @@ } }, "node_modules/@types/react-dom": { - "version": "18.2.7", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.7.tgz", - "integrity": "sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==", + "version": "18.2.13", + "license": "MIT", "dependencies": { "@types/react": "*" } }, "node_modules/@types/react-native": { "version": "0.72.2", - "resolved": "https://registry.npmjs.org/@types/react-native/-/react-native-0.72.2.tgz", - "integrity": "sha512-/eEjr04Zqo7mTMszuSdrLx90+j5nWhDMMOgtnKZfAYyV3RwmlpSb7F17ilmMMxZWJY81n/JZ4e6wdhMJFpjrCg==", "devOptional": true, + "license": "MIT", "dependencies": { "@react-native/virtualized-lists": "^0.72.4", "@types/react": "*" @@ -9480,9 +8519,8 @@ }, "node_modules/@types/react-native-loading-spinner-overlay": { "version": "0.5.3", - "resolved": "https://registry.npmjs.org/@types/react-native-loading-spinner-overlay/-/react-native-loading-spinner-overlay-0.5.3.tgz", - "integrity": "sha512-TP6//QhdBEUQT0sB9iG3+a+YKsMzP4/MJNNxSyfWsbdDTbBnO0lD9ksXdwBI5KY91r8gTmBE7PwRS+eEazZpxg==", "dev": true, + "license": "MIT", "dependencies": { "@types/react": "*", "@types/react-native": "*" @@ -9490,81 +8528,69 @@ }, "node_modules/@types/react-test-renderer": { "version": "18.0.0", - "resolved": "https://registry.npmjs.org/@types/react-test-renderer/-/react-test-renderer-18.0.0.tgz", - "integrity": "sha512-C7/5FBJ3g3sqUahguGi03O79b8afNeSD6T8/GU50oQrJCU0bVCCGQHaGKUbg2Ce8VQEEqTw8/HiS6lXHHdgkdQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/react": "*" } }, "node_modules/@types/readdir-glob": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/readdir-glob/-/readdir-glob-1.1.1.tgz", - "integrity": "sha512-ImM6TmoF8bgOwvehGviEj3tRdRBbQujr1N+0ypaln/GWjaerOB26jb93vsRHmdMtvVQZQebOlqt2HROark87mQ==", + "version": "1.1.2", + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/responselike": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", - "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/scheduler": { "version": "0.16.3", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", - "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" + "license": "MIT" }, "node_modules/@types/semver": { "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==" + "license": "MIT" }, "node_modules/@types/sinonjs__fake-timers": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", - "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/sizzle": { "version": "2.3.3", - "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz", - "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/ssh2": { "version": "1.11.14", - "resolved": "https://registry.npmjs.org/@types/ssh2/-/ssh2-1.11.14.tgz", - "integrity": "sha512-O/U38mvV4jVVrdtZz8KpmitkmeD/PUDeDNNueQhm34166dmaqb1iZ3sfarSxBArM2/iX4PZVJY3EOta0Zks9hw==", + "license": "MIT", "dependencies": { "@types/node": "^18.11.18" } }, "node_modules/@types/ssh2-streams": { "version": "0.1.10", - "resolved": "https://registry.npmjs.org/@types/ssh2-streams/-/ssh2-streams-0.1.10.tgz", - "integrity": "sha512-r3HYPL0kPxRwk7Nk1P4JxaWPyJ2Mfnfm5efuK0vYgYZu16RerZUTyun6Yqu5KEfc3AR7BvTL1x+nzf7+kbKftQ==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/ssh2/node_modules/@types/node": { - "version": "18.18.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.0.tgz", - "integrity": "sha512-3xA4X31gHT1F1l38ATDIL9GpRLdwVhnEFC8Uikv5ZLlXATwrCYyPq7ZWHxzxc3J/30SUiwiYT+bQe0/XvKlWbw==" + "version": "18.18.5", + "license": "MIT" }, "node_modules/@types/stack-utils": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" + "license": "MIT" }, "node_modules/@types/tar-fs": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@types/tar-fs/-/tar-fs-2.0.2.tgz", - "integrity": "sha512-XuZRAvdo7FbDfgQCNkc8NOdSae5XtG+of2mTSgJ85G4OG0miN4E8BTGT+JBTLO87RQ7iCwsIDCqCsHnf2IaSXA==", + "license": "MIT", "peer": true, "dependencies": { "@types/node": "*", @@ -9572,9 +8598,8 @@ } }, "node_modules/@types/tar-stream": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/tar-stream/-/tar-stream-3.1.0.tgz", - "integrity": "sha512-U05c7l6K5VdO1ZV+j3E0NJOX1hfJB497M1+QT2rXx2QqyMbEQJqBw3Utk9eUVnWPyLLqYKt5Ja1kPV1ejm6cZw==", + "version": "3.1.1", + "license": "MIT", "peer": true, "dependencies": { "@types/node": "*" @@ -9582,37 +8607,31 @@ }, "node_modules/@types/tough-cookie": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", - "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/use-sync-external-store": { "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", - "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==" + "license": "MIT" }, "node_modules/@types/warning": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/warning/-/warning-3.0.0.tgz", - "integrity": "sha512-t/Tvs5qR47OLOr+4E9ckN8AmP2Tf16gWq+/qA4iUGS/OOyHVO8wv2vjJuX8SNOUTJyWb+2t7wJm6cXILFnOROA==" + "license": "MIT" }, "node_modules/@types/yargs": { "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, "node_modules/@types/yargs-parser": { "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" + "license": "MIT" }, "node_modules/@types/yauzl": { "version": "2.10.0", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "license": "MIT", "optional": true, "dependencies": { "@types/node": "*" @@ -9620,8 +8639,7 @@ }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.4.1.tgz", - "integrity": "sha512-3F5PtBzUW0dYlq77Lcqo13fv+58KDwUib3BddilE8ajPJT+faGgxmI9Sw+I8ZS22BYwoir9ZhNXcLi+S+I2bkw==", + "license": "MIT", "peer": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", @@ -9655,8 +8673,7 @@ }, "node_modules/@typescript-eslint/parser": { "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.4.1.tgz", - "integrity": "sha512-610G6KHymg9V7EqOaNBMtD1GgpAmGROsmfHJPXNLCU9bfIuLrkdOygltK784F6Crboyd5tBFayPB7Sf0McrQwg==", + "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/scope-manager": "6.4.1", "@typescript-eslint/types": "6.4.1", @@ -9682,8 +8699,7 @@ }, "node_modules/@typescript-eslint/scope-manager": { "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.4.1.tgz", - "integrity": "sha512-p/OavqOQfm4/Hdrr7kvacOSFjwQ2rrDVJRPxt/o0TOWdFnjJptnjnZ+sYDR7fi4OimvIuKp+2LCkc+rt9fIW+A==", + "license": "MIT", "dependencies": { "@typescript-eslint/types": "6.4.1", "@typescript-eslint/visitor-keys": "6.4.1" @@ -9698,8 +8714,7 @@ }, "node_modules/@typescript-eslint/type-utils": { "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.4.1.tgz", - "integrity": "sha512-7ON8M8NXh73SGZ5XvIqWHjgX2f+vvaOarNliGhjrJnv1vdjG0LVIz+ToYfPirOoBi56jxAKLfsLm40+RvxVVXA==", + "license": "MIT", "peer": true, "dependencies": { "@typescript-eslint/typescript-estree": "6.4.1", @@ -9725,8 +8740,7 @@ }, "node_modules/@typescript-eslint/types": { "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.4.1.tgz", - "integrity": "sha512-zAAopbNuYu++ijY1GV2ylCsQsi3B8QvfPHVqhGdDcbx/NK5lkqMnCGU53amAjccSpk+LfeONxwzUhDzArSfZJg==", + "license": "MIT", "engines": { "node": "^16.0.0 || >=18.0.0" }, @@ -9737,8 +8751,7 @@ }, "node_modules/@typescript-eslint/typescript-estree": { "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.4.1.tgz", - "integrity": "sha512-xF6Y7SatVE/OyV93h1xGgfOkHr2iXuo8ip0gbfzaKeGGuKiAnzS+HtVhSPx8Www243bwlW8IF7X0/B62SzFftg==", + "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/types": "6.4.1", "@typescript-eslint/visitor-keys": "6.4.1", @@ -9763,8 +8776,7 @@ }, "node_modules/@typescript-eslint/typescript-estree/node_modules/globby": { "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "license": "MIT", "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -9782,8 +8794,7 @@ }, "node_modules/@typescript-eslint/utils": { "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.4.1.tgz", - "integrity": "sha512-F/6r2RieNeorU0zhqZNv89s9bDZSovv3bZQpUNOmmQK1L80/cV4KEu95YUJWi75u5PhboFoKUJBnZ4FQcoqhDw==", + "license": "MIT", "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", @@ -9807,8 +8818,7 @@ }, "node_modules/@typescript-eslint/visitor-keys": { "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.4.1.tgz", - "integrity": "sha512-y/TyRJsbZPkJIZQXrHfdnxVnxyKegnpEvnRGNam7s3TRR2ykGefEWOhaef00/UUN3IZxizS7BTO3svd3lCOJRQ==", + "license": "MIT", "dependencies": { "@typescript-eslint/types": "6.4.1", "eslint-visitor-keys": "^3.4.1" @@ -9823,8 +8833,7 @@ }, "node_modules/@urql/core": { "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@urql/core/-/core-2.3.6.tgz", - "integrity": "sha512-PUxhtBh7/8167HJK6WqBv6Z0piuiaZHQGYbhwpNL9aIQmLROPEdaUYkY4wh45wPQXcTpnd11l0q3Pw+TI11pdw==", + "license": "MIT", "dependencies": { "@graphql-typed-document-node/core": "^3.1.0", "wonka": "^4.0.14" @@ -9835,8 +8844,7 @@ }, "node_modules/@urql/exchange-retry": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@urql/exchange-retry/-/exchange-retry-0.3.0.tgz", - "integrity": "sha512-hHqer2mcdVC0eYnVNbWyi28AlGOPb2vjH3lP3/Bc8Lc8BjhMsDwFMm7WhoP5C1+cfbr/QJ6Er3H/L08wznXxfg==", + "license": "MIT", "dependencies": { "@urql/core": ">=2.3.1", "wonka": "^4.0.14" @@ -9846,104 +8854,97 @@ } }, "node_modules/@waveshq/standard-defichain-jellyfishsdk": { - "version": "2.11.3", - "resolved": "https://registry.npmjs.org/@waveshq/standard-defichain-jellyfishsdk/-/standard-defichain-jellyfishsdk-2.11.3.tgz", - "integrity": "sha512-miD1adVBTft4aFQnKcOXVpu5kZl+MksZh144UgCLRM9xaSAWWBj1iK/me+Dwro2lSobIqM6i8DFrRbwGzbxjlQ==", - "dependencies": { - "@defichain/jellyfish-address": "4.0.0-rc.1.2", - "@defichain/jellyfish-api-core": "4.0.0-rc.1.2", - "@defichain/jellyfish-network": "4.0.0-rc.1.2", - "@defichain/jellyfish-testing": "4.0.0-rc.1.2", - "@defichain/jellyfish-transaction": "4.0.0-rc.1.2", - "@defichain/jellyfish-transaction-builder": "4.0.0-rc.1.2", - "@defichain/jellyfish-wallet": "4.0.0-rc.1.2", - "@defichain/jellyfish-wallet-encrypted": "4.0.0-rc.1.2", - "@defichain/jellyfish-wallet-mnemonic": "4.0.0-rc.1.2", - "@defichain/playground-api-client": "4.0.0-rc.1.2", - "@defichain/testcontainers": "4.0.0-rc.1.2", - "@defichain/whale-api-client": "4.0.0-rc.1.2", - "@defichain/whale-api-wallet": "4.0.0-rc.1.2", - "defichain": "4.0.0-rc.1.2" + "version": "2.14.0", + "dependencies": { + "@defichain/jellyfish-address": "4.0.0-beta.14.1", + "@defichain/jellyfish-api-core": "4.0.0-beta.14.1", + "@defichain/jellyfish-network": "4.0.0-beta.14.1", + "@defichain/jellyfish-testing": "4.0.0-beta.14.1", + "@defichain/jellyfish-transaction": "4.0.0-beta.14.1", + "@defichain/jellyfish-transaction-builder": "4.0.0-beta.14.1", + "@defichain/jellyfish-wallet": "4.0.0-beta.14.1", + "@defichain/jellyfish-wallet-encrypted": "4.0.0-beta.14.1", + "@defichain/jellyfish-wallet-mnemonic": "4.0.0-beta.14.1", + "@defichain/playground-api-client": "4.0.0-beta.14.1", + "@defichain/testcontainers": "4.0.0-beta.14.1", + "@defichain/whale-api-client": "4.0.0-beta.14.1", + "@defichain/whale-api-wallet": "4.0.0-beta.14.1", + "defichain": "4.0.0-beta.14.1" } }, "node_modules/@waveshq/standard-web": { - "version": "2.11.3", - "resolved": "https://registry.npmjs.org/@waveshq/standard-web/-/standard-web-2.11.3.tgz", - "integrity": "sha512-M3IzfeSeSeJCjrw8oZO/YOMoTp8YKgqwj3YZgHmRQ4L4zjhX9msyWTvsdJN5PRyQAu4moVcmlQbqCpkEzQUUxQ==", - "dependencies": { - "@netlify/ipx": "^1.4.4", - "@reduxjs/toolkit": "^1.9.6", - "@tanstack/react-query": "^5.0.0-rc.1", - "@types/react": "18.2.22", - "@types/react-dom": "18.2.7", + "version": "2.14.0", + "dependencies": { + "@netlify/ipx": "^1.4.5", + "@reduxjs/toolkit": "^1.9.7", + "@tanstack/react-query": "^5.0.0-rc.12", + "@types/react": "18.2.28", + "@types/react-dom": "18.2.13", "follow-redirects": "^1.15.3", - "next": "13.5.3", + "next": "13.5.4", "next-sitemap": "^4.2.3", "nextjs-progressbar": "^0.0.16", "react": "18.2.0", "react-dom": "18.2.0", "react-icons": "^4.11.0", - "react-redux": "^8.1.2", + "react-redux": "^8.1.3", "react-responsive": "^9.0.2", "typescript": "*" } }, "node_modules/@waveshq/standard-web-linter": { - "version": "2.11.3", - "resolved": "https://registry.npmjs.org/@waveshq/standard-web-linter/-/standard-web-linter-2.11.3.tgz", - "integrity": "sha512-+u+zQQpvQ8efX5ZkFsqBolKyjlFJpPat1c/w9aNXHLstgoeK7x4JiFKJw5c58d/X+B+sPJr33IjJKK3tn0la4A==", + "version": "2.14.0", "dependencies": { - "eslint": "^8.50.0", + "eslint": "^8.51.0", "eslint-config-airbnb": "^19.0.4", "eslint-config-airbnb-typescript": "^17.1.0", - "eslint-config-next": "13.5.3", + "eslint-config-next": "13.5.4", "eslint-config-prettier": "^9.0.0", "eslint-plugin-cypress": "^2.15.1", "eslint-plugin-import": "^2.28.1", "eslint-plugin-jsx-a11y": "^6.7.1", "eslint-plugin-node": "^11.1.0", - "eslint-plugin-prettier": "^5.0.0", + "eslint-plugin-prettier": "^5.0.1", "eslint-plugin-react": "^7.33.2", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-simple-import-sort": "^10.0.0", "husky": "^8.0.3", "lint-staged": "^14.0.1", - "next": "13.5.3", + "next": "13.5.4", "prettier": "^3.0.3", "typescript": "^5.2.2" } }, "node_modules/@waveshq/walletkit-core": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@waveshq/walletkit-core/-/walletkit-core-1.3.5.tgz", - "integrity": "sha512-n8CX/+FBOl8v/8Xqdi3phlx0teleRxjwo1kmXPnT7SmGC0ASRa2l46YQRMxBrqBS4mXRSTyQU9ufnpzY31UjfQ==", + "version": "1.3.7", "dependencies": { - "bignumber.js": "^9.1.1", + "bignumber.js": "^9.1.2", "ethers": "^5.7.2" } }, "node_modules/@waveshq/walletkit-ui": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@waveshq/walletkit-ui/-/walletkit-ui-1.3.5.tgz", - "integrity": "sha512-0EtBk44BTZA4MuGcmvr04o2TDskoYvxOhWv1rc701soD7jfbdfjbDup9vxEZF0OgXNdmW6A5ckTbg1qNS4geDg==", + "version": "1.3.7", "dependencies": { "@stickyjs/jest": "^1.3.2", - "@waveshq/standard-defichain-jellyfishsdk": "^2.11.2", - "@waveshq/standard-web": "^2.11.2", - "@waveshq/standard-web-linter": "^2.11.2", - "@waveshq/walletkit-core": "1.3.5", - "bignumber.js": "^9.1.1", - "dayjs": "^1.11.9", + "@waveshq/standard-defichain-jellyfishsdk": "^2.14.0", + "@waveshq/standard-web": "^2.14.0", + "@waveshq/standard-web-linter": "^2.14.0", + "@waveshq/walletkit-core": "1.3.7", + "bignumber.js": "^9.1.2", + "dayjs": "^1.11.10", "immer": "^9.0.21", "reselect": "^4.1.8", "smart-buffer": "^4.2.0" } }, + "node_modules/@waveshq/walletkit-ui/node_modules/dayjs": { + "version": "1.11.10", + "license": "MIT" + }, "node_modules/@webassemblyjs/ast": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@webassemblyjs/helper-numbers": "1.11.6", @@ -9952,30 +8953,26 @@ }, "node_modules/@webassemblyjs/floating-point-hex-parser": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/@webassemblyjs/helper-api-error": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/@webassemblyjs/helper-buffer": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/@webassemblyjs/helper-numbers": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.11.6", @@ -9985,16 +8982,14 @@ }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@webassemblyjs/ast": "1.11.6", @@ -10005,9 +9000,8 @@ }, "node_modules/@webassemblyjs/ieee754": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@xtuc/ieee754": "^1.2.0" @@ -10015,9 +9009,8 @@ }, "node_modules/@webassemblyjs/leb128": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", "dev": true, + "license": "Apache-2.0", "peer": true, "dependencies": { "@xtuc/long": "4.2.2" @@ -10025,16 +9018,14 @@ }, "node_modules/@webassemblyjs/utf8": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/@webassemblyjs/wasm-edit": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@webassemblyjs/ast": "1.11.6", @@ -10049,9 +9040,8 @@ }, "node_modules/@webassemblyjs/wasm-gen": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@webassemblyjs/ast": "1.11.6", @@ -10063,9 +9053,8 @@ }, "node_modules/@webassemblyjs/wasm-opt": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@webassemblyjs/ast": "1.11.6", @@ -10076,9 +9065,8 @@ }, "node_modules/@webassemblyjs/wasm-parser": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@webassemblyjs/ast": "1.11.6", @@ -10091,9 +9079,8 @@ }, "node_modules/@webassemblyjs/wast-printer": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@webassemblyjs/ast": "1.11.6", @@ -10102,36 +9089,31 @@ }, "node_modules/@xmldom/xmldom": { "version": "0.7.13", - "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.13.tgz", - "integrity": "sha512-lm2GW5PkosIzccsaZIz7tp8cPADSIlIHWDFTR1N0SzfinhhYgeIQjFMz4rYzanCScr3DqQLeomUDArp6MWKm+g==", + "license": "MIT", "engines": { "node": ">=10.0.0" } }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", "dev": true, + "license": "BSD-3-Clause", "peer": true }, "node_modules/@xtuc/long": { "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true, + "license": "Apache-2.0", "peer": true }, "node_modules/abab": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/abort-controller": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "license": "MIT", "dependencies": { "event-target-shim": "^5.0.0" }, @@ -10141,13 +9123,11 @@ }, "node_modules/abs-svg-path": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/abs-svg-path/-/abs-svg-path-0.1.1.tgz", - "integrity": "sha512-d8XPSGjfyzlXC3Xx891DJRyZfqk5JU0BJrDQcsWomFIV1/BIzPW5HDH5iDdWpqWaav0YVIEzT1RHTwWr0FFshA==" + "license": "MIT" }, "node_modules/accepts": { "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", "dependencies": { "mime-types": "~2.1.34", "negotiator": "0.6.3" @@ -10158,8 +9138,7 @@ }, "node_modules/acorn": { "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -10169,9 +9148,8 @@ }, "node_modules/acorn-globals": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", - "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", "dev": true, + "license": "MIT", "dependencies": { "acorn": "^8.1.0", "acorn-walk": "^8.0.2" @@ -10179,9 +9157,8 @@ }, "node_modules/acorn-import-assertions": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", "dev": true, + "license": "MIT", "peer": true, "peerDependencies": { "acorn": "^8" @@ -10189,16 +9166,14 @@ }, "node_modules/acorn-jsx": { "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "node_modules/acorn-node": { "version": "1.8.2", - "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", - "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "license": "Apache-2.0", "dependencies": { "acorn": "^7.0.0", "acorn-walk": "^7.0.0", @@ -10207,8 +9182,7 @@ }, "node_modules/acorn-node/node_modules/acorn": { "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -10218,45 +9192,39 @@ }, "node_modules/acorn-node/node_modules/acorn-walk": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "license": "MIT", "engines": { "node": ">=0.4.0" } }, "node_modules/acorn-walk": { "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", "devOptional": true, + "license": "MIT", "engines": { "node": ">=0.4.0" } }, "node_modules/add-stream": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", - "integrity": "sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/address": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", - "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 10.0.0" } }, "node_modules/aes-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", - "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==" + "version": "4.0.0-beta.5", + "license": "MIT" }, "node_modules/agent-base": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "license": "MIT", "dependencies": { "debug": "4" }, @@ -10266,8 +9234,7 @@ }, "node_modules/aggregate-error": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "license": "MIT", "dependencies": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" @@ -10278,8 +9245,7 @@ }, "node_modules/ajv": { "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -10293,9 +9259,8 @@ }, "node_modules/ajv-formats": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "ajv": "^8.0.0" @@ -10311,9 +9276,8 @@ }, "node_modules/ajv-formats/node_modules/ajv": { "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", @@ -10328,53 +9292,46 @@ }, "node_modules/ajv-formats/node_modules/json-schema-traverse": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/ajv-keywords": { "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true, + "license": "MIT", "peerDependencies": { "ajv": "^6.9.1" } }, "node_modules/anser": { "version": "1.4.10", - "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz", - "integrity": "sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==" + "license": "MIT" }, "node_modules/ansi-align": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", - "integrity": "sha512-TdlOggdA/zURfMYa7ABC66j+oqfMew58KpJMbUlH3bcZP1b+cBHIHDDn5uH9INsxrHBPjsqM0tDB4jPTF/vgJA==", + "license": "ISC", "dependencies": { "string-width": "^2.0.0" } }, "node_modules/ansi-align/node_modules/ansi-regex": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/ansi-align/node_modules/is-fullwidth-code-point": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/ansi-align/node_modules/string-width": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "license": "MIT", "dependencies": { "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^4.0.0" @@ -10385,8 +9342,7 @@ }, "node_modules/ansi-align/node_modules/strip-ansi": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "license": "MIT", "dependencies": { "ansi-regex": "^3.0.0" }, @@ -10396,17 +9352,15 @@ }, "node_modules/ansi-colors": { "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", "devOptional": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/ansi-escapes": { "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "license": "MIT", "dependencies": { "type-fest": "^0.21.3" }, @@ -10482,16 +9436,14 @@ }, "node_modules/ansi-regex": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -10501,19 +9453,16 @@ }, "node_modules/any-base": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/any-base/-/any-base-1.1.0.tgz", - "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/any-promise": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" + "license": "MIT" }, "node_modules/anymatch": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -10529,9 +9478,8 @@ }, "node_modules/append-transform": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", - "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", "dev": true, + "license": "MIT", "dependencies": { "default-require-extensions": "^3.0.0" }, @@ -10541,13 +9489,10 @@ }, "node_modules/application-config-path": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/application-config-path/-/application-config-path-0.1.1.tgz", - "integrity": "sha512-zy9cHePtMP0YhwG+CfHm0bgwdnga2X3gZexpdCwEj//dpb+TKajtiC8REEUJUSq6Ab4f9cgNy2l8ObXzCXFkEw==" + "license": "MIT" }, "node_modules/arch": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", - "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", "funding": [ { "type": "github", @@ -10561,12 +9506,12 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/archiver": { "version": "5.3.2", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz", - "integrity": "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==", + "license": "MIT", "dependencies": { "archiver-utils": "^2.1.0", "async": "^3.2.4", @@ -10582,8 +9527,7 @@ }, "node_modules/archiver-utils": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", - "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", + "license": "MIT", "dependencies": { "glob": "^7.1.4", "graceful-fs": "^4.2.0", @@ -10602,13 +9546,11 @@ }, "node_modules/archiver-utils/node_modules/isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "license": "MIT" }, "node_modules/archiver-utils/node_modules/readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -10621,46 +9563,39 @@ }, "node_modules/archiver-utils/node_modules/safe-buffer": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "license": "MIT" }, "node_modules/archiver-utils/node_modules/string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/archy": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/arg": { "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "devOptional": true + "devOptional": true, + "license": "MIT" }, "node_modules/argparse": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + "license": "Python-2.0" }, "node_modules/aria-query": { "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "license": "Apache-2.0", "dependencies": { "deep-equal": "^2.0.5" } }, "node_modules/array-buffer-byte-length": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "is-array-buffer": "^3.0.1" @@ -10671,14 +9606,12 @@ }, "node_modules/array-ify": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", - "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/array-includes": { "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -10695,16 +9628,14 @@ }, "node_modules/array-union": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/array.prototype.findlastindex": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz", - "integrity": "sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -10721,8 +9652,7 @@ }, "node_modules/array.prototype.flat": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -10738,8 +9668,7 @@ }, "node_modules/array.prototype.flatmap": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -10755,8 +9684,7 @@ }, "node_modules/array.prototype.tosorted": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", - "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -10767,8 +9695,7 @@ }, "node_modules/arraybuffer.prototype.slice": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", - "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", + "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.0", "call-bind": "^1.0.2", @@ -10786,38 +9713,47 @@ }, "node_modules/arrify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/asap": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + "license": "MIT" }, "node_modules/asn1": { "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "license": "MIT", "dependencies": { "safer-buffer": "~2.1.0" } }, + "node_modules/asn1.js": { + "version": "5.4.1", + "license": "MIT", + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.12.0", + "license": "MIT" + }, "node_modules/assert-plus": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8" } }, "node_modules/ast-types": { "version": "0.15.2", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz", - "integrity": "sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==", + "license": "MIT", "dependencies": { "tslib": "^2.0.1" }, @@ -10827,58 +9763,49 @@ }, "node_modules/ast-types-flow": { "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" + "license": "ISC" }, "node_modules/astral-regex": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/async": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + "license": "MIT" }, "node_modules/async-limiter": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + "license": "MIT" }, "node_modules/async-lock": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/async-lock/-/async-lock-1.4.0.tgz", - "integrity": "sha512-coglx5yIWuetakm3/1dsX9hxCNox22h7+V80RQOu2XUUMidtArxKoZoOtHUPuR84SycKTXzgGzAUR5hJxujyJQ==" + "license": "MIT" }, "node_modules/asynciterator.prototype": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", - "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", + "license": "MIT", "dependencies": { "has-symbols": "^1.0.3" } }, "node_modules/asynckit": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "license": "MIT" }, "node_modules/at-least-node": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "license": "ISC", "engines": { "node": ">= 4.0.0" } }, "node_modules/atob": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "license": "(MIT OR Apache-2.0)", "bin": { "atob": "bin/atob.js" }, @@ -10888,8 +9815,6 @@ }, "node_modules/autoprefixer": { "version": "10.4.15", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.15.tgz", - "integrity": "sha512-KCuPB8ZCIqFdA4HwKXsvz7j6gvSDNhDP7WnUjBleRkKjPdvCmHFuQ77ocavI8FT6NdvlBnE2UFr2H4Mycn8Vew==", "funding": [ { "type": "opencollective", @@ -10904,6 +9829,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "peer": true, "dependencies": { "browserslist": "^4.21.10", @@ -10925,8 +9851,7 @@ }, "node_modules/available-typed-arrays": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -10936,63 +9861,54 @@ }, "node_modules/aws-sign2": { "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", "dev": true, + "license": "Apache-2.0", "engines": { "node": "*" } }, "node_modules/aws4": { "version": "1.12.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", - "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/axe-core": { "version": "4.7.2", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz", - "integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==", + "license": "MPL-2.0", "engines": { "node": ">=4" } }, "node_modules/axios": { "version": "0.25.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz", - "integrity": "sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==", "dev": true, + "license": "MIT", "dependencies": { "follow-redirects": "^1.14.7" } }, "node_modules/axobject-query": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", - "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "license": "Apache-2.0", "dependencies": { "dequal": "^2.0.3" } }, "node_modules/b4a": { "version": "1.6.4", - "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", - "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==" + "license": "ISC" }, "node_modules/babel-core": { "version": "7.0.0-bridge.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", - "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", + "license": "MIT", "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/babel-eslint": { "version": "10.1.0", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", - "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", - "deprecated": "babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", "@babel/parser": "^7.7.0", @@ -11010,17 +9926,15 @@ }, "node_modules/babel-eslint/node_modules/eslint-visitor-keys": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=4" } }, "node_modules/babel-jest": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.4.tgz", - "integrity": "sha512-meLj23UlSLddj6PC+YTOFRgDAtjnZom8w/ACsrx0gtPtv5cJZk0A5Unk5bV4wixD7XaPCN1fQvpww8czkZURmw==", + "license": "MIT", "dependencies": { "@jest/transform": "^29.6.4", "@types/babel__core": "^7.1.14", @@ -11039,8 +9953,7 @@ }, "node_modules/babel-jest/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -11053,8 +9966,7 @@ }, "node_modules/babel-jest/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -11068,8 +9980,7 @@ }, "node_modules/babel-jest/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -11079,21 +9990,18 @@ }, "node_modules/babel-jest/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/babel-jest/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/babel-jest/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -11103,9 +10011,8 @@ }, "node_modules/babel-loader": { "version": "9.1.3", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz", - "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "find-cache-dir": "^4.0.0", @@ -11121,8 +10028,7 @@ }, "node_modules/babel-plugin-istanbul": { "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "license": "BSD-3-Clause", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", @@ -11136,8 +10042,7 @@ }, "node_modules/babel-plugin-jest-hoist": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", - "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "license": "MIT", "dependencies": { "@babel/template": "^7.3.3", "@babel/types": "^7.3.3", @@ -11150,8 +10055,7 @@ }, "node_modules/babel-plugin-module-resolver": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-5.0.0.tgz", - "integrity": "sha512-g0u+/ChLSJ5+PzYwLwP8Rp8Rcfowz58TJNCe+L/ui4rpzE/mg//JVX0EWBUYoxaextqnwuGHzfGp2hh0PPV25Q==", + "license": "MIT", "dependencies": { "find-babel-config": "^2.0.0", "glob": "^8.0.3", @@ -11165,16 +10069,14 @@ }, "node_modules/babel-plugin-module-resolver/node_modules/brace-expansion": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/babel-plugin-module-resolver/node_modules/glob": { "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -11191,8 +10093,7 @@ }, "node_modules/babel-plugin-module-resolver/node_modules/minimatch": { "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -11202,8 +10103,7 @@ }, "node_modules/babel-plugin-polyfill-corejs2": { "version": "0.4.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz", - "integrity": "sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==", + "license": "MIT", "dependencies": { "@babel/compat-data": "^7.22.6", "@babel/helper-define-polyfill-provider": "^0.4.2", @@ -11215,16 +10115,14 @@ }, "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/babel-plugin-polyfill-corejs3": { "version": "0.8.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.3.tgz", - "integrity": "sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==", + "license": "MIT", "dependencies": { "@babel/helper-define-polyfill-provider": "^0.4.2", "core-js-compat": "^3.31.0" @@ -11235,8 +10133,7 @@ }, "node_modules/babel-plugin-polyfill-regenerator": { "version": "0.5.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz", - "integrity": "sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==", + "license": "MIT", "dependencies": { "@babel/helper-define-polyfill-provider": "^0.4.2" }, @@ -11246,8 +10143,7 @@ }, "node_modules/babel-plugin-react-native-web": { "version": "0.18.12", - "resolved": "https://registry.npmjs.org/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.18.12.tgz", - "integrity": "sha512-4djr9G6fMdwQoD6LQ7hOKAm39+y12flWgovAqS1k5O8f42YQ3A1FFMyV5kKfetZuGhZO5BmNmOdRRZQ1TixtDw==" + "license": "MIT" }, "node_modules/babel-plugin-syntax-trailing-function-commas": { "version": "7.0.0-beta.0", @@ -11256,22 +10152,19 @@ }, "node_modules/babel-plugin-transform-flow-enums": { "version": "0.0.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-enums/-/babel-plugin-transform-flow-enums-0.0.2.tgz", - "integrity": "sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==", + "license": "MIT", "dependencies": { "@babel/plugin-syntax-flow": "^7.12.1" } }, "node_modules/babel-plugin-transform-remove-console": { "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.4.tgz", - "integrity": "sha512-88blrUrMX3SPiGkT1GnvVY8E/7A+k6oj3MNvUtTIxJflFzXTw1bHkuJ/y039ouhFMp2prRn5cQGzokViYi1dsg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/babel-preset-current-node-syntax": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "license": "MIT", "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", @@ -11292,8 +10185,7 @@ }, "node_modules/babel-preset-expo": { "version": "9.5.1", - "resolved": "https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-9.5.1.tgz", - "integrity": "sha512-dOLhi5C1hNOAMFYjRlsP1axswMSf9MxX7zsez9kmwrm46cyev2l2ThQ8VdDig/YdwhNScd7sQ/lovrOTObk4Hg==", + "license": "MIT", "dependencies": { "@babel/plugin-proposal-decorators": "^7.12.9", "@babel/plugin-proposal-export-namespace-from": "^7.18.9", @@ -11344,8 +10236,7 @@ }, "node_modules/babel-preset-jest": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", - "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "license": "MIT", "dependencies": { "babel-plugin-jest-hoist": "^29.6.3", "babel-preset-current-node-syntax": "^1.0.0" @@ -11359,21 +10250,21 @@ }, "node_modules/balanced-match": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "license": "MIT" + }, + "node_modules/base-64": { + "version": "1.0.0", + "license": "MIT" }, "node_modules/base-x": { "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", + "license": "MIT", "dependencies": { "safe-buffer": "^5.0.1" } }, "node_modules/base64-js": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "funding": [ { "type": "github", @@ -11387,25 +10278,23 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/bcrypt-pbkdf": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "license": "BSD-3-Clause", "dependencies": { "tweetnacl": "^0.14.3" } }, "node_modules/bech32": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/bech32/-/bech32-2.0.0.tgz", - "integrity": "sha512-LcknSilhIGatDAsY1ak2I8VtGaHNhgMSYVxFrGLXv+xLHytaKZKcaUJJUE7qmBr7h33o5YQwP55pMI0xmkpJwg==" + "license": "MIT" }, "node_modules/better-opn": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-3.0.2.tgz", - "integrity": "sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==", + "license": "MIT", "dependencies": { "open": "^8.0.4" }, @@ -11415,40 +10304,35 @@ }, "node_modules/big-integer": { "version": "1.6.51", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", - "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", + "license": "Unlicense", "engines": { "node": ">=0.6" } }, "node_modules/bignumber.js": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.1.tgz", - "integrity": "sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==", + "version": "9.1.2", + "license": "MIT", "engines": { "node": "*" } }, "node_modules/binary-extensions": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/bindings": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "license": "MIT", "dependencies": { "file-uri-to-path": "1.0.0" } }, "node_modules/bip32": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/bip32/-/bip32-2.0.6.tgz", - "integrity": "sha512-HpV5OMLLGTjSVblmrtYRfFFKuQB+GArM0+XP8HGWfJ5vxYBqo+DesvJwOdC2WJ3bCkZShGf0QIfoIpeomVzVdA==", + "license": "MIT", "dependencies": { "@types/node": "10.12.18", "bs58check": "^2.1.1", @@ -11464,29 +10348,25 @@ }, "node_modules/bip32/node_modules/@types/node": { "version": "10.12.18", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.18.tgz", - "integrity": "sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ==" + "license": "MIT" }, "node_modules/bip39": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bip39/-/bip39-3.1.0.tgz", - "integrity": "sha512-c9kiwdk45Do5GL0vJMe7tS95VjCii65mYAH7DfWl3uW8AVzXKQVUm64i3hzVybBDMp9r7j9iNxR85+ul8MdN/A==", + "license": "ISC", "dependencies": { "@noble/hashes": "^1.2.0" } }, "node_modules/bip66": { "version": "1.1.5", - "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", - "integrity": "sha512-nemMHz95EmS38a26XbbdxIYj5csHd3RMP3H5bwQknX0WYHF01qhpufP42mLOwVICuH2JmhIhXiWs89MfUGL7Xw==", + "license": "MIT", "dependencies": { "safe-buffer": "^5.0.1" } }, "node_modules/bl": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "license": "MIT", "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", @@ -11495,8 +10375,6 @@ }, "node_modules/bl/node_modules/buffer": { "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "funding": [ { "type": "github", @@ -11511,6 +10389,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" @@ -11518,36 +10397,30 @@ }, "node_modules/blob-util": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", - "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", - "dev": true + "dev": true, + "license": "Apache-2.0" }, "node_modules/bluebird": { "version": "3.7.1", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.1.tgz", - "integrity": "sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/blueimp-md5": { "version": "2.19.0", - "resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.19.0.tgz", - "integrity": "sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==" + "license": "MIT" }, "node_modules/bmp-js": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.1.0.tgz", - "integrity": "sha512-vHdS19CnY3hwiNdkaqk93DvjVLfbEcI8mys4UjuWrlX1haDmroo8o4xCzh4wD6DGV6HxRCyauwhHRqMTfERtjw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/bn.js": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + "license": "MIT" }, "node_modules/body-parser": { "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "license": "MIT", "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.5", @@ -11569,21 +10442,18 @@ }, "node_modules/body-parser/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "license": "MIT" }, "node_modules/body-parser/node_modules/qs": { "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.0.4" }, @@ -11596,19 +10466,16 @@ }, "node_modules/boolbase": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + "license": "ISC" }, "node_modules/boolean": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz", - "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==", + "license": "MIT", "optional": true }, "node_modules/boxen": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", - "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", + "license": "MIT", "dependencies": { "ansi-align": "^2.0.0", "camelcase": "^4.0.0", @@ -11624,32 +10491,28 @@ }, "node_modules/boxen/node_modules/ansi-regex": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/boxen/node_modules/camelcase": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/boxen/node_modules/is-fullwidth-code-point": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/boxen/node_modules/string-width": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "license": "MIT", "dependencies": { "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^4.0.0" @@ -11660,8 +10523,7 @@ }, "node_modules/boxen/node_modules/strip-ansi": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "license": "MIT", "dependencies": { "ansi-regex": "^3.0.0" }, @@ -11671,16 +10533,14 @@ }, "node_modules/bplist-creator": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.1.0.tgz", - "integrity": "sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg==", + "license": "MIT", "dependencies": { "stream-buffers": "2.2.x" } }, "node_modules/bplist-parser": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.2.tgz", - "integrity": "sha512-apC2+fspHGI3mMKj+dGevkGo/tCqVB8jMb6i+OX+E29p0Iposz07fABkRIfVUPNd5A5VbuOz1bZbnmkKLYF+wQ==", + "license": "MIT", "dependencies": { "big-integer": "1.6.x" }, @@ -11690,8 +10550,7 @@ }, "node_modules/brace-expansion": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -11699,8 +10558,7 @@ }, "node_modules/braces": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "license": "MIT", "dependencies": { "fill-range": "^7.0.1" }, @@ -11710,13 +10568,11 @@ }, "node_modules/brorand": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" + "license": "MIT" }, "node_modules/browserify-aes": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "license": "MIT", "dependencies": { "buffer-xor": "^1.0.3", "cipher-base": "^1.0.0", @@ -11726,10 +10582,50 @@ "safe-buffer": "^5.0.1" } }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/browserify-des": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-rsa": { + "version": "4.1.0", + "license": "MIT", + "dependencies": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-sign": { + "version": "4.2.1", + "license": "ISC", + "dependencies": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, "node_modules/browserslist": { "version": "4.21.10", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", - "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", "funding": [ { "type": "opencollective", @@ -11744,6 +10640,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "caniuse-lite": "^1.0.30001517", "electron-to-chromium": "^1.4.477", @@ -11759,8 +10656,7 @@ }, "node_modules/bs-logger": { "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "license": "MIT", "dependencies": { "fast-json-stable-stringify": "2.x" }, @@ -11770,16 +10666,14 @@ }, "node_modules/bs58": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", + "license": "MIT", "dependencies": { "base-x": "^3.0.2" } }, "node_modules/bs58check": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", - "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", + "license": "MIT", "dependencies": { "bs58": "^4.0.0", "create-hash": "^1.1.0", @@ -11788,16 +10682,13 @@ }, "node_modules/bser": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "license": "Apache-2.0", "dependencies": { "node-int64": "^0.4.0" } }, "node_modules/buffer": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "funding": [ { "type": "github", @@ -11812,6 +10703,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" @@ -11819,8 +10711,7 @@ }, "node_modules/buffer-alloc": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "license": "MIT", "dependencies": { "buffer-alloc-unsafe": "^1.1.0", "buffer-fill": "^1.0.0" @@ -11828,59 +10719,53 @@ }, "node_modules/buffer-alloc-unsafe": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" + "license": "MIT" }, "node_modules/buffer-crc32": { "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "license": "MIT", "engines": { "node": "*" } }, "node_modules/buffer-equal": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", - "integrity": "sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.4.0" } }, "node_modules/buffer-fill": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==" + "license": "MIT" }, "node_modules/buffer-from": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + "license": "MIT" }, "node_modules/buffer-xor": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" + "license": "MIT" }, "node_modules/buildcheck": { "version": "0.0.6", - "resolved": "https://registry.npmjs.org/buildcheck/-/buildcheck-0.0.6.tgz", - "integrity": "sha512-8f9ZJCUXyT1M35Jx7MkBgmBMo3oHTTBIPLiY9xyL0pl3T5RwcPEY8cUHr5LBNfu/fk6c2T4DJZuVM/8ZZT2D2A==", "optional": true, "engines": { "node": ">=10.0.0" } }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "license": "MIT" + }, "node_modules/builtins": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", - "integrity": "sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==" + "license": "MIT" }, "node_modules/bundle-name": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", - "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==", + "license": "MIT", "dependencies": { "run-applescript": "^5.0.0" }, @@ -11893,8 +10778,6 @@ }, "node_modules/busboy": { "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", - "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", "dependencies": { "streamsearch": "^1.1.0" }, @@ -11904,24 +10787,21 @@ }, "node_modules/byline": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", - "integrity": "sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/bytes": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/cacache": { "version": "15.3.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", - "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", + "license": "ISC", "dependencies": { "@npmcli/fs": "^1.0.0", "@npmcli/move-file": "^1.0.1", @@ -11948,8 +10828,7 @@ }, "node_modules/cacache/node_modules/lru-cache": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -11959,8 +10838,7 @@ }, "node_modules/cacache/node_modules/mkdirp": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "license": "MIT", "bin": { "mkdirp": "bin/cmd.js" }, @@ -11970,8 +10848,7 @@ }, "node_modules/cacache/node_modules/rimraf": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -11984,16 +10861,14 @@ }, "node_modules/cacheable-lookup": { "version": "5.0.4", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", - "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", + "license": "MIT", "engines": { "node": ">=10.6.0" } }, "node_modules/cacheable-request": { "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz", - "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", + "license": "MIT", "dependencies": { "clone-response": "^1.0.2", "get-stream": "^5.1.0", @@ -12009,8 +10884,7 @@ }, "node_modules/cacheable-request/node_modules/normalize-url": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -12020,18 +10894,16 @@ }, "node_modules/cachedir": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.4.0.tgz", - "integrity": "sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/caching-transform": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", - "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", "dev": true, + "license": "MIT", "dependencies": { "hasha": "^5.0.0", "make-dir": "^3.0.0", @@ -12044,9 +10916,8 @@ }, "node_modules/caching-transform/node_modules/make-dir": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, + "license": "MIT", "dependencies": { "semver": "^6.0.0" }, @@ -12059,18 +10930,16 @@ }, "node_modules/caching-transform/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/caching-transform/node_modules/write-file-atomic": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", "dev": true, + "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", "is-typedarray": "^1.0.0", @@ -12080,8 +10949,7 @@ }, "node_modules/call-bind": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "license": "MIT", "dependencies": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" @@ -12122,32 +10990,28 @@ }, "node_modules/callsites": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/camelcase": { "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/camelcase-css": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "license": "MIT", "engines": { "node": ">= 6" } }, "node_modules/camelcase-keys": { "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "license": "MIT", "dependencies": { "camelcase": "^5.3.1", "map-obj": "^4.0.0", @@ -12162,24 +11026,20 @@ }, "node_modules/camelcase-keys/node_modules/quick-lru": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/camelize": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", - "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/caniuse-lite": { "version": "1.0.30001522", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001522.tgz", - "integrity": "sha512-TKiyTVZxJGhsTszLuzb+6vUZSjVOAhClszBr2Ta2k9IwtNBT/4dzmL6aywt0HCgEZlmwJzXJd8yNiob6HgwTRg==", "funding": [ { "type": "opencollective", @@ -12193,12 +11053,12 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/capture-stack-trace": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.2.tgz", - "integrity": "sha512-X/WM2UQs6VMHUtjUDnZTRI+i1crWteJySFzr9UpGoQa4WQffXVTTXuekjl7TjZRlcF2XfjgITT0HxZ9RnxeT0w==", + "license": "MIT", "engines": { "node": ">=0.10.0" }, @@ -12208,14 +11068,12 @@ }, "node_modules/caseless": { "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", - "dev": true + "dev": true, + "license": "Apache-2.0" }, "node_modules/chalk": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -12227,53 +11085,47 @@ }, "node_modules/chalk/node_modules/escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/char-regex": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/chardet": { "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/charenc": { "version": "0.0.2", - "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", - "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", + "license": "BSD-3-Clause", "engines": { "node": "*" } }, "node_modules/check-more-types": { "version": "2.24.0", - "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", - "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8.0" } }, "node_modules/chokidar": { "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "funding": [ { "type": "individual", "url": "https://paulmillr.com/funding/" } ], + "license": "MIT", "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -12292,8 +11144,7 @@ }, "node_modules/chokidar/node_modules/glob-parent": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -12303,17 +11154,15 @@ }, "node_modules/chownr": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "license": "ISC", "engines": { "node": ">=10" } }, "node_modules/chrome-trace-event": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=6.0" @@ -12321,22 +11170,20 @@ }, "node_modules/ci-info": { "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/sibiraj-s" } ], + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/cipher-base": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "license": "MIT", "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -12344,42 +11191,36 @@ }, "node_modules/citty": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.4.tgz", - "integrity": "sha512-Q3bK1huLxzQrvj7hImJ7Z1vKYJRPQCDnd0EjXfHMidcjecGOMuLrmuQmtWmFkuKLcMThlGh1yCKG8IEc6VeNXQ==", + "license": "MIT", "dependencies": { "consola": "^3.2.3" } }, "node_modules/cjs-module-lexer": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==" + "license": "MIT" }, "node_modules/classnames": { "version": "2.3.2", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", - "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" + "license": "MIT" }, "node_modules/clean-stack": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/cli-boxes": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", - "integrity": "sha512-3Fo5wu8Ytle8q9iCzS4D2MWVL2X7JVWRiS1BnXbTFDhS9c/REkM9vd1AmabsoZoY5/dGi5TT9iKL8Kb6DeBRQg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/cli-cursor": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "license": "MIT", "dependencies": { "restore-cursor": "^3.1.0" }, @@ -12389,8 +11230,7 @@ }, "node_modules/cli-spinners": { "version": "2.9.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz", - "integrity": "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==", + "license": "MIT", "engines": { "node": ">=6" }, @@ -12400,9 +11240,8 @@ }, "node_modules/cli-table3": { "version": "0.6.3", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", - "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", "dev": true, + "license": "MIT", "dependencies": { "string-width": "^4.2.0" }, @@ -12415,9 +11254,8 @@ }, "node_modules/cli-truncate": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", - "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", "dev": true, + "license": "MIT", "dependencies": { "slice-ansi": "^3.0.0", "string-width": "^4.2.0" @@ -12431,22 +11269,19 @@ }, "node_modules/cli-width": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", "dev": true, + "license": "ISC", "engines": { "node": ">= 10" } }, "node_modules/client-only": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", - "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" + "license": "MIT" }, "node_modules/clipboardy": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-3.0.0.tgz", - "integrity": "sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==", + "license": "MIT", "dependencies": { "arch": "^2.2.0", "execa": "^5.1.1", @@ -12461,8 +11296,7 @@ }, "node_modules/clipboardy/node_modules/execa": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", @@ -12483,8 +11317,7 @@ }, "node_modules/clipboardy/node_modules/get-stream": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -12494,16 +11327,14 @@ }, "node_modules/clipboardy/node_modules/human-signals": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", "engines": { "node": ">=10.17.0" } }, "node_modules/cliui": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -12515,16 +11346,14 @@ }, "node_modules/clone": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "license": "MIT", "engines": { "node": ">=0.8" } }, "node_modules/clone-deep": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "license": "MIT", "dependencies": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", @@ -12536,8 +11365,7 @@ }, "node_modules/clone-response": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", - "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "license": "MIT", "dependencies": { "mimic-response": "^1.0.0" }, @@ -12547,16 +11375,14 @@ }, "node_modules/cluster-key-slot": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz", - "integrity": "sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==", + "license": "Apache-2.0", "engines": { "node": ">=0.10.0" } }, "node_modules/co": { "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "license": "MIT", "engines": { "iojs": ">= 1.0.0", "node": ">= 0.12.0" @@ -12564,13 +11390,11 @@ }, "node_modules/collect-v8-coverage": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==" + "license": "MIT" }, "node_modules/color": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", - "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1", "color-string": "^1.9.0" @@ -12581,21 +11405,18 @@ }, "node_modules/color-convert": { "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, "node_modules/color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + "license": "MIT" }, "node_modules/color-string": { "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "license": "MIT", "dependencies": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" @@ -12603,8 +11424,7 @@ }, "node_modules/color/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -12614,27 +11434,23 @@ }, "node_modules/color/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/colorette": { "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" + "license": "MIT" }, "node_modules/colors": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.1.90" } }, "node_modules/combined-stream": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", "dependencies": { "delayed-stream": "~1.0.0" }, @@ -12644,44 +11460,38 @@ }, "node_modules/command-exists": { "version": "1.2.9", - "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", - "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" + "license": "MIT" }, "node_modules/commander": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 6" } }, "node_modules/common-path-prefix": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", "dev": true, + "license": "ISC", "peer": true }, "node_modules/common-tags": { "version": "1.8.2", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", - "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4.0.0" } }, "node_modules/commondir": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + "license": "MIT" }, "node_modules/compare-func": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", - "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", "dev": true, + "license": "MIT", "dependencies": { "array-ify": "^1.0.0", "dot-prop": "^5.1.0" @@ -12689,8 +11499,7 @@ }, "node_modules/compare-urls": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/compare-urls/-/compare-urls-2.0.0.tgz", - "integrity": "sha512-eCJcWn2OYFEIqbm70ta7LQowJOOZZqq1a2YbbFCFI1uwSvj+TWMwXVn7vPR1ceFNcAIt5RSTDbwdlX82gYLTkA==", + "license": "MIT", "dependencies": { "normalize-url": "^2.0.1" }, @@ -12700,18 +11509,15 @@ }, "node_modules/compare-versions": { "version": "3.6.0", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", - "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==" + "license": "MIT" }, "node_modules/component-type": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-type/-/component-type-1.2.1.tgz", - "integrity": "sha512-Kgy+2+Uwr75vAi6ChWXgHuLvd+QLD7ssgpaRq2zCvt80ptvAfMc/hijcJxXkBa2wMlEZcJvC2H8Ubo+A9ATHIg==" + "license": "MIT" }, "node_modules/compress-commons": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.2.tgz", - "integrity": "sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==", + "license": "MIT", "dependencies": { "buffer-crc32": "^0.2.13", "crc32-stream": "^4.0.2", @@ -12778,17 +11584,15 @@ }, "node_modules/concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "license": "MIT" }, "node_modules/concat-stream": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", - "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", "dev": true, "engines": [ "node >= 6.0" ], + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", @@ -12798,8 +11602,7 @@ }, "node_modules/configstore": { "version": "3.1.5", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.5.tgz", - "integrity": "sha512-nlOhI4+fdzoK5xmJ+NY+1gZK56bwEaWZr8fYuXohZ9Vkc1o3a4T/R3M+yE/w7x/ZVJ1zF8c+oaOvF0dztdUgmA==", + "license": "BSD-2-Clause", "dependencies": { "dot-prop": "^4.2.1", "graceful-fs": "^4.1.2", @@ -12814,16 +11617,14 @@ }, "node_modules/configstore/node_modules/crypto-random-string": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", - "integrity": "sha512-GsVpkFPlycH7/fRR7Dhcmnoii54gV1nz7y4CWyeFS14N+JVBBhY+r8amRHE4BwSYal7BPTDp8isvAlCxyFt3Hg==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/configstore/node_modules/dot-prop": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.1.tgz", - "integrity": "sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==", + "license": "MIT", "dependencies": { "is-obj": "^1.0.0" }, @@ -12833,16 +11634,14 @@ }, "node_modules/configstore/node_modules/is-obj": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/configstore/node_modules/make-dir": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "license": "MIT", "dependencies": { "pify": "^3.0.0" }, @@ -12852,16 +11651,14 @@ }, "node_modules/configstore/node_modules/pify": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/configstore/node_modules/unique-string": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", - "integrity": "sha512-ODgiYu03y5g76A1I9Gt0/chLCzQjvzDy7DsZGsLOE/1MrF6wriEskSncj1+/C58Xk/kPZDppSctDybCwOSaGAg==", + "license": "MIT", "dependencies": { "crypto-random-string": "^1.0.0" }, @@ -12871,13 +11668,11 @@ }, "node_modules/confusing-browser-globals": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", - "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" + "license": "MIT" }, "node_modules/connect": { "version": "3.7.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "license": "MIT", "dependencies": { "debug": "2.6.9", "finalhandler": "1.1.2", @@ -12890,38 +11685,33 @@ }, "node_modules/connect/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/connect/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "license": "MIT" }, "node_modules/consola": { "version": "3.2.3", - "resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz", - "integrity": "sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==", + "license": "MIT", "engines": { "node": "^14.18.0 || >=16.10.0" } }, "node_modules/content-type": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/conventional-changelog": { "version": "3.1.25", - "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.25.tgz", - "integrity": "sha512-ryhi3fd1mKf3fSjbLXOfK2D06YwKNic1nC9mWqybBHdObPd8KJ2vjaXZfYj1U23t+V8T8n0d7gwnc9XbIdFbyQ==", "dev": true, + "license": "MIT", "dependencies": { "conventional-changelog-angular": "^5.0.12", "conventional-changelog-atom": "^2.0.8", @@ -12941,9 +11731,8 @@ }, "node_modules/conventional-changelog-angular": { "version": "5.0.13", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", - "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", "dev": true, + "license": "ISC", "dependencies": { "compare-func": "^2.0.0", "q": "^1.5.1" @@ -12954,9 +11743,8 @@ }, "node_modules/conventional-changelog-atom": { "version": "2.0.8", - "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz", - "integrity": "sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw==", "dev": true, + "license": "ISC", "dependencies": { "q": "^1.5.1" }, @@ -12966,9 +11754,8 @@ }, "node_modules/conventional-changelog-codemirror": { "version": "2.0.8", - "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz", - "integrity": "sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw==", "dev": true, + "license": "ISC", "dependencies": { "q": "^1.5.1" }, @@ -12978,15 +11765,13 @@ }, "node_modules/conventional-changelog-config-spec": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-config-spec/-/conventional-changelog-config-spec-2.1.0.tgz", - "integrity": "sha512-IpVePh16EbbB02V+UA+HQnnPIohgXvJRxHcS5+Uwk4AT5LjzCZJm5sp/yqs5C6KZJ1jMsV4paEV13BN1pvDuxQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/conventional-changelog-conventionalcommits": { "version": "4.6.3", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz", - "integrity": "sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==", "dev": true, + "license": "ISC", "dependencies": { "compare-func": "^2.0.0", "lodash": "^4.17.15", @@ -12998,9 +11783,8 @@ }, "node_modules/conventional-changelog-core": { "version": "4.2.4", - "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz", - "integrity": "sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==", "dev": true, + "license": "MIT", "dependencies": { "add-stream": "^1.0.0", "conventional-changelog-writer": "^5.0.0", @@ -13023,18 +11807,16 @@ }, "node_modules/conventional-changelog-core/node_modules/through2": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", "dev": true, + "license": "MIT", "dependencies": { "readable-stream": "3" } }, "node_modules/conventional-changelog-ember": { "version": "2.0.9", - "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz", - "integrity": "sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A==", "dev": true, + "license": "ISC", "dependencies": { "q": "^1.5.1" }, @@ -13044,9 +11826,8 @@ }, "node_modules/conventional-changelog-eslint": { "version": "3.0.9", - "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz", - "integrity": "sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA==", "dev": true, + "license": "ISC", "dependencies": { "q": "^1.5.1" }, @@ -13056,9 +11837,8 @@ }, "node_modules/conventional-changelog-express": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz", - "integrity": "sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ==", "dev": true, + "license": "ISC", "dependencies": { "q": "^1.5.1" }, @@ -13068,9 +11848,8 @@ }, "node_modules/conventional-changelog-jquery": { "version": "3.0.11", - "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz", - "integrity": "sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw==", "dev": true, + "license": "ISC", "dependencies": { "q": "^1.5.1" }, @@ -13080,9 +11859,8 @@ }, "node_modules/conventional-changelog-jshint": { "version": "2.0.9", - "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz", - "integrity": "sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA==", "dev": true, + "license": "ISC", "dependencies": { "compare-func": "^2.0.0", "q": "^1.5.1" @@ -13093,18 +11871,16 @@ }, "node_modules/conventional-changelog-preset-loader": { "version": "2.3.4", - "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz", - "integrity": "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/conventional-changelog-writer": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz", - "integrity": "sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==", "dev": true, + "license": "MIT", "dependencies": { "conventional-commits-filter": "^2.0.7", "dateformat": "^3.0.0", @@ -13125,27 +11901,24 @@ }, "node_modules/conventional-changelog-writer/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/conventional-changelog-writer/node_modules/through2": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", "dev": true, + "license": "MIT", "dependencies": { "readable-stream": "3" } }, "node_modules/conventional-commits-filter": { "version": "2.0.7", - "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", - "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", "dev": true, + "license": "MIT", "dependencies": { "lodash.ismatch": "^4.4.0", "modify-values": "^1.0.0" @@ -13156,9 +11929,8 @@ }, "node_modules/conventional-commits-parser": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", - "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", "dev": true, + "license": "MIT", "dependencies": { "is-text-path": "^1.0.1", "JSONStream": "^1.0.4", @@ -13176,18 +11948,16 @@ }, "node_modules/conventional-commits-parser/node_modules/through2": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", "dev": true, + "license": "MIT", "dependencies": { "readable-stream": "3" } }, "node_modules/conventional-recommended-bump": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz", - "integrity": "sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==", "dev": true, + "license": "MIT", "dependencies": { "concat-stream": "^2.0.0", "conventional-changelog-preset-loader": "^2.3.4", @@ -13207,18 +11977,15 @@ }, "node_modules/convert-source-map": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + "license": "MIT" }, "node_modules/cookie-es": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.0.0.tgz", - "integrity": "sha512-mWYvfOLrfEc996hlKcdABeIiPHUPC6DM2QYZdGGOvhOTbA3tjm2eBwqlJpoFdjC89NI4Qt6h0Pu06Mp+1Pj5OQ==" + "license": "MIT" }, "node_modules/core-js-compat": { "version": "3.32.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.32.1.tgz", - "integrity": "sha512-GSvKDv4wE0bPnQtjklV101juQ85g6H3rm5PDP20mqlS5j0kXF3pP97YvAu5hl+uFHqMictp3b2VxOHljWMAtuA==", + "license": "MIT", "dependencies": { "browserslist": "^4.21.10" }, @@ -13229,14 +11996,12 @@ }, "node_modules/core-util-is": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + "license": "MIT" }, "node_modules/cosmiconfig": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", "dev": true, + "license": "MIT", "dependencies": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.1.0", @@ -13250,17 +12015,14 @@ }, "node_modules/cosmiconfig/node_modules/yaml": { "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", "dev": true, + "license": "ISC", "engines": { "node": ">= 6" } }, "node_modules/cpu-features": { "version": "0.0.9", - "resolved": "https://registry.npmjs.org/cpu-features/-/cpu-features-0.0.9.tgz", - "integrity": "sha512-AKjgn2rP2yJyfbepsmLfiYcmtNn/2eUvocUyM/09yB0YDiz39HteK/5/T4Onf0pmdYDMgkBoGvRLvEguzyL7wQ==", "hasInstallScript": true, "optional": true, "dependencies": { @@ -13273,8 +12035,7 @@ }, "node_modules/crc-32": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "license": "Apache-2.0", "bin": { "crc32": "bin/crc32.njs" }, @@ -13284,8 +12045,7 @@ }, "node_modules/crc32-stream": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.3.tgz", - "integrity": "sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==", + "license": "MIT", "dependencies": { "crc-32": "^1.2.0", "readable-stream": "^3.4.0" @@ -13294,10 +12054,21 @@ "node": ">= 10" } }, + "node_modules/create-ecdh": { + "version": "4.0.4", + "license": "MIT", + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.12.0", + "license": "MIT" + }, "node_modules/create-error-class": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", - "integrity": "sha512-gYTKKexFO3kh200H1Nit76sRwRtOY32vQd3jpAQKpLtZqyNsSQNfI4N7o3eP2wUjV35pTWKRYqFUDBvUha/Pkw==", + "license": "MIT", "dependencies": { "capture-stack-trace": "^1.0.0" }, @@ -13307,8 +12078,7 @@ }, "node_modules/create-hash": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "license": "MIT", "dependencies": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", @@ -13319,8 +12089,7 @@ }, "node_modules/create-hmac": { "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "license": "MIT", "dependencies": { "cipher-base": "^1.0.3", "create-hash": "^1.1.0", @@ -13332,22 +12101,19 @@ }, "node_modules/create-require": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "devOptional": true + "devOptional": true, + "license": "MIT" }, "node_modules/cross-fetch": { "version": "3.1.8", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", - "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", + "license": "MIT", "dependencies": { "node-fetch": "^2.6.12" } }, "node_modules/cross-spawn": { "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -13359,24 +12125,41 @@ }, "node_modules/crypt": { "version": "0.0.2", - "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", - "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", + "license": "BSD-3-Clause", + "engines": { + "node": "*" + } + }, + "node_modules/crypto-browserify": { + "version": "3.12.0", + "license": "MIT", + "dependencies": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + }, "engines": { "node": "*" } }, "node_modules/crypto-random-string": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/css": { "version": "2.2.4", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", - "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "source-map": "^0.6.1", @@ -13386,37 +12169,32 @@ }, "node_modules/css-color-keywords": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", - "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==", + "license": "ISC", "engines": { "node": ">=4" } }, "node_modules/css-color-names": { "version": "0.0.4", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha512-zj5D7X1U2h2zsXOAM8EyUREBnnts6H+Jm+d1M2DbiQQcUtnqgQsMrdo8JW9R80YFUmIdBZeMu5wvYM7hcgWP/Q==", + "license": "MIT", "engines": { "node": "*" } }, "node_modules/css-in-js-utils": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-3.1.0.tgz", - "integrity": "sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A==", + "license": "MIT", "dependencies": { "hyphenate-style-name": "^1.0.3" } }, "node_modules/css-mediaquery": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/css-mediaquery/-/css-mediaquery-0.1.2.tgz", - "integrity": "sha512-COtn4EROW5dBGlE/4PiKnh6rZpAPxDeFLaEEwt4i10jpDMFt2EhQGS79QmmrO+iKCHv0PU/HrOWEhijFd1x99Q==" + "license": "BSD" }, "node_modules/css-select": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.1.0", @@ -13430,8 +12208,7 @@ }, "node_modules/css-to-react-native": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz", - "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==", + "license": "MIT", "dependencies": { "camelize": "^1.0.0", "css-color-keywords": "^1.0.0", @@ -13440,8 +12217,7 @@ }, "node_modules/css-tree": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "license": "MIT", "dependencies": { "mdn-data": "2.0.14", "source-map": "^0.6.1" @@ -13452,13 +12228,11 @@ }, "node_modules/css-unit-converter": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.2.tgz", - "integrity": "sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==" + "license": "MIT" }, "node_modules/css-what": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "license": "BSD-2-Clause", "engines": { "node": ">= 6" }, @@ -13468,8 +12242,7 @@ }, "node_modules/cssesc": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", "bin": { "cssesc": "bin/cssesc" }, @@ -13479,20 +12252,17 @@ }, "node_modules/cssfilter": { "version": "0.0.10", - "resolved": "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz", - "integrity": "sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==" + "license": "MIT" }, "node_modules/cssom": { "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", - "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/cssstyle": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", "dev": true, + "license": "MIT", "dependencies": { "cssom": "~0.3.6" }, @@ -13502,21 +12272,18 @@ }, "node_modules/cssstyle/node_modules/cssom": { "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/csstype": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + "license": "MIT" }, "node_modules/cypress": { "version": "10.11.0", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-10.11.0.tgz", - "integrity": "sha512-lsaE7dprw5DoXM00skni6W5ElVVLGAdRUUdZjX2dYsGjbY/QnpzWZ95Zom1mkGg0hAaO/QVTZoFVS7Jgr/GUPA==", "dev": true, "hasInstallScript": true, + "license": "MIT", "dependencies": { "@cypress/request": "^2.88.10", "@cypress/xvfb": "^1.2.4", @@ -13570,9 +12337,8 @@ }, "node_modules/cypress-image-diff-js": { "version": "1.27.3", - "resolved": "https://registry.npmjs.org/cypress-image-diff-js/-/cypress-image-diff-js-1.27.3.tgz", - "integrity": "sha512-bKKe8va8UgEqbryAezvSa9COc4bdUQkT+x11/8/b6lJhvpp161Z4g0neKNgWOSG2ZNBmxLG7/CqfLTJD25hgbw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.12.5", "@colors/colors": "^1.5.0", @@ -13592,9 +12358,8 @@ }, "node_modules/cypress-image-diff-js/node_modules/fs-extra": { "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, + "license": "MIT", "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", @@ -13607,24 +12372,21 @@ }, "node_modules/cypress-recurse": { "version": "1.35.2", - "resolved": "https://registry.npmjs.org/cypress-recurse/-/cypress-recurse-1.35.2.tgz", - "integrity": "sha512-G6HfxP90xa7phw8oeOX4uabxcI9gE1ktkKHShcA3nCByrkMLs56+GIJVn0A+ws1tI0PGRKBz6+V9DHS5WnZX4A==", "dev": true, + "license": "MIT", "dependencies": { "humanize-duration": "^3.27.3" } }, "node_modules/cypress/node_modules/@types/node": { "version": "14.18.54", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.54.tgz", - "integrity": "sha512-uq7O52wvo2Lggsx1x21tKZgqkJpvwCseBBPtX/nKQfpVlEsLOb11zZ1CRsWUKvJF0+lzuA9jwvA7Pr2Wt7i3xw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/cypress/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -13637,14 +12399,11 @@ }, "node_modules/cypress/node_modules/bluebird": { "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/cypress/node_modules/buffer": { "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, "funding": [ { @@ -13660,6 +12419,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" @@ -13667,9 +12427,8 @@ }, "node_modules/cypress/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -13683,9 +12442,8 @@ }, "node_modules/cypress/node_modules/chalk/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -13695,9 +12453,8 @@ }, "node_modules/cypress/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -13707,15 +12464,13 @@ }, "node_modules/cypress/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/cypress/node_modules/fs-extra": { "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, + "license": "MIT", "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", @@ -13728,18 +12483,16 @@ }, "node_modules/cypress/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/cypress/node_modules/supports-color": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -13752,28 +12505,24 @@ }, "node_modules/dag-map": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/dag-map/-/dag-map-1.0.2.tgz", - "integrity": "sha512-+LSAiGFwQ9dRnRdOeaj7g47ZFJcOUPukAP8J3A3fuZ1g9Y44BG+P1sgApjLXTQPOzC4+7S9Wr8kXsfpINM4jpw==" + "license": "MIT" }, "node_modules/damerau-levenshtein": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" + "license": "BSD-2-Clause" }, "node_modules/dargs": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", - "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/dashdash": { "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", "dev": true, + "license": "MIT", "dependencies": { "assert-plus": "^1.0.0" }, @@ -13783,9 +12532,8 @@ }, "node_modules/data-urls": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", - "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", "dev": true, + "license": "MIT", "dependencies": { "abab": "^2.0.6", "whatwg-mimetype": "^3.0.0", @@ -13797,22 +12545,19 @@ }, "node_modules/dateformat": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", - "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", "dev": true, + "license": "MIT", "engines": { "node": "*" } }, "node_modules/dayjs": { "version": "1.11.9", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.9.tgz", - "integrity": "sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==" + "license": "MIT" }, "node_modules/debug": { "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -13827,16 +12572,14 @@ }, "node_modules/decamelize": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/decamelize-keys": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", - "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "license": "MIT", "dependencies": { "decamelize": "^1.1.0", "map-obj": "^1.0.0" @@ -13850,30 +12593,26 @@ }, "node_modules/decamelize-keys/node_modules/map-obj": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/decimal.js": { "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/decode-uri-component": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "license": "MIT", "engines": { "node": ">=0.10" } }, "node_modules/decompress-response": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "license": "MIT", "dependencies": { "mimic-response": "^3.1.0" }, @@ -13886,8 +12625,7 @@ }, "node_modules/decompress-response/node_modules/mimic-response": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -13897,8 +12635,7 @@ }, "node_modules/dedent": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", - "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "license": "MIT", "peerDependencies": { "babel-plugin-macros": "^3.1.0" }, @@ -13910,8 +12647,7 @@ }, "node_modules/deep-equal": { "version": "2.2.2", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.2.tgz", - "integrity": "sha512-xjVyBf0w5vH0I42jdAZzOKVldmPgSulmiyPRywoyq7HXC9qdgo17kxJE+rdnif5Tz6+pIrpJI8dCpMNLIGkUiA==", + "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.0", "call-bind": "^1.0.2", @@ -13938,29 +12674,25 @@ }, "node_modules/deep-extend": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "license": "MIT", "engines": { "node": ">=4.0.0" } }, "node_modules/deep-is": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + "license": "MIT" }, "node_modules/deepmerge": { "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/default-browser": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz", - "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==", + "license": "MIT", "dependencies": { "bundle-name": "^3.0.0", "default-browser-id": "^3.0.0", @@ -13976,8 +12708,7 @@ }, "node_modules/default-browser-id": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz", - "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", + "license": "MIT", "dependencies": { "bplist-parser": "^0.2.0", "untildify": "^4.0.0" @@ -13991,8 +12722,7 @@ }, "node_modules/default-browser-id/node_modules/bplist-parser": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", - "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", + "license": "MIT", "dependencies": { "big-integer": "^1.6.44" }, @@ -14002,8 +12732,7 @@ }, "node_modules/default-browser/node_modules/execa": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", - "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.1", @@ -14024,8 +12753,7 @@ }, "node_modules/default-browser/node_modules/get-stream": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -14035,16 +12763,14 @@ }, "node_modules/default-browser/node_modules/human-signals": { "version": "4.3.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", - "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "license": "Apache-2.0", "engines": { "node": ">=14.18.0" } }, "node_modules/default-browser/node_modules/is-stream": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, @@ -14054,8 +12780,7 @@ }, "node_modules/default-browser/node_modules/mimic-fn": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -14065,8 +12790,7 @@ }, "node_modules/default-browser/node_modules/npm-run-path": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", - "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "license": "MIT", "dependencies": { "path-key": "^4.0.0" }, @@ -14079,8 +12803,7 @@ }, "node_modules/default-browser/node_modules/onetime": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "license": "MIT", "dependencies": { "mimic-fn": "^4.0.0" }, @@ -14093,8 +12816,7 @@ }, "node_modules/default-browser/node_modules/path-key": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -14104,8 +12826,7 @@ }, "node_modules/default-browser/node_modules/strip-final-newline": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -14115,8 +12836,7 @@ }, "node_modules/default-gateway": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", - "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "license": "BSD-2-Clause", "dependencies": { "execa": "^1.0.0", "ip-regex": "^2.1.0" @@ -14127,8 +12847,7 @@ }, "node_modules/default-gateway/node_modules/cross-spawn": { "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "license": "MIT", "dependencies": { "nice-try": "^1.0.4", "path-key": "^2.0.1", @@ -14142,8 +12861,7 @@ }, "node_modules/default-gateway/node_modules/execa": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "license": "MIT", "dependencies": { "cross-spawn": "^6.0.0", "get-stream": "^4.0.0", @@ -14159,8 +12877,7 @@ }, "node_modules/default-gateway/node_modules/get-stream": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "license": "MIT", "dependencies": { "pump": "^3.0.0" }, @@ -14170,16 +12887,14 @@ }, "node_modules/default-gateway/node_modules/is-stream": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/default-gateway/node_modules/npm-run-path": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "license": "MIT", "dependencies": { "path-key": "^2.0.0" }, @@ -14189,24 +12904,21 @@ }, "node_modules/default-gateway/node_modules/path-key": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/default-gateway/node_modules/semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/default-gateway/node_modules/shebang-command": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "license": "MIT", "dependencies": { "shebang-regex": "^1.0.0" }, @@ -14216,16 +12928,14 @@ }, "node_modules/default-gateway/node_modules/shebang-regex": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/default-gateway/node_modules/which": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -14235,9 +12945,8 @@ }, "node_modules/default-require-extensions": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.1.tgz", - "integrity": "sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==", "dev": true, + "license": "MIT", "dependencies": { "strip-bom": "^4.0.0" }, @@ -14250,8 +12959,7 @@ }, "node_modules/defaults": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "license": "MIT", "dependencies": { "clone": "^1.0.2" }, @@ -14261,40 +12969,41 @@ }, "node_modules/defaults/node_modules/clone": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "license": "MIT", "engines": { "node": ">=0.8" } }, "node_modules/defer-to-connect": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/defichain": { - "version": "4.0.0-rc.1.2", - "resolved": "https://registry.npmjs.org/defichain/-/defichain-4.0.0-rc.1.2.tgz", - "integrity": "sha512-GKZ14ci0X+kJyYqU+GXS3Bwcc9GJq8yrDR5WXbwKIKKbUJbkntQIWAUGNOrDUqjOkhHIcbdx/9JKOqvash5r5g==", + "version": "4.0.0-beta.14.1", + "license": "MIT", + "workspaces": [ + "./", + "./apps", + "./website", + "./packages/*" + ], "engines": { "node": ">=v16.17.0" } }, "node_modules/define-lazy-prop": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/define-properties": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "license": "MIT", "dependencies": { "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" @@ -14308,21 +13017,18 @@ }, "node_modules/defined": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", - "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/defu": { "version": "6.1.2", - "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.2.tgz", - "integrity": "sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==" + "license": "MIT" }, "node_modules/del": { "version": "6.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", - "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", + "license": "MIT", "dependencies": { "globby": "^11.0.1", "graceful-fs": "^4.2.4", @@ -14342,8 +13048,7 @@ }, "node_modules/del/node_modules/rimraf": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -14356,8 +13061,7 @@ }, "node_modules/delayed-stream": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", "engines": { "node": ">=0.4.0" } @@ -14369,24 +13073,21 @@ }, "node_modules/denque": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", - "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==", + "license": "Apache-2.0", "engines": { "node": ">=0.10" } }, "node_modules/depd": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/deprecated-react-native-prop-types": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-4.1.0.tgz", - "integrity": "sha512-WfepZHmRbbdTvhcolb8aOKEvQdcmTMn5tKLbqbXmkBvjFjRVWAYqsXk/DBsV8TZxws8SdGHLuHaJrHSQUPRdfw==", + "license": "MIT", "dependencies": { "@react-native/normalize-colors": "*", "invariant": "*", @@ -14395,21 +13096,26 @@ }, "node_modules/dequal": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", "engines": { "node": ">=6" } }, + "node_modules/des.js": { + "version": "1.1.0", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, "node_modules/destr": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.1.tgz", - "integrity": "sha512-M1Ob1zPSIvlARiJUkKqvAZ3VAqQY6Jcuth/pBKQ2b1dX/Qx0OnJ8Vux6J2H5PTMQeRzWrrbTu70VxBfv/OPDJA==" + "license": "MIT" }, "node_modules/destroy": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", "engines": { "node": ">= 0.8", "npm": "1.2.8000 || >= 1.4.16" @@ -14417,17 +13123,15 @@ }, "node_modules/detect-indent": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", - "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/detect-libc": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "license": "Apache-2.0", "bin": { "detect-libc": "bin/detect-libc.js" }, @@ -14437,23 +13141,20 @@ }, "node_modules/detect-newline": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/detect-node": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "license": "MIT", "optional": true }, "node_modules/detect-port-alt": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", - "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", "dev": true, + "license": "MIT", "dependencies": { "address": "^1.0.1", "debug": "^2.6.0" @@ -14468,23 +13169,20 @@ }, "node_modules/detect-port-alt/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/detect-port-alt/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/detective": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", - "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "license": "MIT", "dependencies": { "acorn-node": "^1.8.2", "defined": "^1.0.0", @@ -14499,30 +13197,39 @@ }, "node_modules/didyoumean": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + "license": "Apache-2.0" }, "node_modules/diff": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "devOptional": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" } }, "node_modules/diff-sequences": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "license": "MIT", + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.12.0", + "license": "MIT" + }, "node_modules/dir-glob": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "license": "MIT", "dependencies": { "path-type": "^4.0.0" }, @@ -14532,13 +13239,11 @@ }, "node_modules/dlv": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + "license": "MIT" }, "node_modules/docker-compose": { "version": "0.24.2", - "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.24.2.tgz", - "integrity": "sha512-2/WLvA7UZ6A2LDLQrYW0idKipmNBWhtfvrn2yzjC5PnHDzuFVj1zAZN6MJxVMKP0zZH8uzAK6OwVZYHGuyCmTw==", + "license": "MIT", "dependencies": { "yaml": "^2.2.2" }, @@ -14548,8 +13253,7 @@ }, "node_modules/docker-modem": { "version": "3.0.8", - "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-3.0.8.tgz", - "integrity": "sha512-f0ReSURdM3pcKPNS30mxOHSbaFLcknGmQjwSfmbcdOw1XWKXVhukM3NJHhr7NpY9BIyyWQb0EBo3KQvvuU5egQ==", + "license": "Apache-2.0", "dependencies": { "debug": "^4.1.1", "readable-stream": "^3.5.0", @@ -14562,8 +13266,7 @@ }, "node_modules/dockerode": { "version": "3.3.5", - "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-3.3.5.tgz", - "integrity": "sha512-/0YNa3ZDNeLr/tSckmD69+Gq+qVNhvKfAHNeZJBnp7EOP6RGKV8ORrJHkUn20So5wU+xxT7+1n5u8PjHbfjbSA==", + "license": "Apache-2.0", "dependencies": { "@balena/dockerignore": "^1.0.2", "docker-modem": "^3.0.0", @@ -14575,13 +13278,11 @@ }, "node_modules/dockerode/node_modules/chownr": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + "license": "ISC" }, "node_modules/dockerode/node_modules/tar-fs": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.0.1.tgz", - "integrity": "sha512-6tzWDMeroL87uF/+lin46k+Q+46rAJ0SyPGz7OW7wTgblI273hsBqk2C1j0/xNadNLKDTUL9BukSjB7cwgmlPA==", + "license": "MIT", "dependencies": { "chownr": "^1.1.1", "mkdirp-classic": "^0.5.2", @@ -14591,8 +13292,7 @@ }, "node_modules/doctrine": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -14602,14 +13302,12 @@ }, "node_modules/dom-accessibility-api": { "version": "0.5.16", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/dom-helpers": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", - "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.8.7", "csstype": "^3.0.2" @@ -14617,8 +13315,7 @@ }, "node_modules/dom-serializer": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "license": "MIT", "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", @@ -14630,26 +13327,22 @@ }, "node_modules/dom-walk": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", - "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==", "dev": true }, "node_modules/domelementtype": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/fb55" } - ] + ], + "license": "BSD-2-Clause" }, "node_modules/domexception": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", - "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", "dev": true, + "license": "MIT", "dependencies": { "webidl-conversions": "^7.0.0" }, @@ -14659,8 +13352,7 @@ }, "node_modules/domhandler": { "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", "dependencies": { "domelementtype": "^2.3.0" }, @@ -14673,8 +13365,7 @@ }, "node_modules/domutils": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "license": "BSD-2-Clause", "dependencies": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", @@ -14686,9 +13377,8 @@ }, "node_modules/dot-prop": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", "dev": true, + "license": "MIT", "dependencies": { "is-obj": "^2.0.0" }, @@ -14698,25 +13388,22 @@ }, "node_modules/dotenv": { "version": "16.0.3", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", - "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", + "license": "BSD-2-Clause", "engines": { "node": ">=12" } }, "node_modules/dotenv-expand": { "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-10.0.0.tgz", - "integrity": "sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==", + "license": "BSD-2-Clause", "engines": { "node": ">=12" } }, "node_modules/dotgitignore": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/dotgitignore/-/dotgitignore-2.1.0.tgz", - "integrity": "sha512-sCm11ak2oY6DglEPpCB8TixLjWAxd3kJTs6UIcSasNYxXdFPV+YKlye92c8H4kKFqV5qYMIh7d+cYecEg0dIkA==", "dev": true, + "license": "ISC", "dependencies": { "find-up": "^3.0.0", "minimatch": "^3.0.4" @@ -14727,9 +13414,8 @@ }, "node_modules/dotgitignore/node_modules/find-up": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^3.0.0" }, @@ -14739,9 +13425,8 @@ }, "node_modules/dotgitignore/node_modules/locate-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" @@ -14752,9 +13437,8 @@ }, "node_modules/dotgitignore/node_modules/p-limit": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -14767,9 +13451,8 @@ }, "node_modules/dotgitignore/node_modules/p-locate": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^2.0.0" }, @@ -14779,34 +13462,29 @@ }, "node_modules/dotgitignore/node_modules/path-exists": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/duplexer": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/duplexer3": { "version": "0.1.5", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", - "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==" + "license": "BSD-3-Clause" }, "node_modules/eastasianwidth": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + "license": "MIT" }, "node_modules/ecc-jsbn": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", "dev": true, + "license": "MIT", "dependencies": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" @@ -14814,14 +13492,12 @@ }, "node_modules/ee-first": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + "license": "MIT" }, "node_modules/electron": { "version": "23.3.13", - "resolved": "https://registry.npmjs.org/electron/-/electron-23.3.13.tgz", - "integrity": "sha512-BaXtHEb+KYKLouUXlUVDa/lj9pj4F5kiE0kwFdJV84Y2EU7euIDgPthfKtchhr5MVHmjtavRMIV/zAwEiSQ9rQ==", "hasInstallScript": true, + "license": "MIT", "dependencies": { "@electron/get": "^2.0.0", "@types/node": "^16.11.26", @@ -14836,18 +13512,15 @@ }, "node_modules/electron-to-chromium": { "version": "1.4.498", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.498.tgz", - "integrity": "sha512-4LODxAzKGVy7CJyhhN5mebwe7U2L29P+0G+HUriHnabm0d7LSff8Yn7t+Wq+2/9ze2Fu1dhX7mww090xfv7qXQ==" + "license": "ISC" }, "node_modules/electron/node_modules/@types/node": { "version": "16.18.41", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.41.tgz", - "integrity": "sha512-YZJjn+Aaw0xihnpdImxI22jqGbp0DCgTFKRycygjGx/Y27NnWFJa5FJ7P+MRT3u07dogEeMVh70pWpbIQollTA==" + "license": "MIT" }, "node_modules/elliptic": { "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "license": "MIT", "dependencies": { "bn.js": "^4.11.9", "brorand": "^1.1.0", @@ -14860,13 +13533,11 @@ }, "node_modules/elliptic/node_modules/bn.js": { "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "license": "MIT" }, "node_modules/emittery": { "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -14876,29 +13547,25 @@ }, "node_modules/emoji-regex": { "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + "license": "MIT" }, "node_modules/encodeurl": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/end-of-stream": { "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "license": "MIT", "dependencies": { "once": "^1.4.0" } }, "node_modules/enhanced-resolve": { "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -14909,9 +13576,8 @@ }, "node_modules/enquirer": { "version": "2.4.1", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", - "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", "devOptional": true, + "license": "MIT", "dependencies": { "ansi-colors": "^4.1.1", "strip-ansi": "^6.0.1" @@ -14922,8 +13588,7 @@ }, "node_modules/entities": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", "engines": { "node": ">=0.12" }, @@ -14933,16 +13598,14 @@ }, "node_modules/env-editor": { "version": "0.4.2", - "resolved": "https://registry.npmjs.org/env-editor/-/env-editor-0.4.2.tgz", - "integrity": "sha512-ObFo8v4rQJAE59M69QzwloxPZtd33TpYEIjtKD1rrFDcM1Gd7IkDxEBU+HriziN6HSHQnBJi8Dmy+JWkav5HKA==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/env-paths": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "license": "MIT", "engines": { "node": ">=6" } @@ -14960,13 +13623,11 @@ }, "node_modules/eol": { "version": "0.9.1", - "resolved": "https://registry.npmjs.org/eol/-/eol-0.9.1.tgz", - "integrity": "sha512-Ds/TEoZjwggRoz/Q2O7SE3i4Jm66mqTDfmdHdq/7DKVk3bro9Q8h6WdXKdPqFLMoqxrDK5SVRzHVPOS6uuGtrg==" + "license": "MIT" }, "node_modules/error-ex": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" } @@ -14993,8 +13654,7 @@ }, "node_modules/es-abstract": { "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", + "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.0", "arraybuffer.prototype.slice": "^1.0.1", @@ -15045,8 +13705,7 @@ }, "node_modules/es-get-iterator": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", - "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.3", @@ -15064,8 +13723,7 @@ }, "node_modules/es-iterator-helpers": { "version": "1.0.13", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.13.tgz", - "integrity": "sha512-LK3VGwzvaPWobO8xzXXGRUOGw8Dcjyfk62CsY/wfHN75CwsJPbuypOYJxK6g5RyEL8YDjIWcl6jgd8foO6mmrA==", + "license": "MIT", "dependencies": { "asynciterator.prototype": "^1.0.0", "call-bind": "^1.0.2", @@ -15085,15 +13743,13 @@ }, "node_modules/es-module-lexer": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", - "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/es-set-tostringtag": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "license": "MIT", "dependencies": { "get-intrinsic": "^1.1.3", "has": "^1.0.3", @@ -15105,16 +13761,14 @@ }, "node_modules/es-shim-unscopables": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "license": "MIT", "dependencies": { "has": "^1.0.3" } }, "node_modules/es-to-primitive": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "license": "MIT", "dependencies": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -15129,27 +13783,23 @@ }, "node_modules/es6-error": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "devOptional": true + "devOptional": true, + "license": "MIT" }, "node_modules/escalade": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/escape-html": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + "license": "MIT" }, "node_modules/escape-string-regexp": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -15159,9 +13809,8 @@ }, "node_modules/escodegen": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", - "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esprima": "^4.0.1", "estraverse": "^5.2.0", @@ -15179,14 +13828,13 @@ } }, "node_modules/eslint": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.50.0.tgz", - "integrity": "sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==", + "version": "8.51.0", + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.50.0", + "@eslint/js": "8.51.0", "@humanwhocodes/config-array": "^0.11.11", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", @@ -15233,8 +13881,7 @@ }, "node_modules/eslint-config-airbnb": { "version": "19.0.4", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-19.0.4.tgz", - "integrity": "sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew==", + "license": "MIT", "dependencies": { "eslint-config-airbnb-base": "^15.0.0", "object.assign": "^4.1.2", @@ -15253,8 +13900,7 @@ }, "node_modules/eslint-config-airbnb-base": { "version": "15.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz", - "integrity": "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==", + "license": "MIT", "dependencies": { "confusing-browser-globals": "^1.0.10", "object.assign": "^4.1.2", @@ -15271,16 +13917,14 @@ }, "node_modules/eslint-config-airbnb-base/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/eslint-config-airbnb-typescript": { "version": "17.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb-typescript/-/eslint-config-airbnb-typescript-17.1.0.tgz", - "integrity": "sha512-GPxI5URre6dDpJ0CtcthSZVBAfI+Uw7un5OYNVxP2EYi3H81Jw701yFP7AU+/vCE7xBtFmjge7kfhhk4+RAiig==", + "license": "MIT", "dependencies": { "eslint-config-airbnb-base": "^15.0.0" }, @@ -15293,9 +13937,8 @@ }, "node_modules/eslint-config-esnext": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-esnext/-/eslint-config-esnext-4.1.0.tgz", - "integrity": "sha512-GhfVEXdqYKEIIj7j+Fw2SQdL9qyZMekgXfq6PyXM66cQw0B435ddjz3P3kxOBVihMRJ0xGYjosaveQz5Y6z0uA==", "dev": true, + "license": "ISC", "dependencies": { "babel-eslint": "^10.0.1", "eslint": "^6.8.0", @@ -15308,9 +13951,8 @@ }, "node_modules/eslint-config-esnext/node_modules/acorn": { "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -15320,27 +13962,24 @@ }, "node_modules/eslint-config-esnext/node_modules/ansi-regex": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/eslint-config-esnext/node_modules/argparse": { "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, + "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } }, "node_modules/eslint-config-esnext/node_modules/cross-spawn": { "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, + "license": "MIT", "dependencies": { "nice-try": "^1.0.4", "path-key": "^2.0.1", @@ -15354,18 +13993,16 @@ }, "node_modules/eslint-config-esnext/node_modules/cross-spawn/node_modules/semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/eslint-config-esnext/node_modules/eslint": { "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", - "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", "ajv": "^6.10.0", @@ -15417,9 +14054,8 @@ }, "node_modules/eslint-config-esnext/node_modules/eslint-scope": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -15430,9 +14066,8 @@ }, "node_modules/eslint-config-esnext/node_modules/eslint-utils": { "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", "dev": true, + "license": "MIT", "dependencies": { "eslint-visitor-keys": "^1.1.0" }, @@ -15442,18 +14077,16 @@ }, "node_modules/eslint-config-esnext/node_modules/eslint-visitor-keys": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=4" } }, "node_modules/eslint-config-esnext/node_modules/espree": { "version": "6.2.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", - "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "acorn": "^7.1.1", "acorn-jsx": "^5.2.0", @@ -15465,18 +14098,16 @@ }, "node_modules/eslint-config-esnext/node_modules/estraverse": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/eslint-config-esnext/node_modules/file-entry-cache": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", "dev": true, + "license": "MIT", "dependencies": { "flat-cache": "^2.0.1" }, @@ -15486,9 +14117,8 @@ }, "node_modules/eslint-config-esnext/node_modules/flat-cache": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", "dev": true, + "license": "MIT", "dependencies": { "flatted": "^2.0.0", "rimraf": "2.6.3", @@ -15500,15 +14130,13 @@ }, "node_modules/eslint-config-esnext/node_modules/flatted": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/eslint-config-esnext/node_modules/glob-parent": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -15518,9 +14146,8 @@ }, "node_modules/eslint-config-esnext/node_modules/globals": { "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", "dev": true, + "license": "MIT", "dependencies": { "type-fest": "^0.8.1" }, @@ -15533,18 +14160,16 @@ }, "node_modules/eslint-config-esnext/node_modules/ignore": { "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/eslint-config-esnext/node_modules/js-yaml": { "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -15555,9 +14180,8 @@ }, "node_modules/eslint-config-esnext/node_modules/levn": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "~1.1.2", "type-check": "~0.3.2" @@ -15568,9 +14192,8 @@ }, "node_modules/eslint-config-esnext/node_modules/mkdirp": { "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, + "license": "MIT", "dependencies": { "minimist": "^1.2.6" }, @@ -15580,9 +14203,8 @@ }, "node_modules/eslint-config-esnext/node_modules/optionator": { "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", "dev": true, + "license": "MIT", "dependencies": { "deep-is": "~0.1.3", "fast-levenshtein": "~2.0.6", @@ -15597,17 +14219,14 @@ }, "node_modules/eslint-config-esnext/node_modules/path-key": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/eslint-config-esnext/node_modules/prelude-ls": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", "dev": true, "engines": { "node": ">= 0.8.0" @@ -15615,18 +14234,16 @@ }, "node_modules/eslint-config-esnext/node_modules/regexpp": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.5.0" } }, "node_modules/eslint-config-esnext/node_modules/rimraf": { "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -15636,18 +14253,16 @@ }, "node_modules/eslint-config-esnext/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/eslint-config-esnext/node_modules/shebang-command": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", "dev": true, + "license": "MIT", "dependencies": { "shebang-regex": "^1.0.0" }, @@ -15657,24 +14272,21 @@ }, "node_modules/eslint-config-esnext/node_modules/shebang-regex": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/eslint-config-esnext/node_modules/sprintf-js": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/eslint-config-esnext/node_modules/strip-ansi": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^4.1.0" }, @@ -15684,9 +14296,8 @@ }, "node_modules/eslint-config-esnext/node_modules/type-check": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "~1.1.2" }, @@ -15696,18 +14307,16 @@ }, "node_modules/eslint-config-esnext/node_modules/type-fest": { "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" } }, "node_modules/eslint-config-esnext/node_modules/which": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -15716,11 +14325,10 @@ } }, "node_modules/eslint-config-next": { - "version": "13.5.3", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.5.3.tgz", - "integrity": "sha512-VN2qbCpq2DMWgs7SVF8KTmc8bVaWz3s4nmcFqRLs7PNBt5AXejOhJuZ4zg2sCEHOvz5RvqdwLeI++NSCV6qHVg==", + "version": "13.5.4", + "license": "MIT", "dependencies": { - "@next/eslint-plugin-next": "13.5.3", + "@next/eslint-plugin-next": "13.5.4", "@rushstack/eslint-patch": "^1.3.3", "@typescript-eslint/parser": "^5.4.2 || ^6.0.0", "eslint-import-resolver-node": "^0.3.6", @@ -15742,9 +14350,8 @@ }, "node_modules/eslint-config-node": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-node/-/eslint-config-node-4.1.0.tgz", - "integrity": "sha512-Wz17xV5O2WFG8fGdMYEBdbiL6TL7YNJSJvSX9V4sXQownewfYmoqlly7wxqLkOUv/57pq6LnnotMiQQrrPjCqQ==", "dev": true, + "license": "ISC", "dependencies": { "eslint": "^6.8.0", "eslint-config-esnext": "^4.1.0" @@ -15755,9 +14362,8 @@ }, "node_modules/eslint-config-node/node_modules/acorn": { "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -15767,27 +14373,24 @@ }, "node_modules/eslint-config-node/node_modules/ansi-regex": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/eslint-config-node/node_modules/argparse": { "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, + "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } }, "node_modules/eslint-config-node/node_modules/cross-spawn": { "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, + "license": "MIT", "dependencies": { "nice-try": "^1.0.4", "path-key": "^2.0.1", @@ -15801,18 +14404,16 @@ }, "node_modules/eslint-config-node/node_modules/cross-spawn/node_modules/semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/eslint-config-node/node_modules/eslint": { "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", - "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", "ajv": "^6.10.0", @@ -15864,9 +14465,8 @@ }, "node_modules/eslint-config-node/node_modules/eslint-scope": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -15877,9 +14477,8 @@ }, "node_modules/eslint-config-node/node_modules/eslint-utils": { "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", "dev": true, + "license": "MIT", "dependencies": { "eslint-visitor-keys": "^1.1.0" }, @@ -15889,18 +14488,16 @@ }, "node_modules/eslint-config-node/node_modules/eslint-visitor-keys": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=4" } }, "node_modules/eslint-config-node/node_modules/espree": { "version": "6.2.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", - "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "acorn": "^7.1.1", "acorn-jsx": "^5.2.0", @@ -15912,18 +14509,16 @@ }, "node_modules/eslint-config-node/node_modules/estraverse": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/eslint-config-node/node_modules/file-entry-cache": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", "dev": true, + "license": "MIT", "dependencies": { "flat-cache": "^2.0.1" }, @@ -15933,9 +14528,8 @@ }, "node_modules/eslint-config-node/node_modules/flat-cache": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", "dev": true, + "license": "MIT", "dependencies": { "flatted": "^2.0.0", "rimraf": "2.6.3", @@ -15947,15 +14541,13 @@ }, "node_modules/eslint-config-node/node_modules/flatted": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/eslint-config-node/node_modules/glob-parent": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -15965,9 +14557,8 @@ }, "node_modules/eslint-config-node/node_modules/globals": { "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", "dev": true, + "license": "MIT", "dependencies": { "type-fest": "^0.8.1" }, @@ -15980,18 +14571,16 @@ }, "node_modules/eslint-config-node/node_modules/ignore": { "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/eslint-config-node/node_modules/js-yaml": { "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -16002,9 +14591,8 @@ }, "node_modules/eslint-config-node/node_modules/levn": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "~1.1.2", "type-check": "~0.3.2" @@ -16015,9 +14603,8 @@ }, "node_modules/eslint-config-node/node_modules/mkdirp": { "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, + "license": "MIT", "dependencies": { "minimist": "^1.2.6" }, @@ -16027,9 +14614,8 @@ }, "node_modules/eslint-config-node/node_modules/optionator": { "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", "dev": true, + "license": "MIT", "dependencies": { "deep-is": "~0.1.3", "fast-levenshtein": "~2.0.6", @@ -16044,17 +14630,14 @@ }, "node_modules/eslint-config-node/node_modules/path-key": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/eslint-config-node/node_modules/prelude-ls": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", "dev": true, "engines": { "node": ">= 0.8.0" @@ -16062,18 +14645,16 @@ }, "node_modules/eslint-config-node/node_modules/regexpp": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.5.0" } }, "node_modules/eslint-config-node/node_modules/rimraf": { "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -16083,18 +14664,16 @@ }, "node_modules/eslint-config-node/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/eslint-config-node/node_modules/shebang-command": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", "dev": true, + "license": "MIT", "dependencies": { "shebang-regex": "^1.0.0" }, @@ -16104,24 +14683,21 @@ }, "node_modules/eslint-config-node/node_modules/shebang-regex": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/eslint-config-node/node_modules/sprintf-js": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/eslint-config-node/node_modules/strip-ansi": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^4.1.0" }, @@ -16131,9 +14707,8 @@ }, "node_modules/eslint-config-node/node_modules/type-check": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "~1.1.2" }, @@ -16143,18 +14718,16 @@ }, "node_modules/eslint-config-node/node_modules/type-fest": { "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" } }, "node_modules/eslint-config-node/node_modules/which": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -16164,8 +14737,7 @@ }, "node_modules/eslint-config-prettier": { "version": "9.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz", - "integrity": "sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==", + "license": "MIT", "bin": { "eslint-config-prettier": "bin/cli.js" }, @@ -16175,8 +14747,7 @@ }, "node_modules/eslint-import-resolver-node": { "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "license": "MIT", "dependencies": { "debug": "^3.2.7", "is-core-module": "^2.13.0", @@ -16185,16 +14756,14 @@ }, "node_modules/eslint-import-resolver-node/node_modules/debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-import-resolver-typescript": { "version": "3.6.1", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.1.tgz", - "integrity": "sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==", + "license": "ISC", "dependencies": { "debug": "^4.3.4", "enhanced-resolve": "^5.12.0", @@ -16217,8 +14786,7 @@ }, "node_modules/eslint-module-utils": { "version": "2.8.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "license": "MIT", "dependencies": { "debug": "^3.2.7" }, @@ -16233,17 +14801,15 @@ }, "node_modules/eslint-module-utils/node_modules/debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-plugin-babel": { "version": "5.3.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-babel/-/eslint-plugin-babel-5.3.1.tgz", - "integrity": "sha512-VsQEr6NH3dj664+EyxJwO4FCYm/00JhYb3Sk3ft8o+fpKuIfQ9TaW6uVUfvwMXHcf/lsnRIoyFPsLMyiWCSL/g==", "dev": true, + "license": "MIT", "dependencies": { "eslint-rule-composer": "^0.3.0" }, @@ -16256,8 +14822,7 @@ }, "node_modules/eslint-plugin-cypress": { "version": "2.15.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-cypress/-/eslint-plugin-cypress-2.15.1.tgz", - "integrity": "sha512-eLHLWP5Q+I4j2AWepYq0PgFEei9/s5LvjuSqWrxurkg1YZ8ltxdvMNmdSf0drnsNo57CTgYY/NIHHLRSWejR7w==", + "license": "MIT", "dependencies": { "globals": "^13.20.0" }, @@ -16267,8 +14832,7 @@ }, "node_modules/eslint-plugin-cypress/node_modules/globals": { "version": "13.21.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", - "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", + "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -16281,8 +14845,7 @@ }, "node_modules/eslint-plugin-cypress/node_modules/type-fest": { "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -16292,8 +14855,7 @@ }, "node_modules/eslint-plugin-es": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", - "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", + "license": "MIT", "dependencies": { "eslint-utils": "^2.0.0", "regexpp": "^3.0.0" @@ -16310,8 +14872,7 @@ }, "node_modules/eslint-plugin-import": { "version": "2.28.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz", - "integrity": "sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==", + "license": "MIT", "dependencies": { "array-includes": "^3.1.6", "array.prototype.findlastindex": "^1.2.2", @@ -16340,16 +14901,14 @@ }, "node_modules/eslint-plugin-import/node_modules/debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-plugin-import/node_modules/doctrine": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -16359,17 +14918,15 @@ }, "node_modules/eslint-plugin-import/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/eslint-plugin-jest": { "version": "27.2.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.2.3.tgz", - "integrity": "sha512-sRLlSCpICzWuje66Gl9zvdF6mwD5X86I4u55hJyFBsxYOsBCmT5+kSUjf+fkFWVMMgpzNEupjW8WzUqi83hJAQ==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/utils": "^5.10.0" }, @@ -16392,9 +14949,8 @@ }, "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/scope-manager": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/types": "5.62.0", "@typescript-eslint/visitor-keys": "5.62.0" @@ -16409,9 +14965,8 @@ }, "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/types": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", "dev": true, + "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -16422,9 +14977,8 @@ }, "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/typescript-estree": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/types": "5.62.0", "@typescript-eslint/visitor-keys": "5.62.0", @@ -16449,9 +15003,8 @@ }, "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/utils": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", @@ -16475,9 +15028,8 @@ }, "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/visitor-keys": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/types": "5.62.0", "eslint-visitor-keys": "^3.3.0" @@ -16492,9 +15044,8 @@ }, "node_modules/eslint-plugin-jest/node_modules/eslint-scope": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -16505,18 +15056,16 @@ }, "node_modules/eslint-plugin-jest/node_modules/estraverse": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/eslint-plugin-jest/node_modules/globby": { "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, + "license": "MIT", "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -16534,8 +15083,7 @@ }, "node_modules/eslint-plugin-jsx-a11y": { "version": "6.7.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", - "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.20.7", "aria-query": "^5.1.3", @@ -16563,16 +15111,14 @@ }, "node_modules/eslint-plugin-jsx-a11y/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/eslint-plugin-node": { "version": "11.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", - "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", + "license": "MIT", "dependencies": { "eslint-plugin-es": "^3.0.0", "eslint-utils": "^2.0.0", @@ -16590,16 +15136,14 @@ }, "node_modules/eslint-plugin-node/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/eslint-plugin-prettier": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.0.0.tgz", - "integrity": "sha512-AgaZCVuYDXHUGxj/ZGu1u8H8CYgDY3iG6w5kUFw4AzMVXzB7VvbKgYR4nATIN+OvUrghMbiDLeimVjVY5ilq3w==", + "version": "5.0.1", + "license": "MIT", "dependencies": { "prettier-linter-helpers": "^1.0.0", "synckit": "^0.8.5" @@ -16626,8 +15170,7 @@ }, "node_modules/eslint-plugin-react": { "version": "7.33.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", - "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", + "license": "MIT", "dependencies": { "array-includes": "^3.1.6", "array.prototype.flatmap": "^1.3.1", @@ -16655,8 +15198,7 @@ }, "node_modules/eslint-plugin-react-hooks": { "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -16666,9 +15208,8 @@ }, "node_modules/eslint-plugin-react-native": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-native/-/eslint-plugin-react-native-4.0.0.tgz", - "integrity": "sha512-kMmdxrSY7A1WgdqaGC+rY/28rh7kBGNBRsk48ovqkQmdg5j4K+DaFmegENDzMrdLkoufKGRNkKX6bgSwQTCAxQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/traverse": "^7.7.4", "eslint-plugin-react-native-globals": "^0.1.1" @@ -16679,14 +15220,12 @@ }, "node_modules/eslint-plugin-react-native-globals": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-native-globals/-/eslint-plugin-react-native-globals-0.1.2.tgz", - "integrity": "sha512-9aEPf1JEpiTjcFAmmyw8eiIXmcNZOqaZyHO77wgm0/dWfT/oxC1SrIq8ET38pMxHYrcB6Uew+TzUVsBeczF88g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/eslint-plugin-react/node_modules/doctrine": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -16696,8 +15235,7 @@ }, "node_modules/eslint-plugin-react/node_modules/resolve": { "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "license": "MIT", "dependencies": { "is-core-module": "^2.9.0", "path-parse": "^1.0.7", @@ -16712,33 +15250,29 @@ }, "node_modules/eslint-plugin-react/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/eslint-plugin-simple-import-sort": { "version": "10.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-10.0.0.tgz", - "integrity": "sha512-AeTvO9UCMSNzIHRkg8S6c3RPy5YEwKWSQPx3DYghLedo2ZQxowPFLGDN1AZ2evfg6r6mjBSZSLxLFsWSu3acsw==", + "license": "MIT", "peerDependencies": { "eslint": ">=5.0.0" } }, "node_modules/eslint-rule-composer": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz", - "integrity": "sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==", "dev": true, + "license": "MIT", "engines": { "node": ">=4.0.0" } }, "node_modules/eslint-scope": { "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -16752,8 +15286,7 @@ }, "node_modules/eslint-utils": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "license": "MIT", "dependencies": { "eslint-visitor-keys": "^1.1.0" }, @@ -16766,16 +15299,14 @@ }, "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "license": "Apache-2.0", "engines": { "node": ">=4" } }, "node_modules/eslint-visitor-keys": { "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -16785,8 +15316,7 @@ }, "node_modules/eslint/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -16799,8 +15329,7 @@ }, "node_modules/eslint/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -16814,8 +15343,7 @@ }, "node_modules/eslint/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -16825,13 +15353,11 @@ }, "node_modules/eslint/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/eslint/node_modules/globals": { "version": "13.21.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", - "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", + "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -16844,16 +15370,14 @@ }, "node_modules/eslint/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/eslint/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -16863,8 +15387,7 @@ }, "node_modules/eslint/node_modules/type-fest": { "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -16874,8 +15397,7 @@ }, "node_modules/espree": { "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "license": "BSD-2-Clause", "dependencies": { "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", @@ -16890,8 +15412,7 @@ }, "node_modules/esprima": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -16902,8 +15423,7 @@ }, "node_modules/esquery": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -16913,8 +15433,7 @@ }, "node_modules/esrecurse": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -16924,32 +15443,27 @@ }, "node_modules/estraverse": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/esutils": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/etag": { "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/ethers": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", - "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", "funding": [ { "type": "individual", @@ -16960,6 +15474,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abi": "5.7.0", "@ethersproject/abstract-provider": "5.7.0", @@ -16995,28 +15510,24 @@ }, "node_modules/event-target-shim": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/eventemitter2": { "version": "6.4.7", - "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", - "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/eventemitter3": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", - "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" + "license": "MIT" }, "node_modules/events": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=0.8.x" @@ -17024,8 +15535,7 @@ }, "node_modules/evp_bytestokey": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "license": "MIT", "dependencies": { "md5.js": "^1.3.4", "safe-buffer": "^5.1.1" @@ -17033,14 +15543,12 @@ }, "node_modules/exec-async": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/exec-async/-/exec-async-2.2.0.tgz", - "integrity": "sha512-87OpwcEiMia/DeiKFzaQNBNFeN3XkkpYIh9FyOqq5mS2oKv3CBE67PXoEKcr6nodWdXNogTiQ0jE2NGuoffXPw==" + "license": "MIT" }, "node_modules/execa": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", "dev": true, + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.0", "get-stream": "^5.0.0", @@ -17061,9 +15569,8 @@ }, "node_modules/executable": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", - "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", "dev": true, + "license": "MIT", "dependencies": { "pify": "^2.2.0" }, @@ -17073,30 +15580,24 @@ }, "node_modules/exif-parser": { "version": "0.1.12", - "resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz", - "integrity": "sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw==", "dev": true }, "node_modules/exit": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", "engines": { "node": ">= 0.8.0" } }, "node_modules/expand-template": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "license": "(MIT OR WTFPL)", "engines": { "node": ">=6" } }, "node_modules/expect": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.6.4.tgz", - "integrity": "sha512-F2W2UyQ8XYyftHT57dtfg8Ue3X5qLgm2sSug0ivvLRH/VKNRL/pDxg/TH7zVzbQB0tu80clNFy6LU7OS/VSEKA==", + "license": "MIT", "dependencies": { "@jest/expect-utils": "^29.6.4", "jest-get-type": "^29.6.3", @@ -17110,8 +15611,7 @@ }, "node_modules/expo": { "version": "49.0.7", - "resolved": "https://registry.npmjs.org/expo/-/expo-49.0.7.tgz", - "integrity": "sha512-KGyZMuU83LNnWbfzdFrC45AhUDDAYKir7MawZJ7N8pBmHbLF8txlKq+KeZcwavD8fZREFYhSGJdTgfKPiXQymg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.20.0", "@expo/cli": "0.10.11", @@ -17140,16 +15640,14 @@ }, "node_modules/expo-application": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/expo-application/-/expo-application-5.3.0.tgz", - "integrity": "sha512-XLkaELwmiXW6JjFVkwuiFQaGZoNKAxNAcSJkFdz8s4rCljEwehylbzoPk37QHw3cxqb4v0/2EICtg4C4kpEVCA==", + "license": "MIT", "peerDependencies": { "expo": "*" } }, "node_modules/expo-asset": { "version": "8.10.1", - "resolved": "https://registry.npmjs.org/expo-asset/-/expo-asset-8.10.1.tgz", - "integrity": "sha512-5VMTESxgY9GBsspO/esY25SKEa7RyascVkLe/OcL1WgblNFm7xCCEEUIW8VWS1nHJQGYxpMZPr3bEfjMpdWdyA==", + "license": "MIT", "dependencies": { "blueimp-md5": "^2.10.0", "expo-constants": "~14.4.2", @@ -17162,8 +15660,7 @@ }, "node_modules/expo-barcode-scanner": { "version": "12.5.3", - "resolved": "https://registry.npmjs.org/expo-barcode-scanner/-/expo-barcode-scanner-12.5.3.tgz", - "integrity": "sha512-aIeTiOUzPdngTIhZHhM1mOMx9CPtmYEtEkK8pAgyua3NiAKgsUN8z8bpiQWuZTrxSaqkU8fG1zGOk9E4VnNwyA==", + "license": "MIT", "dependencies": { "expo-image-loader": "~4.3.0" }, @@ -17173,21 +15670,18 @@ }, "node_modules/expo-checkbox": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/expo-checkbox/-/expo-checkbox-2.4.0.tgz", - "integrity": "sha512-ZEe79B73I+NDkLZQ2pR1E5rv9ey1oleNI/s2/Jdb9zKWztS0KVU2K+drFn2t/zyoSbR1U+CNwik2v7h6JxrXcA==" + "license": "MIT" }, "node_modules/expo-clipboard": { "version": "4.3.1", - "resolved": "https://registry.npmjs.org/expo-clipboard/-/expo-clipboard-4.3.1.tgz", - "integrity": "sha512-WIsjvAsr2+/NZRa84mKxjui1EdPpdKbQIC2LN/KMBNuT7g4GQYL3oo9WO9G/C7doKQ7f7pnfdvO3N6fUnoRoJw==", + "license": "MIT", "peerDependencies": { "expo": "*" } }, "node_modules/expo-constants": { "version": "14.4.2", - "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-14.4.2.tgz", - "integrity": "sha512-nOB122DOAjk+KrJT69lFQAoYVQGQjFHSigCPVBzVdko9S1xGsfiOH9+X5dygTsZTIlVLpQJDdmZ7ONiv3i+26w==", + "license": "MIT", "dependencies": { "@expo/config": "~8.1.0", "uuid": "^3.3.2" @@ -17198,17 +15692,14 @@ }, "node_modules/expo-constants/node_modules/uuid": { "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "license": "MIT", "bin": { "uuid": "bin/uuid" } }, "node_modules/expo-crypto": { "version": "12.4.1", - "resolved": "https://registry.npmjs.org/expo-crypto/-/expo-crypto-12.4.1.tgz", - "integrity": "sha512-/en03oPNAX6gP0bKpwA1EyLBnGG9uv0+Q7uvGYyOXaQQEvj31a+8cEvNPkv75x6GuK1hcaBfO25RtX9AGOMwVA==", + "license": "MIT", "dependencies": { "base64-js": "^1.3.0" }, @@ -17216,15 +15707,184 @@ "expo": "*" } }, + "node_modules/expo-crypto-polyfills": { + "version": "1.1.0", + "license": "MIT", + "dependencies": { + "base-64": "^1.0.0", + "crypto-browserify": "^3.12.0", + "expo-file-system": "~13.1.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "^1.0.1", + "react-native-get-random-values": "^1.7.2", + "react-native-tcp": "^4.0.0", + "readable-stream": "^3.6.0", + "stream-http": "^3.2.0", + "vm-browserify": "^1.1.2" + } + }, + "node_modules/expo-crypto-polyfills/node_modules/@babel/code-frame": { + "version": "7.10.4", + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/expo-crypto-polyfills/node_modules/@expo/config-plugins": { + "version": "4.1.5", + "license": "MIT", + "dependencies": { + "@expo/config-types": "^45.0.0", + "@expo/json-file": "8.2.36", + "@expo/plist": "0.0.18", + "@expo/sdk-runtime-versions": "^1.0.0", + "@react-native/normalize-color": "^2.0.0", + "chalk": "^4.1.2", + "debug": "^4.3.1", + "find-up": "~5.0.0", + "getenv": "^1.0.0", + "glob": "7.1.6", + "resolve-from": "^5.0.0", + "semver": "^7.3.5", + "slash": "^3.0.0", + "xcode": "^3.0.1", + "xml2js": "0.4.23" + } + }, + "node_modules/expo-crypto-polyfills/node_modules/@expo/config-types": { + "version": "45.0.0", + "license": "MIT" + }, + "node_modules/expo-crypto-polyfills/node_modules/@expo/json-file": { + "version": "8.2.36", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "~7.10.4", + "json5": "^1.0.1", + "write-file-atomic": "^2.3.0" + } + }, + "node_modules/expo-crypto-polyfills/node_modules/@expo/plist": { + "version": "0.0.18", + "license": "MIT", + "dependencies": { + "@xmldom/xmldom": "~0.7.0", + "base64-js": "^1.2.3", + "xmlbuilder": "^14.0.0" + } + }, + "node_modules/expo-crypto-polyfills/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/expo-crypto-polyfills/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/expo-crypto-polyfills/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/expo-crypto-polyfills/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/expo-crypto-polyfills/node_modules/expo-file-system": { + "version": "13.1.4", + "license": "MIT", + "dependencies": { + "@expo/config-plugins": "^4.0.2", + "uuid": "^3.4.0" + }, + "peerDependencies": { + "expo": "*" + } + }, + "node_modules/expo-crypto-polyfills/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/expo-crypto-polyfills/node_modules/json5": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/expo-crypto-polyfills/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/expo-crypto-polyfills/node_modules/uuid": { + "version": "3.4.0", + "license": "MIT", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/expo-crypto-polyfills/node_modules/xml2js": { + "version": "0.4.23", + "license": "MIT", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/expo-crypto-polyfills/node_modules/xml2js/node_modules/xmlbuilder": { + "version": "11.0.1", + "license": "MIT", + "engines": { + "node": ">=4.0" + } + }, "node_modules/expo-eas-client": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/expo-eas-client/-/expo-eas-client-0.6.0.tgz", - "integrity": "sha512-FSPy0ThcJBvzEzOZVhpOrYyHgQ8U1jJ4v7u7tr1x0KOVRqyf25APEQZFxxRPn3zAYW0tQ+uDTCbrwNymFqhQfw==" + "license": "MIT" }, "node_modules/expo-file-system": { - "version": "15.4.3", - "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-15.4.3.tgz", - "integrity": "sha512-HaaCBTUATs2+i7T4jxIvoU9rViAHMvOD2eBaJ1H7xPHlwZlMORjQs7bsNKonR/TQoduxZBJLVZGawvaAJNCH8g==", + "version": "15.4.4", + "license": "MIT", "dependencies": { "uuid": "^3.4.0" }, @@ -17234,17 +15894,14 @@ }, "node_modules/expo-file-system/node_modules/uuid": { "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "license": "MIT", "bin": { "uuid": "bin/uuid" } }, "node_modules/expo-font": { "version": "11.4.0", - "resolved": "https://registry.npmjs.org/expo-font/-/expo-font-11.4.0.tgz", - "integrity": "sha512-nkmezCFD7gR/I6R+e3/ry18uEfF8uYrr6h+PdBJu+3dawoLOpo+wFb/RG9bHUekU1/cPanR58LR7G5MEMKHR2w==", + "license": "MIT", "dependencies": { "fontfaceobserver": "^2.1.0" }, @@ -17253,46 +15910,40 @@ } }, "node_modules/expo-image": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/expo-image/-/expo-image-1.3.2.tgz", - "integrity": "sha512-5Dm6kPfAOptMpQSJZDaA1M+AGjRJT0b1eLjtWLLpf6Z7gG1SMAFPUNUKaQV4p9H57psqvloDNb5nPIjSdIA1HQ==", + "version": "1.3.4", + "license": "MIT", "peerDependencies": { "expo": "*" } }, "node_modules/expo-image-loader": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/expo-image-loader/-/expo-image-loader-4.3.0.tgz", - "integrity": "sha512-2kqJIO+oYM8J3GbvTUHLqTSpt1dLpOn/X0eB4U4RTuzz/faj8l/TyQELsMBLlGAkweNUuG9LqznbaBz+WuSFEw==", + "license": "MIT", "peerDependencies": { "expo": "*" } }, "node_modules/expo-json-utils": { "version": "0.7.1", - "resolved": "https://registry.npmjs.org/expo-json-utils/-/expo-json-utils-0.7.1.tgz", - "integrity": "sha512-L0lyH8diXQtV0q5BLbFlcoxTqPF5im79xDHPhybB0j36xYdm65hjwRJ4yMrPIN5lR18hj48FUZeONiDHRyEvIg==" + "license": "MIT" }, "node_modules/expo-keep-awake": { "version": "12.3.0", - "resolved": "https://registry.npmjs.org/expo-keep-awake/-/expo-keep-awake-12.3.0.tgz", - "integrity": "sha512-ujiJg1p9EdCOYS05jh5PtUrfiZnK0yyLy+UewzqrjUqIT8eAGMQbkfOn3C3fHE7AKd5AefSMzJnS3lYZcZYHDw==", + "license": "MIT", "peerDependencies": { "expo": "*" } }, "node_modules/expo-linear-gradient": { "version": "12.3.0", - "resolved": "https://registry.npmjs.org/expo-linear-gradient/-/expo-linear-gradient-12.3.0.tgz", - "integrity": "sha512-f9e+Oxe5z7fNQarTBZXilMyswlkbYWQHONVfq8MqmiEnW3h9XsxxmVJLG8uVQSQPUsbW+x1UUT/tnU6mkMWeLg==", + "license": "MIT", "peerDependencies": { "expo": "*" } }, "node_modules/expo-linking": { "version": "5.0.2", - "resolved": "https://registry.npmjs.org/expo-linking/-/expo-linking-5.0.2.tgz", - "integrity": "sha512-SPQus0+tYGx9c69Uw4wmdo3rkKX8vRT1vyJz/mvkpSlZN986s0NmP/V0M5vDv5Zv2qZzVdqJyuITFe0Pg5aI+A==", + "license": "MIT", "dependencies": { "@types/qs": "^6.9.7", "expo-constants": "~14.4.2", @@ -17303,8 +15954,7 @@ }, "node_modules/expo-linking/node_modules/qs": { "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.0.4" }, @@ -17317,8 +15967,7 @@ }, "node_modules/expo-local-authentication": { "version": "13.4.1", - "resolved": "https://registry.npmjs.org/expo-local-authentication/-/expo-local-authentication-13.4.1.tgz", - "integrity": "sha512-FWTUkMNo9aDT3cg02SWAcSFjTiDu20izhCn5CGwdtFNCBpPQUD0BJ/czhjrIFE70teMzE5wZUdbJuSKYonUaWA==", + "license": "MIT", "dependencies": { "invariant": "^2.2.4" }, @@ -17328,8 +15977,7 @@ }, "node_modules/expo-localization": { "version": "14.3.0", - "resolved": "https://registry.npmjs.org/expo-localization/-/expo-localization-14.3.0.tgz", - "integrity": "sha512-TML3TeVtwpfuSNwbhBspC9XsGJaa0TWJNh+UaR/35YP9fQiaJfVWUMSrAq84ba6rY1Pm3kti07LV8UUa505oqg==", + "license": "MIT", "dependencies": { "rtl-detect": "^1.0.2" }, @@ -17339,16 +15987,14 @@ }, "node_modules/expo-manifests": { "version": "0.7.1", - "resolved": "https://registry.npmjs.org/expo-manifests/-/expo-manifests-0.7.1.tgz", - "integrity": "sha512-9+pTMWkQx3hPEmc7D3MzWM+fCqN4DnPxStfmO7daL562yw+VCiJ4gfmkioOW/optqj4AE9jWoEOVv/iXOZbPWw==", + "license": "MIT", "dependencies": { "expo-json-utils": "~0.7.0" } }, "node_modules/expo-modules-autolinking": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-1.5.0.tgz", - "integrity": "sha512-i9zll5xNYh0/sjaa6hpZlTHodKEu2tMEFsJJYsfBMTt8G9J8gGhalOydrX/Ql1E8bQ4GxnLAqrM7duR0Tj2VTQ==", + "license": "MIT", "dependencies": { "@expo/config": "~8.1.0", "chalk": "^4.1.0", @@ -17363,8 +16009,7 @@ }, "node_modules/expo-modules-autolinking/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -17377,8 +16022,7 @@ }, "node_modules/expo-modules-autolinking/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -17392,8 +16036,7 @@ }, "node_modules/expo-modules-autolinking/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -17403,21 +16046,18 @@ }, "node_modules/expo-modules-autolinking/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/expo-modules-autolinking/node_modules/commander": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", "engines": { "node": ">= 10" } }, "node_modules/expo-modules-autolinking/node_modules/fs-extra": { "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "license": "MIT", "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", @@ -17430,16 +16070,14 @@ }, "node_modules/expo-modules-autolinking/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/expo-modules-autolinking/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -17449,8 +16087,7 @@ }, "node_modules/expo-modules-core": { "version": "1.5.9", - "resolved": "https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-1.5.9.tgz", - "integrity": "sha512-kQxllZfus7wM0O6X0Ud+SOnbH/kbxtEAQp2gkvDq3P3kqhtafue/H9CPDX04uWc/pypvp9vp/sZ+qvA0alaVuQ==", + "license": "MIT", "dependencies": { "compare-versions": "^3.4.0", "invariant": "^2.2.4" @@ -17458,16 +16095,14 @@ }, "node_modules/expo-secure-store": { "version": "12.3.1", - "resolved": "https://registry.npmjs.org/expo-secure-store/-/expo-secure-store-12.3.1.tgz", - "integrity": "sha512-XLIgWDiIuiR0c+AA4NCWWibAMHCZUyRcy+lQBU49U6rvG+xmd3YrBJfQjfqAPyLroEqnLPGTWUX57GyRsfDOQw==", + "license": "MIT", "peerDependencies": { "expo": "*" } }, "node_modules/expo-splash-screen": { "version": "0.20.5", - "resolved": "https://registry.npmjs.org/expo-splash-screen/-/expo-splash-screen-0.20.5.tgz", - "integrity": "sha512-nTALYdjHpeEA30rdOWSguxn72ctv8WM8ptuUgpfRgsWyn4i6rwYds/rBXisX69XO5fg+XjHAQqijGx/b28+3tg==", + "license": "MIT", "dependencies": { "@expo/prebuild-config": "6.2.6" }, @@ -17477,18 +16112,16 @@ }, "node_modules/expo-status-bar": { "version": "1.6.0", - "resolved": "https://registry.npmjs.org/expo-status-bar/-/expo-status-bar-1.6.0.tgz", - "integrity": "sha512-e//Oi2WPdomMlMDD3skE4+1ZarKCJ/suvcB4Jo/nO427niKug5oppcPNYO+csR6y3ZglGuypS+3pp/hJ+Xp6fQ==" + "license": "MIT" }, "node_modules/expo-structured-headers": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/expo-structured-headers/-/expo-structured-headers-3.3.0.tgz", - "integrity": "sha512-t+h5Zqaukd3Tn97LaWPpibVsmiC/TFP8F+8sAUliwCSMzgcb5TATRs2NcAB+JcIr8EP3JJDyYXJrZle1cjs4mQ==" + "license": "MIT" }, "node_modules/expo-updates": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/expo-updates/-/expo-updates-0.18.11.tgz", - "integrity": "sha512-X7huYVAq7RhBUcoGQKk2P9K0LJdDr5EDBPQbHRM/zrQNXuW7DhCkQBVbhT6/L7pIqdVAsAxx0FqxcZcx44pDWA==", + "version": "0.18.16", + "resolved": "https://registry.npmjs.org/expo-updates/-/expo-updates-0.18.16.tgz", + "integrity": "sha512-5/3Yh6FHG8oRDz1pqpn7NEO6GQBH5GV/sygnkkn3JxsiXzlOsuOY7+x+gFr4CdKVyreaoJV863ZxKvxplVE4fA==", "dependencies": { "@expo/code-signing-certificates": "0.0.5", "@expo/config": "~8.1.0", @@ -17511,16 +16144,14 @@ }, "node_modules/expo-updates-interface": { "version": "0.10.1", - "resolved": "https://registry.npmjs.org/expo-updates-interface/-/expo-updates-interface-0.10.1.tgz", - "integrity": "sha512-I6JMR7EgjXwckrydDmrkBEX/iw750dcqpzQVsjznYWfi0HTEOxajLHB90fBFqQkUV5i5s4Fd3hYQ1Cn0oMzUbA==", + "license": "MIT", "peerDependencies": { "expo": "*" } }, "node_modules/expo-updates/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -17533,13 +16164,11 @@ }, "node_modules/expo-updates/node_modules/arg": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.0.tgz", - "integrity": "sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==" + "license": "MIT" }, "node_modules/expo-updates/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -17553,8 +16182,7 @@ }, "node_modules/expo-updates/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -17564,21 +16192,18 @@ }, "node_modules/expo-updates/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/expo-updates/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/expo-updates/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -17588,8 +16213,7 @@ }, "node_modules/expo-web-browser": { "version": "12.3.2", - "resolved": "https://registry.npmjs.org/expo-web-browser/-/expo-web-browser-12.3.2.tgz", - "integrity": "sha512-ohBf+vnRnGzlTleY8EQ2XQU0vRdRwqMJtKkzM9MZRPDOK5QyJYPJjpk6ixGhxdeoUG2Ogj0InvhhgX9NUn4jkg==", + "license": "MIT", "dependencies": { "compare-urls": "^2.0.0", "url": "^0.11.0" @@ -17600,8 +16224,7 @@ }, "node_modules/expo/node_modules/@jest/types": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -17615,16 +16238,14 @@ }, "node_modules/expo/node_modules/@types/yargs": { "version": "15.0.15", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.15.tgz", - "integrity": "sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, "node_modules/expo/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -17637,8 +16258,7 @@ }, "node_modules/expo/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -17652,8 +16272,7 @@ }, "node_modules/expo/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -17663,21 +16282,18 @@ }, "node_modules/expo/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/expo/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/expo/node_modules/pretty-format": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "license": "MIT", "dependencies": { "@jest/types": "^26.6.2", "ansi-regex": "^5.0.0", @@ -17690,13 +16306,11 @@ }, "node_modules/expo/node_modules/react-is": { "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + "license": "MIT" }, "node_modules/expo/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -17706,24 +16320,20 @@ }, "node_modules/expo/node_modules/uuid": { "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "license": "MIT", "bin": { "uuid": "bin/uuid" } }, "node_modules/extend": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/external-editor": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", "dev": true, + "license": "MIT", "dependencies": { "chardet": "^0.7.0", "iconv-lite": "^0.4.24", @@ -17735,9 +16345,8 @@ }, "node_modules/external-editor/node_modules/tmp": { "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, + "license": "MIT", "dependencies": { "os-tmpdir": "~1.0.2" }, @@ -17747,8 +16356,7 @@ }, "node_modules/extract-zip": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", - "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "license": "BSD-2-Clause", "dependencies": { "debug": "^4.1.1", "get-stream": "^5.1.0", @@ -17766,37 +16374,31 @@ }, "node_modules/extsprintf": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", "dev": true, "engines": [ "node >=0.6.0" - ] + ], + "license": "MIT" }, "node_modules/fast-base64-decode": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fast-base64-decode/-/fast-base64-decode-1.0.0.tgz", - "integrity": "sha512-qwaScUgUGBYeDNRnbc/KyllVU88Jk1pRHPStuF/lO7B0/RTRLj7U0lkdTAutlBblY08rwZDff6tNU9cjv6j//Q==" + "license": "MIT" }, "node_modules/fast-deep-equal": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "license": "MIT" }, "node_modules/fast-diff": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==" + "license": "Apache-2.0" }, "node_modules/fast-fifo": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", - "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" + "license": "MIT" }, "node_modules/fast-glob": { "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -17810,8 +16412,7 @@ }, "node_modules/fast-glob/node_modules/glob-parent": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -17821,31 +16422,28 @@ }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "license": "MIT" }, "node_modules/fast-levenshtein": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + "license": "MIT" }, "node_modules/fast-loops": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fast-loops/-/fast-loops-1.1.3.tgz", - "integrity": "sha512-8EZzEP0eKkEEVX+drtd9mtuQ+/QrlfW/5MlwcwK5Nds6EkZ/tRzEexkzUY2mIssnAyVLT+TKHuRXmFNNXYUd6g==" + "license": "MIT" }, "node_modules/fast-xml-parser": { - "version": "4.2.7", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.7.tgz", - "integrity": "sha512-J8r6BriSLO1uj2miOk1NW0YVm8AGOOu3Si2HQp/cSmo6EA4m3fcwu2WKjJ4RK9wMLBtg69y1kS8baDiQBR41Ig==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.2.tgz", + "integrity": "sha512-rmrXUXwbJedoXkStenj1kkljNF7ugn5ZjR9FJcwmCfcCbtOMDghPajbc+Tck6vE6F5XsDmx+Pr2le9fw8+pXBg==", "funding": [ - { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" - }, { "type": "github", "url": "https://github.com/sponsors/NaturalIntelligence" + }, + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" } ], "dependencies": { @@ -17857,32 +16455,28 @@ }, "node_modules/fastq": { "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "license": "ISC", "dependencies": { "reusify": "^1.0.4" } }, "node_modules/fb-watchman": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "license": "Apache-2.0", "dependencies": { "bser": "2.1.1" } }, "node_modules/fbemitter": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz", - "integrity": "sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==", + "license": "BSD-3-Clause", "dependencies": { "fbjs": "^3.0.0" } }, "node_modules/fbjs": { "version": "3.0.5", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.5.tgz", - "integrity": "sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==", + "license": "MIT", "dependencies": { "cross-fetch": "^3.1.5", "fbjs-css-vars": "^1.0.0", @@ -17895,27 +16489,23 @@ }, "node_modules/fbjs-css-vars": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", - "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" + "license": "MIT" }, "node_modules/fd-slicer": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "license": "MIT", "dependencies": { "pend": "~1.2.0" } }, "node_modules/fetch-retry": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/fetch-retry/-/fetch-retry-4.1.1.tgz", - "integrity": "sha512-e6eB7zN6UBSwGVwrbWVH+gdLnkW9WwHhmq2YDK1Sh30pzx1onRVGBvogTlUeWxwTa+L86NYdo4hFkh7O8ZjSnA==" + "license": "MIT" }, "node_modules/figures": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, + "license": "MIT", "dependencies": { "escape-string-regexp": "^1.0.5" }, @@ -17928,17 +16518,15 @@ }, "node_modules/figures/node_modules/escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/file-entry-cache": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "license": "MIT", "dependencies": { "flat-cache": "^3.0.4" }, @@ -17948,31 +16536,27 @@ }, "node_modules/file-type": { "version": "9.0.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-9.0.0.tgz", - "integrity": "sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/file-uri-to-path": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + "license": "MIT" }, "node_modules/filesize": { "version": "8.0.7", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", - "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">= 0.4.0" } }, "node_modules/fill-range": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -17982,16 +16566,14 @@ }, "node_modules/filter-obj": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", - "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/finalhandler": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "license": "MIT", "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", @@ -18007,21 +16589,18 @@ }, "node_modules/finalhandler/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "license": "MIT" }, "node_modules/finalhandler/node_modules/on-finished": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "license": "MIT", "dependencies": { "ee-first": "1.1.1" }, @@ -18031,8 +16610,6 @@ }, "node_modules/find": { "version": "0.1.7", - "resolved": "https://registry.npmjs.org/find/-/find-0.1.7.tgz", - "integrity": "sha512-jPrupTOe/pO//3a9Ty2o4NqQCp0L46UG+swUnfFtdmtQVN8pEltKpAqR7Nuf6vWn0GBXx5w+R1MyZzqwjEIqdA==", "dev": true, "dependencies": { "traverse-chain": "~0.1.0" @@ -18040,8 +16617,7 @@ }, "node_modules/find-babel-config": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/find-babel-config/-/find-babel-config-2.0.0.tgz", - "integrity": "sha512-dOKT7jvF3hGzlW60Gc3ONox/0rRZ/tz7WCil0bqA1In/3I8f1BctpXahRnEKDySZqci7u+dqq93sZST9fOJpFw==", + "license": "MIT", "dependencies": { "json5": "^2.1.1", "path-exists": "^4.0.0" @@ -18052,9 +16628,8 @@ }, "node_modules/find-cache-dir": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", - "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "common-path-prefix": "^3.0.0", @@ -18069,9 +16644,8 @@ }, "node_modules/find-in-files": { "version": "0.5.0", - "resolved": "https://registry.npmjs.org/find-in-files/-/find-in-files-0.5.0.tgz", - "integrity": "sha512-VraTc6HdtdSHmAp0yJpAy20yPttGKzyBWc7b7FPnnsX9TOgmKx0g9xajizpF/iuu4IvNK4TP0SpyBT9zAlwG+g==", "dev": true, + "license": "MIT", "dependencies": { "find": "^0.1.5", "q": "^1.0.1" @@ -18079,8 +16653,7 @@ }, "node_modules/find-up": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -18094,16 +16667,14 @@ }, "node_modules/find-yarn-workspace-root": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz", - "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==", + "license": "Apache-2.0", "dependencies": { "micromatch": "^4.0.2" } }, "node_modules/flat-cache": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "license": "MIT", "dependencies": { "flatted": "^3.1.0", "rimraf": "^3.0.2" @@ -18114,8 +16685,7 @@ }, "node_modules/flat-cache/node_modules/rimraf": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -18128,32 +16698,28 @@ }, "node_modules/flatted": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" + "license": "ISC" }, "node_modules/flow-enums-runtime": { "version": "0.0.5", - "resolved": "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.5.tgz", - "integrity": "sha512-PSZF9ZuaZD03sT9YaIs0FrGJ7lSUw7rHZIex+73UYVXg46eL/wxN5PaVcPJFudE2cJu5f0fezitV5aBkLHPUOQ==" + "license": "MIT" }, "node_modules/flow-parser": { "version": "0.206.0", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.206.0.tgz", - "integrity": "sha512-HVzoK3r6Vsg+lKvlIZzaWNBVai+FXTX1wdYhz/wVlH13tb/gOdLXmlTqy6odmTBhT5UoWUbq0k8263Qhr9d88w==", + "license": "MIT", "engines": { "node": ">=0.4.0" } }, "node_modules/follow-redirects": { "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", "funding": [ { "type": "individual", "url": "https://github.com/sponsors/RubenVerborgh" } ], + "license": "MIT", "engines": { "node": ">=4.0" }, @@ -18165,22 +16731,19 @@ }, "node_modules/fontfaceobserver": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/fontfaceobserver/-/fontfaceobserver-2.3.0.tgz", - "integrity": "sha512-6FPvD/IVyT4ZlNe7Wcn5Fb/4ChigpucKYSvD6a+0iMoLn2inpo711eyIcKjmDtE5XNcgAkSH9uN/nfAeZzHEfg==" + "license": "BSD-2-Clause" }, "node_modules/for-each": { "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "license": "MIT", "dependencies": { "is-callable": "^1.1.3" } }, "node_modules/foreground-child": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", - "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", "dev": true, + "license": "ISC", "dependencies": { "cross-spawn": "^7.0.0", "signal-exit": "^3.0.2" @@ -18191,18 +16754,16 @@ }, "node_modules/forever-agent": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", "dev": true, + "license": "Apache-2.0", "engines": { "node": "*" } }, "node_modules/fork-ts-checker-webpack-plugin": { "version": "6.5.3", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", - "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.8.3", "@types/json-schema": "^7.0.5", @@ -18239,9 +16800,8 @@ }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -18254,9 +16814,8 @@ }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -18270,9 +16829,8 @@ }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -18282,15 +16840,13 @@ }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, + "license": "MIT", "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", @@ -18303,18 +16859,16 @@ }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", "dev": true, + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.4", "ajv": "^6.12.2", @@ -18330,9 +16884,8 @@ }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -18342,18 +16895,16 @@ }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/form-data": { "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, + "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", @@ -18365,8 +16916,7 @@ }, "node_modules/fraction.js": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.1.tgz", - "integrity": "sha512-/KxoyCnPM0GwYI4NN0Iag38Tqt+od3/mLuguepLgCAKPn0ZhC544nssAW0tG2/00zXEYl9W+7hwAIpLHo6Oc7Q==", + "license": "MIT", "peer": true, "engines": { "node": "*" @@ -18378,24 +16928,20 @@ }, "node_modules/freeport-async": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/freeport-async/-/freeport-async-2.0.0.tgz", - "integrity": "sha512-K7od3Uw45AJg00XUmy15+Hae2hOcgKcmN3/EF6Y7i01O0gaqiRx8sUSpsb9+BRNL8RPBrhzPsVfy8q9ADlJuWQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/fresh": { "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/fromentries": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", - "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", "dev": true, "funding": [ { @@ -18410,17 +16956,16 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/fs-constants": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + "license": "MIT" }, "node_modules/fs-extra": { "version": "11.1.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", - "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -18432,8 +16977,7 @@ }, "node_modules/fs-minipass": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "license": "ISC", "dependencies": { "minipass": "^3.0.0" }, @@ -18443,20 +16987,16 @@ }, "node_modules/fs-monkey": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.4.tgz", - "integrity": "sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ==", - "dev": true + "dev": true, + "license": "Unlicense" }, "node_modules/fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + "license": "ISC" }, "node_modules/fsevents": { "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "hasInstallScript": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -18467,13 +17007,11 @@ }, "node_modules/function-bind": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "license": "MIT" }, "node_modules/function.prototype.name": { "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", @@ -18489,38 +17027,33 @@ }, "node_modules/functional-red-black-tree": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/functions-have-names": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/gensync": { "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/get-caller-file": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } }, "node_modules/get-intrinsic": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "license": "MIT", "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -18533,17 +17066,15 @@ }, "node_modules/get-package-type": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "license": "MIT", "engines": { "node": ">=8.0.0" } }, "node_modules/get-pkg-repo": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz", - "integrity": "sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==", "dev": true, + "license": "MIT", "dependencies": { "@hutson/parse-repository-url": "^3.0.0", "hosted-git-info": "^4.0.0", @@ -18559,9 +17090,8 @@ }, "node_modules/get-pkg-repo/node_modules/cliui": { "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, + "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -18570,9 +17100,8 @@ }, "node_modules/get-pkg-repo/node_modules/hosted-git-info": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", "dev": true, + "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -18582,9 +17111,8 @@ }, "node_modules/get-pkg-repo/node_modules/lru-cache": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, + "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -18594,9 +17122,8 @@ }, "node_modules/get-pkg-repo/node_modules/yargs": { "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, + "license": "MIT", "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -18612,21 +17139,18 @@ }, "node_modules/get-port": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/get-port-please": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/get-port-please/-/get-port-please-3.1.1.tgz", - "integrity": "sha512-3UBAyM3u4ZBVYDsxOQfJDxEa6XTbpBDrOjp4mf7ExFRt5BKs/QywQQiJsh2B+hxcZLSapWqCRvElUe8DnKcFHA==" + "license": "MIT" }, "node_modules/get-stream": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "license": "MIT", "dependencies": { "pump": "^3.0.0" }, @@ -18639,8 +17163,7 @@ }, "node_modules/get-symbol-description": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.1" @@ -18654,8 +17177,7 @@ }, "node_modules/get-tsconfig": { "version": "4.7.2", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz", - "integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==", + "license": "MIT", "dependencies": { "resolve-pkg-maps": "^1.0.0" }, @@ -18665,35 +17187,31 @@ }, "node_modules/getenv": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/getenv/-/getenv-1.0.0.tgz", - "integrity": "sha512-7yetJWqbS9sbn0vIfliPsFgoXMKn/YMF+Wuiog97x+urnSRRRZ7xB+uVkwGKzRgq9CDFfMQnE9ruL5DHv9c6Xg==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/getos": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", - "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", "dev": true, + "license": "MIT", "dependencies": { "async": "^3.2.0" } }, "node_modules/getpass": { "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", "dev": true, + "license": "MIT", "dependencies": { "assert-plus": "^1.0.0" } }, "node_modules/git-raw-commits": { "version": "2.0.11", - "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", - "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", "dev": true, + "license": "MIT", "dependencies": { "dargs": "^7.0.0", "lodash": "^4.17.15", @@ -18710,18 +17228,16 @@ }, "node_modules/git-raw-commits/node_modules/through2": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", "dev": true, + "license": "MIT", "dependencies": { "readable-stream": "3" } }, "node_modules/git-remote-origin-url": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", - "integrity": "sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==", "dev": true, + "license": "MIT", "dependencies": { "gitconfiglocal": "^1.0.0", "pify": "^2.3.0" @@ -18732,9 +17248,8 @@ }, "node_modules/git-semver-tags": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz", - "integrity": "sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==", "dev": true, + "license": "MIT", "dependencies": { "meow": "^8.0.0", "semver": "^6.0.0" @@ -18748,37 +17263,32 @@ }, "node_modules/git-semver-tags/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/gitconfiglocal": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", - "integrity": "sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==", "dev": true, + "license": "BSD", "dependencies": { "ini": "^1.3.2" } }, "node_modules/gitconfiglocal/node_modules/ini": { "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/github-from-package": { "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" + "license": "MIT" }, "node_modules/glob": { "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -18796,8 +17306,7 @@ }, "node_modules/glob-parent": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "license": "ISC", "dependencies": { "is-glob": "^4.0.3" }, @@ -18807,14 +17316,12 @@ }, "node_modules/glob-to-regexp": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + "license": "BSD-2-Clause" }, "node_modules/global": { "version": "4.4.0", - "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", - "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", "dev": true, + "license": "MIT", "dependencies": { "min-document": "^2.19.0", "process": "^0.11.10" @@ -18822,8 +17329,7 @@ }, "node_modules/global-agent": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz", - "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==", + "license": "BSD-3-Clause", "optional": true, "dependencies": { "boolean": "^3.0.1", @@ -18839,8 +17345,7 @@ }, "node_modules/global-agent/node_modules/serialize-error": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", - "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", + "license": "MIT", "optional": true, "dependencies": { "type-fest": "^0.13.1" @@ -18854,8 +17359,7 @@ }, "node_modules/global-agent/node_modules/type-fest": { "version": "0.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", - "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "license": "(MIT OR CC0-1.0)", "optional": true, "engines": { "node": ">=10" @@ -18866,9 +17370,8 @@ }, "node_modules/global-dirs": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", - "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", "dev": true, + "license": "MIT", "dependencies": { "ini": "2.0.0" }, @@ -18881,9 +17384,8 @@ }, "node_modules/global-modules": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", "dev": true, + "license": "MIT", "dependencies": { "global-prefix": "^3.0.0" }, @@ -18893,9 +17395,8 @@ }, "node_modules/global-prefix": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", "dev": true, + "license": "MIT", "dependencies": { "ini": "^1.3.5", "kind-of": "^6.0.2", @@ -18907,15 +17408,13 @@ }, "node_modules/global-prefix/node_modules/ini": { "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/global-prefix/node_modules/which": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -18925,16 +17424,14 @@ }, "node_modules/globals": { "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/globalthis": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "license": "MIT", "dependencies": { "define-properties": "^1.1.3" }, @@ -18947,8 +17444,7 @@ }, "node_modules/globby": { "version": "11.0.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", - "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "license": "MIT", "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -18966,8 +17462,7 @@ }, "node_modules/gopd": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "license": "MIT", "dependencies": { "get-intrinsic": "^1.1.3" }, @@ -18977,8 +17472,7 @@ }, "node_modules/got": { "version": "11.8.6", - "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", - "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", + "license": "MIT", "dependencies": { "@sindresorhus/is": "^4.0.0", "@szmarczak/http-timer": "^4.0.5", @@ -19001,26 +17495,22 @@ }, "node_modules/graceful-fs": { "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + "license": "ISC" }, "node_modules/graphemer": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" + "license": "MIT" }, "node_modules/graphql": { "version": "15.8.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.8.0.tgz", - "integrity": "sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw==", + "license": "MIT", "engines": { "node": ">= 10.x" } }, "node_modules/graphql-tag": { "version": "2.12.6", - "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz", - "integrity": "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==", + "license": "MIT", "dependencies": { "tslib": "^2.1.0" }, @@ -19033,9 +17523,8 @@ }, "node_modules/gzip-size": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", "dev": true, + "license": "MIT", "dependencies": { "duplexer": "^0.1.2" }, @@ -19047,14 +17536,13 @@ } }, "node_modules/h3": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/h3/-/h3-1.8.1.tgz", - "integrity": "sha512-m5rFuu+5bpwBBHqqS0zexjK+Q8dhtFRvO9JXQG0RvSPL6QrIT6vv42vuBM22SLOgGMoZYsHk0y7VPidt9s+nkw==", + "version": "1.8.2", + "license": "MIT", "dependencies": { "cookie-es": "^1.0.0", "defu": "^6.1.2", "destr": "^2.0.1", - "iron-webcrypto": "^0.8.0", + "iron-webcrypto": "^0.10.1", "radix3": "^1.1.0", "ufo": "^1.3.0", "uncrypto": "^0.1.3", @@ -19063,9 +17551,8 @@ }, "node_modules/handlebars": { "version": "4.7.8", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", - "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", "dev": true, + "license": "MIT", "dependencies": { "minimist": "^1.2.5", "neo-async": "^2.6.2", @@ -19084,16 +17571,14 @@ }, "node_modules/hard-rejection": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/has": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "license": "MIT", "dependencies": { "function-bind": "^1.1.1" }, @@ -19103,24 +17588,21 @@ }, "node_modules/has-bigints": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/has-property-descriptors": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "license": "MIT", "dependencies": { "get-intrinsic": "^1.1.1" }, @@ -19130,8 +17612,7 @@ }, "node_modules/has-proto": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -19141,8 +17622,7 @@ }, "node_modules/has-symbols": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -19152,8 +17632,7 @@ }, "node_modules/has-tostringtag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "license": "MIT", "dependencies": { "has-symbols": "^1.0.2" }, @@ -19166,8 +17645,7 @@ }, "node_modules/hash-base": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.4", "readable-stream": "^3.6.0", @@ -19179,8 +17657,7 @@ }, "node_modules/hash.js": { "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" @@ -19188,9 +17665,8 @@ }, "node_modules/hasha": { "version": "5.2.2", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", "dev": true, + "license": "MIT", "dependencies": { "is-stream": "^2.0.0", "type-fest": "^0.8.0" @@ -19204,9 +17680,8 @@ }, "node_modules/hasha/node_modules/type-fest": { "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" } @@ -19245,13 +17720,11 @@ }, "node_modules/hex-color-regex": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", - "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" + "license": "MIT" }, "node_modules/hmac-drbg": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "license": "MIT", "dependencies": { "hash.js": "^1.0.3", "minimalistic-assert": "^1.0.0", @@ -19260,16 +17733,14 @@ }, "node_modules/hoist-non-react-statics": { "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "license": "BSD-3-Clause", "dependencies": { "react-is": "^16.7.0" } }, "node_modules/hosted-git-info": { "version": "3.0.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", - "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", + "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -19279,8 +17750,7 @@ }, "node_modules/hosted-git-info/node_modules/lru-cache": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -19290,19 +17760,16 @@ }, "node_modules/hsl-regex": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", - "integrity": "sha512-M5ezZw4LzXbBKMruP+BNANf0k+19hDQMgpzBIYnya//Al+fjNct9Wf3b1WedLqdEs2hKBvxq/jh+DsHJLj0F9A==" + "license": "MIT" }, "node_modules/hsla-regex": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", - "integrity": "sha512-7Wn5GMLuHBjZCb2bTmnDOycho0p/7UVaAeqXZGbHrBCl6Yd/xDhQJAXe6Ga9AXJH2I5zY1dEdYw2u1UptnSBJA==" + "license": "MIT" }, "node_modules/html-encoding-sniffer": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", - "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", "dev": true, + "license": "MIT", "dependencies": { "whatwg-encoding": "^2.0.0" }, @@ -19312,13 +17779,11 @@ }, "node_modules/html-escaper": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + "license": "MIT" }, "node_modules/html-tags": { "version": "3.3.1", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", - "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "license": "MIT", "engines": { "node": ">=8" }, @@ -19328,13 +17793,11 @@ }, "node_modules/http-cache-semantics": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" + "license": "BSD-2-Clause" }, "node_modules/http-errors": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "license": "MIT", "dependencies": { "depd": "2.0.0", "inherits": "2.0.4", @@ -19348,17 +17811,15 @@ }, "node_modules/http-errors/node_modules/statuses": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/http-proxy-agent": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", "dev": true, + "license": "MIT", "dependencies": { "@tootallnate/once": "2", "agent-base": "6", @@ -19370,8 +17831,7 @@ }, "node_modules/http-shutdown": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/http-shutdown/-/http-shutdown-1.2.2.tgz", - "integrity": "sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==", + "license": "MIT", "engines": { "iojs": ">= 1.0.0", "node": ">= 0.12.0" @@ -19379,9 +17839,8 @@ }, "node_modules/http-signature": { "version": "1.3.6", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", - "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", "dev": true, + "license": "MIT", "dependencies": { "assert-plus": "^1.0.0", "jsprim": "^2.0.2", @@ -19393,8 +17852,7 @@ }, "node_modules/http2-wrapper": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", - "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", + "license": "MIT", "dependencies": { "quick-lru": "^5.1.1", "resolve-alpn": "^1.0.0" @@ -19403,10 +17861,13 @@ "node": ">=10.19.0" } }, + "node_modules/https-browserify": { + "version": "1.0.0", + "license": "MIT" + }, "node_modules/https-proxy-agent": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "license": "MIT", "dependencies": { "agent-base": "6", "debug": "4" @@ -19417,23 +17878,20 @@ }, "node_modules/human-signals": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=8.12.0" } }, "node_modules/humanize-duration": { "version": "3.29.0", - "resolved": "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.29.0.tgz", - "integrity": "sha512-G5wZGwYTLaQAmYqhfK91aw3xt6wNbJW1RnWDh4qP1PvF4T/jnkjx2RVhG5kzB2PGsYGTn+oSDBQp+dMdILLxcg==", - "dev": true + "dev": true, + "license": "Unlicense" }, "node_modules/husky": { "version": "8.0.3", - "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", - "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==", + "license": "MIT", "bin": { "husky": "lib/bin.js" }, @@ -19446,18 +17904,15 @@ }, "node_modules/hyphenate-style-name": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz", - "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==" + "license": "BSD-3-Clause" }, "node_modules/i18n-js": { "version": "3.9.2", - "resolved": "https://registry.npmjs.org/i18n-js/-/i18n-js-3.9.2.tgz", - "integrity": "sha512-+Gm8h5HL0emzKhRx2avMKX+nKiVPXeaOZm7Euf2/pbbFcLQoJ3zZYiUykAzoRasijCoWos2Kl1tslmScTgAQKw==" + "license": "MIT" }, "node_modules/iconv-lite": { "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -19467,8 +17922,6 @@ }, "node_modules/ieee754": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "funding": [ { "type": "github", @@ -19482,20 +17935,19 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "BSD-3-Clause" }, "node_modules/ignore": { "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/image-meta": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/image-meta/-/image-meta-0.1.1.tgz", - "integrity": "sha512-+oXiHwOEPr1IE5zY0tcBLED/CYcre15J4nwL50x3o0jxWqEkyjrusiKP3YSU+tr9fvJp33ZcP5Gpj2295g3aEw==", + "license": "MIT", "engines": { "node": ">=10.18.0" } @@ -19516,8 +17968,7 @@ }, "node_modules/immer": { "version": "9.0.21", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", - "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/immer" @@ -19525,8 +17976,7 @@ }, "node_modules/import-fresh": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -19540,24 +17990,21 @@ }, "node_modules/import-fresh/node_modules/resolve-from": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/import-lazy": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/import-local": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "license": "MIT", "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -19574,8 +18021,7 @@ }, "node_modules/import-local/node_modules/find-up": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -19586,8 +18032,7 @@ }, "node_modules/import-local/node_modules/locate-path": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -19597,8 +18042,7 @@ }, "node_modules/import-local/node_modules/p-limit": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -19611,8 +18055,7 @@ }, "node_modules/import-local/node_modules/p-locate": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -19622,8 +18065,7 @@ }, "node_modules/import-local/node_modules/pkg-dir": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "license": "MIT", "dependencies": { "find-up": "^4.0.0" }, @@ -19633,29 +18075,25 @@ }, "node_modules/imurmurhash": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "license": "MIT", "engines": { "node": ">=0.8.19" } }, "node_modules/indent-string": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/infer-owner": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" + "license": "ISC" }, "node_modules/inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -19663,22 +18101,19 @@ }, "node_modules/inherits": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "license": "ISC" }, "node_modules/ini": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", "dev": true, + "license": "ISC", "engines": { "node": ">=10" } }, "node_modules/inline-style-prefixer": { "version": "6.0.4", - "resolved": "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-6.0.4.tgz", - "integrity": "sha512-FwXmZC2zbeeS7NzGjJ6pAiqRhXR0ugUShSNb6GApMl6da0/XGc4MOJsoWAywia52EEWbXNSy0pzkwz/+Y+swSg==", + "license": "MIT", "dependencies": { "css-in-js-utils": "^3.1.0", "fast-loops": "^1.1.3" @@ -19686,9 +18121,8 @@ }, "node_modules/inquirer": { "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-escapes": "^4.2.1", "chalk": "^4.1.0", @@ -19710,9 +18144,8 @@ }, "node_modules/inquirer/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -19725,9 +18158,8 @@ }, "node_modules/inquirer/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -19741,9 +18173,8 @@ }, "node_modules/inquirer/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -19753,24 +18184,21 @@ }, "node_modules/inquirer/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/inquirer/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/inquirer/node_modules/rxjs": { "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "tslib": "^1.9.0" }, @@ -19780,9 +18208,8 @@ }, "node_modules/inquirer/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -19792,22 +18219,19 @@ }, "node_modules/inquirer/node_modules/tslib": { "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true + "dev": true, + "license": "0BSD" }, "node_modules/install": { "version": "0.13.0", - "resolved": "https://registry.npmjs.org/install/-/install-0.13.0.tgz", - "integrity": "sha512-zDml/jzr2PKU9I8J/xyZBQn8rPCAY//UOYNmR01XwNwyfhEWObo2SWfSl1+0tm1u6PhxLwDnfsT/6jB7OUxqFA==", + "license": "MIT", "engines": { "node": ">= 0.10" } }, "node_modules/internal-ip": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", - "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "license": "MIT", "dependencies": { "default-gateway": "^4.2.0", "ipaddr.js": "^1.9.0" @@ -19818,8 +18242,7 @@ }, "node_modules/internal-slot": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "license": "MIT", "dependencies": { "get-intrinsic": "^1.2.0", "has": "^1.0.3", @@ -19831,16 +18254,14 @@ }, "node_modules/invariant": { "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "license": "MIT", "dependencies": { "loose-envify": "^1.0.0" } }, "node_modules/ioredis": { "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.3.2.tgz", - "integrity": "sha512-1DKMMzlIHM02eBBVOFQ1+AolGjs6+xEcM4PDL7NqOS6szq7H9jSaEkIUH6/a5Hl241LzW6JLSiAbNvTQjUupUA==", + "license": "MIT", "dependencies": { "@ioredis/commands": "^1.1.1", "cluster-key-slot": "^1.1.0", @@ -19862,29 +18283,25 @@ }, "node_modules/ip": { "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", - "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" + "license": "MIT" }, "node_modules/ip-regex": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/ipaddr.js": { "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", "engines": { "node": ">= 0.10" } }, "node_modules/ipx": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ipx/-/ipx-1.3.0.tgz", - "integrity": "sha512-Jfu+zQ0NGZwSeZ11CGMOnqWFlIyVcT8dW48e5UxKnMjQXXDy8VLTl8FIP7vRIJ9hd3ZPaJ/RIXXLJfZmBqRXWQ==", + "version": "1.3.1", + "license": "MIT", "dependencies": { "@fastify/accept-negotiator": "^1.1.0", "consola": "^3.2.3", @@ -19892,11 +18309,11 @@ "destr": "^2.0.1", "etag": "^1.8.1", "image-meta": "^0.1.1", - "listhen": "^1.4.4", + "listhen": "^1.5.5", "node-fetch-native": "^1.4.0", "pathe": "^1.1.1", - "sharp": "^0.32.5", - "ufo": "^1.3.0", + "sharp": "^0.32.6", + "ufo": "^1.3.1", "xss": "^1.0.14" }, "bin": { @@ -19904,17 +18321,15 @@ } }, "node_modules/iron-webcrypto": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-0.8.2.tgz", - "integrity": "sha512-jGiwmpgTuF19Vt4hn3+AzaVFGpVZt7A1ysd5ivFel2r4aNVFwqaYa6aU6qsF1PM7b+WFivZHz3nipwUOXaOnHg==", + "version": "0.10.1", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/brc-dd" } }, "node_modules/is-arguments": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -19928,8 +18343,7 @@ }, "node_modules/is-array-buffer": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.2.0", @@ -19941,13 +18355,11 @@ }, "node_modules/is-arrayish": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + "license": "MIT" }, "node_modules/is-async-function": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", - "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -19960,8 +18372,7 @@ }, "node_modules/is-bigint": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "license": "MIT", "dependencies": { "has-bigints": "^1.0.1" }, @@ -19971,8 +18382,7 @@ }, "node_modules/is-binary-path": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "license": "MIT", "dependencies": { "binary-extensions": "^2.0.0" }, @@ -19982,8 +18392,7 @@ }, "node_modules/is-boolean-object": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -19997,13 +18406,11 @@ }, "node_modules/is-buffer": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "license": "MIT" }, "node_modules/is-callable": { "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -20013,9 +18420,8 @@ }, "node_modules/is-ci": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", - "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", "dev": true, + "license": "MIT", "dependencies": { "ci-info": "^3.2.0" }, @@ -20025,8 +18431,7 @@ }, "node_modules/is-color-stop": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", - "integrity": "sha512-H1U8Vz0cfXNujrJzEcvvwMDW9Ra+biSYA3ThdQvAnMLJkEHQXn6bWzLkxHtVYJ+Sdbx0b6finn3jZiaVe7MAHA==", + "license": "MIT", "dependencies": { "css-color-names": "^0.0.4", "hex-color-regex": "^1.1.0", @@ -20038,8 +18443,7 @@ }, "node_modules/is-core-module": { "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "license": "MIT", "dependencies": { "has": "^1.0.3" }, @@ -20049,8 +18453,7 @@ }, "node_modules/is-date-object": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -20071,8 +18474,7 @@ }, "node_modules/is-docker": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "license": "MIT", "bin": { "is-docker": "cli.js" }, @@ -20085,16 +18487,14 @@ }, "node_modules/is-extglob": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-finalizationregistry": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", - "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2" }, @@ -20104,30 +18504,26 @@ }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-function": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", - "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/is-generator-fn": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/is-generator-function": { "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -20140,8 +18536,7 @@ }, "node_modules/is-glob": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -20151,8 +18546,7 @@ }, "node_modules/is-inside-container": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", - "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "license": "MIT", "dependencies": { "is-docker": "^3.0.0" }, @@ -20168,8 +18562,7 @@ }, "node_modules/is-inside-container/node_modules/is-docker": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "license": "MIT", "bin": { "is-docker": "cli.js" }, @@ -20182,9 +18575,8 @@ }, "node_modules/is-installed-globally": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", - "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", "dev": true, + "license": "MIT", "dependencies": { "global-dirs": "^3.0.0", "is-path-inside": "^3.0.2" @@ -20206,8 +18598,7 @@ }, "node_modules/is-invalid-path": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-invalid-path/-/is-invalid-path-0.1.0.tgz", - "integrity": "sha512-aZMG0T3F34mTg4eTdszcGXx54oiZ4NtHSft3hWNJMGJXUUqdIj3cOZuHcU0nCWWcY3jd7yRe/3AEm3vSNTpBGQ==", + "license": "MIT", "dependencies": { "is-glob": "^2.0.0" }, @@ -20217,16 +18608,14 @@ }, "node_modules/is-invalid-path/node_modules/is-extglob": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-invalid-path/node_modules/is-glob": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", + "license": "MIT", "dependencies": { "is-extglob": "^1.0.0" }, @@ -20236,16 +18625,14 @@ }, "node_modules/is-map": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-negative-zero": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -20255,24 +18642,21 @@ }, "node_modules/is-npm": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", - "integrity": "sha512-9r39FIr3d+KD9SbX0sfMsHzb5PP3uimOiwr3YupUaUFG4W0l1U57Rx3utpttV7qz5U3jmrO5auUa04LU9pyHsg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-number": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", "engines": { "node": ">=0.12.0" } }, "node_modules/is-number-object": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -20285,41 +18669,36 @@ }, "node_modules/is-obj": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-path-cwd": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/is-path-inside": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-plain-obj": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-plain-object": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -20329,27 +18708,23 @@ }, "node_modules/is-potential-custom-element-name": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/is-promise": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", - "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==" + "license": "MIT" }, "node_modules/is-redirect": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", - "integrity": "sha512-cr/SlUEe5zOGmzvj9bUyC4LVvkNVAXu4GytXLNMr1pny+a65MpQ9IJzFHD5vi7FyJgb4qt27+eS3TuQnqB+RQw==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-regex": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -20363,32 +18738,28 @@ }, "node_modules/is-retry-allowed": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", - "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-root": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", - "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/is-set": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-shared-array-buffer": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2" }, @@ -20398,8 +18769,7 @@ }, "node_modules/is-stream": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", "engines": { "node": ">=8" }, @@ -20409,8 +18779,7 @@ }, "node_modules/is-string": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -20423,8 +18792,7 @@ }, "node_modules/is-symbol": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "license": "MIT", "dependencies": { "has-symbols": "^1.0.2" }, @@ -20437,9 +18805,8 @@ }, "node_modules/is-text-path": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", - "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", "dev": true, + "license": "MIT", "dependencies": { "text-extensions": "^1.0.0" }, @@ -20449,8 +18816,7 @@ }, "node_modules/is-typed-array": { "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "license": "MIT", "dependencies": { "which-typed-array": "^1.1.11" }, @@ -20463,14 +18829,12 @@ }, "node_modules/is-typedarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/is-unicode-supported": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -20480,8 +18844,7 @@ }, "node_modules/is-valid-path": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-valid-path/-/is-valid-path-0.1.1.tgz", - "integrity": "sha512-+kwPrVDu9Ms03L90Qaml+79+6DZHqHyRoANI6IsZJ/g8frhnfchDOBCa0RbQ6/kdHt5CS5OeIEyrYznNuVN+8A==", + "license": "MIT", "dependencies": { "is-invalid-path": "^0.1.0" }, @@ -20491,16 +18854,14 @@ }, "node_modules/is-weakmap": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-weakref": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2" }, @@ -20510,8 +18871,7 @@ }, "node_modules/is-weakset": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.1" @@ -20522,17 +18882,15 @@ }, "node_modules/is-windows": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-wsl": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "license": "MIT", "dependencies": { "is-docker": "^2.0.0" }, @@ -20542,41 +18900,35 @@ }, "node_modules/isarray": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + "license": "MIT" }, "node_modules/isexe": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + "license": "ISC" }, "node_modules/isobject": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/isstream": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/istanbul-lib-coverage": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", + "license": "BSD-3-Clause", "engines": { "node": ">=8" } }, "node_modules/istanbul-lib-hook": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", - "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "append-transform": "^2.0.0" }, @@ -20586,8 +18938,7 @@ }, "node_modules/istanbul-lib-instrument": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "license": "BSD-3-Clause", "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", @@ -20601,25 +18952,22 @@ }, "node_modules/istanbul-lib-instrument/node_modules/istanbul-lib-coverage": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "license": "BSD-3-Clause", "engines": { "node": ">=8" } }, "node_modules/istanbul-lib-instrument/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/istanbul-lib-processinfo": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz", - "integrity": "sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==", "dev": true, + "license": "ISC", "dependencies": { "archy": "^1.0.0", "cross-spawn": "^7.0.3", @@ -20634,18 +18982,16 @@ }, "node_modules/istanbul-lib-processinfo/node_modules/istanbul-lib-coverage": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=8" } }, "node_modules/istanbul-lib-processinfo/node_modules/p-map": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", "dev": true, + "license": "MIT", "dependencies": { "aggregate-error": "^3.0.0" }, @@ -20655,9 +19001,8 @@ }, "node_modules/istanbul-lib-processinfo/node_modules/rimraf": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -20670,17 +19015,15 @@ }, "node_modules/istanbul-lib-processinfo/node_modules/uuid": { "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true, + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } }, "node_modules/istanbul-lib-report": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "license": "BSD-3-Clause", "dependencies": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^4.0.0", @@ -20692,16 +19035,14 @@ }, "node_modules/istanbul-lib-report/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/istanbul-lib-report/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -20711,8 +19052,7 @@ }, "node_modules/istanbul-lib-source-maps": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "license": "BSD-3-Clause", "dependencies": { "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", @@ -20724,8 +19064,7 @@ }, "node_modules/istanbul-reports": { "version": "3.1.6", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", - "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "license": "BSD-3-Clause", "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" @@ -20736,8 +19075,7 @@ }, "node_modules/iterator.prototype": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.0.tgz", - "integrity": "sha512-rjuhAk1AJ1fssphHD0IFV6TWL40CwRZ53FrztKx43yk2v6rguBYsY4Bj1VU4HmoMmKwZUlx7mfnhDf9cOp4YTw==", + "license": "MIT", "dependencies": { "define-properties": "^1.1.4", "get-intrinsic": "^1.1.3", @@ -20748,8 +19086,7 @@ }, "node_modules/jest": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.6.4.tgz", - "integrity": "sha512-tEFhVQFF/bzoYV1YuGyzLPZ6vlPrdfvDmmAxudA1dLEuiztqg2Rkx20vkKY32xiDROcD2KXlgZ7Cu8RPeEHRKw==", + "license": "MIT", "dependencies": { "@jest/core": "^29.6.4", "@jest/types": "^29.6.3", @@ -20773,8 +19110,7 @@ }, "node_modules/jest-changed-files": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.6.3.tgz", - "integrity": "sha512-G5wDnElqLa4/c66ma5PG9eRjE342lIbF6SUnTJi26C3J28Fv2TVY2rOyKB9YGbSA5ogwevgmxc4j4aVjrEK6Yg==", + "license": "MIT", "dependencies": { "execa": "^5.0.0", "jest-util": "^29.6.3", @@ -20786,8 +19122,7 @@ }, "node_modules/jest-changed-files/node_modules/execa": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", @@ -20808,8 +19143,7 @@ }, "node_modules/jest-changed-files/node_modules/get-stream": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -20819,16 +19153,14 @@ }, "node_modules/jest-changed-files/node_modules/human-signals": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", "engines": { "node": ">=10.17.0" } }, "node_modules/jest-circus": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.6.4.tgz", - "integrity": "sha512-YXNrRyntVUgDfZbjXWBMPslX1mQ8MrSG0oM/Y06j9EYubODIyHWP8hMUbjbZ19M3M+zamqEur7O80HODwACoJw==", + "license": "MIT", "dependencies": { "@jest/environment": "^29.6.4", "@jest/expect": "^29.6.4", @@ -20857,8 +19189,7 @@ }, "node_modules/jest-circus/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -20871,8 +19202,7 @@ }, "node_modules/jest-circus/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -20886,8 +19216,7 @@ }, "node_modules/jest-circus/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -20897,21 +19226,18 @@ }, "node_modules/jest-circus/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/jest-circus/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-circus/node_modules/pretty-format": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -20923,8 +19249,7 @@ }, "node_modules/jest-circus/node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -20934,13 +19259,11 @@ }, "node_modules/jest-circus/node_modules/react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + "license": "MIT" }, "node_modules/jest-circus/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -20950,8 +19273,7 @@ }, "node_modules/jest-cli": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.6.4.tgz", - "integrity": "sha512-+uMCQ7oizMmh8ZwRfZzKIEszFY9ksjjEQnTEMTaL7fYiL3Kw4XhqT9bYh+A4DQKUb67hZn2KbtEnDuHvcgK4pQ==", + "license": "MIT", "dependencies": { "@jest/core": "^29.6.4", "@jest/test-result": "^29.6.4", @@ -20983,8 +19305,7 @@ }, "node_modules/jest-cli/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -20997,8 +19318,7 @@ }, "node_modules/jest-cli/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -21012,8 +19332,7 @@ }, "node_modules/jest-cli/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -21023,21 +19342,18 @@ }, "node_modules/jest-cli/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/jest-cli/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-cli/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -21047,8 +19363,7 @@ }, "node_modules/jest-config": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.6.4.tgz", - "integrity": "sha512-JWohr3i9m2cVpBumQFv2akMEnFEPVOh+9L2xIBJhJ0zOaci2ZXuKJj0tgMKQCBZAKA09H049IR4HVS/43Qb19A==", + "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@jest/test-sequencer": "^29.6.4", @@ -21091,8 +19406,7 @@ }, "node_modules/jest-config/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -21105,8 +19419,7 @@ }, "node_modules/jest-config/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -21120,8 +19433,7 @@ }, "node_modules/jest-config/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -21131,21 +19443,18 @@ }, "node_modules/jest-config/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/jest-config/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-config/node_modules/pretty-format": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -21157,8 +19466,7 @@ }, "node_modules/jest-config/node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -21168,13 +19476,11 @@ }, "node_modules/jest-config/node_modules/react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + "license": "MIT" }, "node_modules/jest-config/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -21184,8 +19490,7 @@ }, "node_modules/jest-diff": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.4.tgz", - "integrity": "sha512-9F48UxR9e4XOEZvoUXEHSWY4qC4zERJaOfrbBg9JpbJOO43R1vN76REt/aMGZoY6GD5g84nnJiBIVlscegefpw==", + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^29.6.3", @@ -21198,8 +19503,7 @@ }, "node_modules/jest-diff/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -21212,8 +19516,7 @@ }, "node_modules/jest-diff/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -21227,8 +19530,7 @@ }, "node_modules/jest-diff/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -21238,21 +19540,18 @@ }, "node_modules/jest-diff/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/jest-diff/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-diff/node_modules/pretty-format": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -21264,8 +19563,7 @@ }, "node_modules/jest-diff/node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -21275,13 +19573,11 @@ }, "node_modules/jest-diff/node_modules/react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + "license": "MIT" }, "node_modules/jest-diff/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -21291,8 +19587,7 @@ }, "node_modules/jest-docblock": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.6.3.tgz", - "integrity": "sha512-2+H+GOTQBEm2+qFSQ7Ma+BvyV+waiIFxmZF5LdpBsAEjWX8QYjSCa4FrkIYtbfXUJJJnFCYrOtt6TZ+IAiTjBQ==", + "license": "MIT", "dependencies": { "detect-newline": "^3.0.0" }, @@ -21302,8 +19597,7 @@ }, "node_modules/jest-each": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.6.3.tgz", - "integrity": "sha512-KoXfJ42k8cqbkfshW7sSHcdfnv5agDdHCPA87ZBdmHP+zJstTJc0ttQaJ/x7zK6noAL76hOuTIJ6ZkQRS5dcyg==", + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", @@ -21317,8 +19611,7 @@ }, "node_modules/jest-each/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -21331,8 +19624,7 @@ }, "node_modules/jest-each/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -21346,8 +19638,7 @@ }, "node_modules/jest-each/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -21357,21 +19648,18 @@ }, "node_modules/jest-each/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/jest-each/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-each/node_modules/pretty-format": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -21383,8 +19671,7 @@ }, "node_modules/jest-each/node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -21394,13 +19681,11 @@ }, "node_modules/jest-each/node_modules/react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + "license": "MIT" }, "node_modules/jest-each/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -21410,9 +19695,8 @@ }, "node_modules/jest-environment-jsdom": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.6.3.tgz", - "integrity": "sha512-nMJz/i27Moit9bv8Z323/13Melj4FEQH93yRu7GnilvBmPBMH4EGEkEfBTJXYuubyzhMO7w/VHzljIDV+Q/SeQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^29.6.3", "@jest/fake-timers": "^29.6.3", @@ -21437,8 +19721,7 @@ }, "node_modules/jest-environment-node": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.4.tgz", - "integrity": "sha512-i7SbpH2dEIFGNmxGCpSc2w9cA4qVD+wfvg2ZnfQ7XVrKL0NA5uDVBIiGH8SR4F0dKEv/0qI5r+aDomDf04DpEQ==", + "license": "MIT", "dependencies": { "@jest/environment": "^29.6.4", "@jest/fake-timers": "^29.6.4", @@ -21453,9 +19736,8 @@ }, "node_modules/jest-expo": { "version": "49.0.0", - "resolved": "https://registry.npmjs.org/jest-expo/-/jest-expo-49.0.0.tgz", - "integrity": "sha512-nglYg6QPYSqCsrsOFiGosQi+m1rrqmYluPbFXNnXNEOrB2MvxMOgQJeWfMHDExHMX1ymLWX+7y8mYo6XVJpBJQ==", "dev": true, + "license": "MIT", "dependencies": { "@expo/config": "~8.1.0", "@jest/create-cache-key-function": "^29.2.1", @@ -21474,15 +19756,13 @@ }, "node_modules/jest-expo/node_modules/react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jest-expo/node_modules/react-test-renderer": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-18.2.0.tgz", - "integrity": "sha512-JWD+aQ0lh2gvh4NM3bBM42Kx+XybOxCpgYK7F8ugAlpaTSnWsX+39Z4XkOykGZAHrjwwTZT3x3KxswVWxHPUqA==", "dev": true, + "license": "MIT", "dependencies": { "react-is": "^18.2.0", "react-shallow-renderer": "^16.15.0", @@ -21494,8 +19774,7 @@ }, "node_modules/jest-extended": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/jest-extended/-/jest-extended-4.0.1.tgz", - "integrity": "sha512-KM6dwuBUAgy6QONuR19CGubZB9Hkjqvl/d5Yc/FXsdB8+gsGxB2VQ+NEdOrr95J4GMPeLnDoPOKyi6+mKCCnZQ==", + "license": "MIT", "dependencies": { "jest-diff": "^29.0.0", "jest-get-type": "^29.0.0" @@ -21514,16 +19793,14 @@ }, "node_modules/jest-get-type": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-haste-map": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.4.tgz", - "integrity": "sha512-12Ad+VNTDHxKf7k+M65sviyynRoZYuL1/GTuhEVb8RYsNSNln71nANRb/faSyWvx0j+gHcivChXHIoMJrGYjog==", + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/graceful-fs": "^4.1.3", @@ -21546,8 +19823,7 @@ }, "node_modules/jest-leak-detector": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.6.3.tgz", - "integrity": "sha512-0kfbESIHXYdhAdpLsW7xdwmYhLf1BRu4AA118/OxFm0Ho1b2RcTmO4oF6aAMaxpxdxnJ3zve2rgwzNBD4Zbm7Q==", + "license": "MIT", "dependencies": { "jest-get-type": "^29.6.3", "pretty-format": "^29.6.3" @@ -21558,8 +19834,7 @@ }, "node_modules/jest-leak-detector/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -21569,8 +19844,7 @@ }, "node_modules/jest-leak-detector/node_modules/pretty-format": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -21582,13 +19856,11 @@ }, "node_modules/jest-leak-detector/node_modules/react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + "license": "MIT" }, "node_modules/jest-matcher-utils": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.4.tgz", - "integrity": "sha512-KSzwyzGvK4HcfnserYqJHYi7sZVqdREJ9DMPAKVbS98JsIAvumihaNUbjrWw0St7p9IY7A9UskCW5MYlGmBQFQ==", + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "jest-diff": "^29.6.4", @@ -21601,8 +19873,7 @@ }, "node_modules/jest-matcher-utils/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -21615,8 +19886,7 @@ }, "node_modules/jest-matcher-utils/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -21630,8 +19900,7 @@ }, "node_modules/jest-matcher-utils/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -21641,21 +19910,18 @@ }, "node_modules/jest-matcher-utils/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/jest-matcher-utils/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-matcher-utils/node_modules/pretty-format": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -21667,8 +19933,7 @@ }, "node_modules/jest-matcher-utils/node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -21678,13 +19943,11 @@ }, "node_modules/jest-matcher-utils/node_modules/react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + "license": "MIT" }, "node_modules/jest-matcher-utils/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -21694,8 +19957,7 @@ }, "node_modules/jest-message-util": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.3.tgz", - "integrity": "sha512-FtzaEEHzjDpQp51HX4UMkPZjy46ati4T5pEMyM6Ik48ztu4T9LQplZ6OsimHx7EuM9dfEh5HJa6D3trEftu3dA==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^29.6.3", @@ -21713,8 +19975,7 @@ }, "node_modules/jest-message-util/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -21727,8 +19988,7 @@ }, "node_modules/jest-message-util/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -21742,8 +20002,7 @@ }, "node_modules/jest-message-util/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -21753,21 +20012,18 @@ }, "node_modules/jest-message-util/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/jest-message-util/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-message-util/node_modules/pretty-format": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -21779,8 +20035,7 @@ }, "node_modules/jest-message-util/node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -21790,13 +20045,11 @@ }, "node_modules/jest-message-util/node_modules/react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + "license": "MIT" }, "node_modules/jest-message-util/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -21806,8 +20059,7 @@ }, "node_modules/jest-mock": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.3.tgz", - "integrity": "sha512-Z7Gs/mOyTSR4yPsaZ72a/MtuK6RnC3JYqWONe48oLaoEcYwEDxqvbXz85G4SJrm2Z5Ar9zp6MiHF4AlFlRM4Pg==", + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -21819,8 +20071,7 @@ }, "node_modules/jest-pnp-resolver": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "license": "MIT", "engines": { "node": ">=6" }, @@ -21835,16 +20086,14 @@ }, "node_modules/jest-regex-util": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", - "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-resolve": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.6.4.tgz", - "integrity": "sha512-fPRq+0vcxsuGlG0O3gyoqGTAxasagOxEuyoxHeyxaZbc9QNek0AmJWSkhjlMG+mTsj+8knc/mWb3fXlRNVih7Q==", + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", @@ -21862,8 +20111,7 @@ }, "node_modules/jest-resolve-dependencies": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.6.4.tgz", - "integrity": "sha512-7+6eAmr1ZBF3vOAJVsfLj1QdqeXG+WYhidfLHBRZqGN24MFRIiKG20ItpLw2qRAsW/D2ZUUmCNf6irUr/v6KHA==", + "license": "MIT", "dependencies": { "jest-regex-util": "^29.6.3", "jest-snapshot": "^29.6.4" @@ -21874,8 +20122,7 @@ }, "node_modules/jest-resolve/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -21888,8 +20135,7 @@ }, "node_modules/jest-resolve/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -21903,8 +20149,7 @@ }, "node_modules/jest-resolve/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -21914,21 +20159,18 @@ }, "node_modules/jest-resolve/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/jest-resolve/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-resolve/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -21938,8 +20180,7 @@ }, "node_modules/jest-runner": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.6.4.tgz", - "integrity": "sha512-SDaLrMmtVlQYDuG0iSPYLycG8P9jLI+fRm8AF/xPKhYDB2g6xDWjXBrR5M8gEWsK6KVFlebpZ4QsrxdyIX1Jaw==", + "license": "MIT", "dependencies": { "@jest/console": "^29.6.4", "@jest/environment": "^29.6.4", @@ -21969,8 +20210,7 @@ }, "node_modules/jest-runner/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -21983,8 +20223,7 @@ }, "node_modules/jest-runner/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -21998,8 +20237,7 @@ }, "node_modules/jest-runner/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -22009,21 +20247,18 @@ }, "node_modules/jest-runner/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/jest-runner/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-runner/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -22033,8 +20268,7 @@ }, "node_modules/jest-runtime": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.6.4.tgz", - "integrity": "sha512-s/QxMBLvmwLdchKEjcLfwzP7h+jsHvNEtxGP5P+Fl1FMaJX2jMiIqe4rJw4tFprzCwuSvVUo9bn0uj4gNRXsbA==", + "license": "MIT", "dependencies": { "@jest/environment": "^29.6.4", "@jest/fake-timers": "^29.6.4", @@ -22065,8 +20299,7 @@ }, "node_modules/jest-runtime/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -22079,8 +20312,7 @@ }, "node_modules/jest-runtime/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -22094,8 +20326,7 @@ }, "node_modules/jest-runtime/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -22105,21 +20336,18 @@ }, "node_modules/jest-runtime/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/jest-runtime/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-runtime/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -22129,8 +20357,7 @@ }, "node_modules/jest-snapshot": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.4.tgz", - "integrity": "sha512-VC1N8ED7+4uboUKGIDsbvNAZb6LakgIPgAF4RSpF13dN6YaMokfRqO+BaqK4zIh6X3JffgwbzuGqDEjHm/MrvA==", + "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@babel/generator": "^7.7.2", @@ -22159,8 +20386,7 @@ }, "node_modules/jest-snapshot/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -22173,8 +20399,7 @@ }, "node_modules/jest-snapshot/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -22188,8 +20413,7 @@ }, "node_modules/jest-snapshot/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -22199,21 +20423,18 @@ }, "node_modules/jest-snapshot/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/jest-snapshot/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-snapshot/node_modules/pretty-format": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -22225,8 +20446,7 @@ }, "node_modules/jest-snapshot/node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -22236,13 +20456,11 @@ }, "node_modules/jest-snapshot/node_modules/react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + "license": "MIT" }, "node_modules/jest-snapshot/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -22252,8 +20470,7 @@ }, "node_modules/jest-util": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.3.tgz", - "integrity": "sha512-QUjna/xSy4B32fzcKTSz1w7YYzgiHrjjJjevdRf61HYk998R5vVMMNmrHESYZVDS5DSWs+1srPLPKxXPkeSDOA==", + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -22268,8 +20485,7 @@ }, "node_modules/jest-util/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -22282,8 +20498,7 @@ }, "node_modules/jest-util/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -22297,8 +20512,7 @@ }, "node_modules/jest-util/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -22308,21 +20522,18 @@ }, "node_modules/jest-util/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/jest-util/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-util/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -22332,8 +20543,7 @@ }, "node_modules/jest-validate": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.3.tgz", - "integrity": "sha512-e7KWZcAIX+2W1o3cHfnqpGajdCs1jSM3DkXjGeLSNmCazv1EeI1ggTeK5wdZhF+7N+g44JI2Od3veojoaumlfg==", + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "camelcase": "^6.2.0", @@ -22348,8 +20558,7 @@ }, "node_modules/jest-validate/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -22362,8 +20571,7 @@ }, "node_modules/jest-validate/node_modules/camelcase": { "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -22373,8 +20581,7 @@ }, "node_modules/jest-validate/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -22388,8 +20595,7 @@ }, "node_modules/jest-validate/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -22399,21 +20605,18 @@ }, "node_modules/jest-validate/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/jest-validate/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-validate/node_modules/pretty-format": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -22425,8 +20628,7 @@ }, "node_modules/jest-validate/node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -22436,13 +20638,11 @@ }, "node_modules/jest-validate/node_modules/react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + "license": "MIT" }, "node_modules/jest-validate/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -22452,9 +20652,8 @@ }, "node_modules/jest-watch-select-projects": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/jest-watch-select-projects/-/jest-watch-select-projects-2.0.0.tgz", - "integrity": "sha512-j00nW4dXc2NiCW6znXgFLF9g8PJ0zP25cpQ1xRro/HU2GBfZQFZD0SoXnAlaoKkIY4MlfTMkKGbNXFpvCdjl1w==", "dev": true, + "license": "MIT", "dependencies": { "ansi-escapes": "^4.3.0", "chalk": "^3.0.0", @@ -22463,9 +20662,8 @@ }, "node_modules/jest-watch-select-projects/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -22478,9 +20676,8 @@ }, "node_modules/jest-watch-select-projects/node_modules/chalk": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -22491,9 +20688,8 @@ }, "node_modules/jest-watch-select-projects/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -22503,24 +20699,21 @@ }, "node_modules/jest-watch-select-projects/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jest-watch-select-projects/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-watch-select-projects/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -22530,9 +20723,8 @@ }, "node_modules/jest-watch-typeahead": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-2.2.1.tgz", - "integrity": "sha512-jYpYmUnTzysmVnwq49TAxlmtOAwp8QIqvZyoofQFn8fiWhEDZj33ZXzg3JA4nGnzWFm1hbWf3ADpteUokvXgFA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-escapes": "^6.0.0", "chalk": "^4.0.0", @@ -22551,9 +20743,8 @@ }, "node_modules/jest-watch-typeahead/node_modules/ansi-escapes": { "version": "6.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.0.tgz", - "integrity": "sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==", "dev": true, + "license": "MIT", "dependencies": { "type-fest": "^3.0.0" }, @@ -22566,9 +20757,8 @@ }, "node_modules/jest-watch-typeahead/node_modules/ansi-regex": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -22578,9 +20768,8 @@ }, "node_modules/jest-watch-typeahead/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -22593,9 +20782,8 @@ }, "node_modules/jest-watch-typeahead/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -22609,18 +20797,16 @@ }, "node_modules/jest-watch-typeahead/node_modules/char-regex": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz", - "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==", "dev": true, + "license": "MIT", "engines": { "node": ">=12.20" } }, "node_modules/jest-watch-typeahead/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -22630,24 +20816,21 @@ }, "node_modules/jest-watch-typeahead/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jest-watch-typeahead/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-watch-typeahead/node_modules/slash": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", - "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", "dev": true, + "license": "MIT", "engines": { "node": ">=14.16" }, @@ -22657,9 +20840,8 @@ }, "node_modules/jest-watch-typeahead/node_modules/string-length": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", - "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", "dev": true, + "license": "MIT", "dependencies": { "char-regex": "^2.0.0", "strip-ansi": "^7.0.1" @@ -22673,9 +20855,8 @@ }, "node_modules/jest-watch-typeahead/node_modules/strip-ansi": { "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -22688,9 +20869,8 @@ }, "node_modules/jest-watch-typeahead/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -22700,9 +20880,8 @@ }, "node_modules/jest-watch-typeahead/node_modules/type-fest": { "version": "3.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", - "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=14.16" }, @@ -22712,8 +20891,7 @@ }, "node_modules/jest-watcher": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.4.tgz", - "integrity": "sha512-oqUWvx6+On04ShsT00Ir9T4/FvBeEh2M9PTubgITPxDa739p4hoQweWPRGyYeaojgT0xTpZKF0Y/rSY1UgMxvQ==", + "license": "MIT", "dependencies": { "@jest/test-result": "^29.6.4", "@jest/types": "^29.6.3", @@ -22730,8 +20908,7 @@ }, "node_modules/jest-watcher/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -22744,8 +20921,7 @@ }, "node_modules/jest-watcher/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -22759,8 +20935,7 @@ }, "node_modules/jest-watcher/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -22770,21 +20945,18 @@ }, "node_modules/jest-watcher/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/jest-watcher/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-watcher/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -22794,8 +20966,7 @@ }, "node_modules/jest-worker": { "version": "29.6.4", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.4.tgz", - "integrity": "sha512-6dpvFV4WjcWbDVGgHTWo/aupl8/LbBx2NSKfiwqf79xC/yeJjKHT1+StcKy/2KTmW16hE68ccKVOtXf+WZGz7Q==", + "license": "MIT", "dependencies": { "@types/node": "*", "jest-util": "^29.6.3", @@ -22808,16 +20979,14 @@ }, "node_modules/jest-worker/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-worker/node_modules/supports-color": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -22830,9 +20999,8 @@ }, "node_modules/jimp": { "version": "0.12.1", - "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.12.1.tgz", - "integrity": "sha512-0soPJif+yjmzmOF+4cF2hyhxUWWpXpQntsm2joJXFFoRcQiPzsG4dbLKYqYPT3Fc6PjZ8MaLtCkDqqckVSfmRw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.7.2", "@jimp/custom": "^0.12.1", @@ -22843,27 +21011,23 @@ }, "node_modules/jimp-compact": { "version": "0.16.1", - "resolved": "https://registry.npmjs.org/jimp-compact/-/jimp-compact-0.16.1.tgz", - "integrity": "sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww==" + "license": "MIT" }, "node_modules/jimp/node_modules/regenerator-runtime": { "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jiti": { "version": "1.20.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.20.0.tgz", - "integrity": "sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==", + "license": "MIT", "bin": { "jiti": "bin/jiti.js" } }, "node_modules/joi": { "version": "17.9.2", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.9.2.tgz", - "integrity": "sha512-Itk/r+V4Dx0V3c7RLFdRh12IOjySm2/WGPMubBT92cQvRfYZhPM2W0hZlctjj72iES8jsRCwp7S/cRmWBnJ4nw==", + "license": "BSD-3-Clause", "dependencies": { "@hapi/hoek": "^9.0.0", "@hapi/topo": "^5.0.0", @@ -22874,29 +21038,24 @@ }, "node_modules/join-component": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/join-component/-/join-component-1.1.0.tgz", - "integrity": "sha512-bF7vcQxbODoGK1imE2P9GS9aw4zD0Sd+Hni68IMZLj7zRnquH7dXUmMw9hDI5S/Jzt7q+IyTXN0rSg2GI0IKhQ==" + "license": "MIT" }, "node_modules/jpeg-js": { "version": "0.4.4", - "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.4.tgz", - "integrity": "sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/js-sha3": { "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + "license": "MIT" }, "node_modules/js-tokens": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "license": "MIT" }, "node_modules/js-yaml": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -22906,24 +21065,20 @@ }, "node_modules/jsbn": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jsc-android": { "version": "250231.0.0", - "resolved": "https://registry.npmjs.org/jsc-android/-/jsc-android-250231.0.0.tgz", - "integrity": "sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==" + "license": "BSD-2-Clause" }, "node_modules/jsc-safe-url": { "version": "0.2.4", - "resolved": "https://registry.npmjs.org/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz", - "integrity": "sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==" + "license": "0BSD" }, "node_modules/jscodeshift": { "version": "0.14.0", - "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.14.0.tgz", - "integrity": "sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==", + "license": "MIT", "dependencies": { "@babel/core": "^7.13.16", "@babel/parser": "^7.13.16", @@ -22954,8 +21109,7 @@ }, "node_modules/jscodeshift/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -22968,8 +21122,7 @@ }, "node_modules/jscodeshift/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -22983,8 +21136,7 @@ }, "node_modules/jscodeshift/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -22994,21 +21146,18 @@ }, "node_modules/jscodeshift/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/jscodeshift/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jscodeshift/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -23018,9 +21167,8 @@ }, "node_modules/jsdom": { "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", - "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", "dev": true, + "license": "MIT", "dependencies": { "abab": "^2.0.6", "acorn": "^8.8.1", @@ -23063,9 +21211,8 @@ }, "node_modules/jsdom/node_modules/form-data": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "dev": true, + "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -23077,9 +21224,8 @@ }, "node_modules/jsdom/node_modules/ws": { "version": "8.13.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", - "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -23098,8 +21244,7 @@ }, "node_modules/jsesc": { "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, @@ -23109,29 +21254,24 @@ }, "node_modules/json-buffer": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + "license": "MIT" }, "node_modules/json-parse-better-errors": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + "license": "MIT" }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + "license": "MIT" }, "node_modules/json-schema": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true + "dev": true, + "license": "(AFL-2.1 OR BSD-3-Clause)" }, "node_modules/json-schema-deref-sync": { "version": "0.13.0", - "resolved": "https://registry.npmjs.org/json-schema-deref-sync/-/json-schema-deref-sync-0.13.0.tgz", - "integrity": "sha512-YBOEogm5w9Op337yb6pAT6ZXDqlxAsQCanM3grid8lMWNxRJO/zWEJi3ZzqDL8boWfwhTFym5EFrNgWwpqcBRg==", + "license": "MIT", "dependencies": { "clone": "^2.1.2", "dag-map": "~1.0.0", @@ -23148,8 +21288,7 @@ }, "node_modules/json-schema-deref-sync/node_modules/md5": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz", - "integrity": "sha512-PlGG4z5mBANDGCKsYQe0CaUYHdZYZt8ZPZLmEt+Urf0W4GlpTX4HescwHU+dc9+Z/G/vZKYZYFrwgm9VxK6QOQ==", + "license": "BSD-3-Clause", "dependencies": { "charenc": "~0.0.1", "crypt": "~0.0.1", @@ -23158,24 +21297,20 @@ }, "node_modules/json-schema-traverse": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "license": "MIT" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" + "license": "MIT" }, "node_modules/json-stringify-safe": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "devOptional": true + "devOptional": true, + "license": "ISC" }, "node_modules/json5": { "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "license": "MIT", "bin": { "json5": "lib/cli.js" }, @@ -23185,13 +21320,11 @@ }, "node_modules/jsonc-parser": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" + "license": "MIT" }, "node_modules/jsonfile": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "license": "MIT", "dependencies": { "universalify": "^2.0.0" }, @@ -23201,18 +21334,16 @@ }, "node_modules/jsonparse": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", "dev": true, "engines": [ "node >= 0.2.0" - ] + ], + "license": "MIT" }, "node_modules/JSONStream": { "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", "dev": true, + "license": "(MIT OR Apache-2.0)", "dependencies": { "jsonparse": "^1.2.0", "through": ">=2.2.7 <3" @@ -23226,12 +21357,11 @@ }, "node_modules/jsprim": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", - "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", "dev": true, "engines": [ "node >=0.6.0" ], + "license": "MIT", "dependencies": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -23241,8 +21371,7 @@ }, "node_modules/jsx-ast-utils": { "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "license": "MIT", "dependencies": { "array-includes": "^3.1.6", "array.prototype.flat": "^1.3.1", @@ -23255,9 +21384,8 @@ }, "node_modules/keccak": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.4.tgz", - "integrity": "sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==", "hasInstallScript": true, + "license": "MIT", "dependencies": { "node-addon-api": "^2.0.0", "node-gyp-build": "^4.2.0", @@ -23269,45 +21397,39 @@ }, "node_modules/keyv": { "version": "4.5.3", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", - "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", + "license": "MIT", "dependencies": { "json-buffer": "3.0.1" } }, "node_modules/kind-of": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/kleur": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/language-subtag-registry": { "version": "0.3.22", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" + "license": "CC0-1.0" }, "node_modules/language-tags": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", + "license": "MIT", "dependencies": { "language-subtag-registry": "~0.3.2" } }, "node_modules/latest-version": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", - "integrity": "sha512-Be1YRHWWlZaSsrz2U+VInk+tO0EwLIyV+23RhWLINJYwg/UIikxjlj3MhH37/6/EDCAusjajvMkMMUXRaMWl/w==", + "license": "MIT", "dependencies": { "package-json": "^4.0.0" }, @@ -23317,17 +21439,15 @@ }, "node_modules/lazy-ass": { "version": "1.6.0", - "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", - "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", "dev": true, + "license": "MIT", "engines": { "node": "> 0.8" } }, "node_modules/lazystream": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", - "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", + "license": "MIT", "dependencies": { "readable-stream": "^2.0.5" }, @@ -23337,13 +21457,11 @@ }, "node_modules/lazystream/node_modules/isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "license": "MIT" }, "node_modules/lazystream/node_modules/readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -23356,29 +21474,25 @@ }, "node_modules/lazystream/node_modules/safe-buffer": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "license": "MIT" }, "node_modules/lazystream/node_modules/string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/leven": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/levn": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -23389,8 +21503,7 @@ }, "node_modules/lightningcss": { "version": "1.19.0", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.19.0.tgz", - "integrity": "sha512-yV5UR7og+Og7lQC+70DA7a8ta1uiOPnWPJfxa0wnxylev5qfo4P+4iMpzWAdYWOca4jdNQZii+bDL/l+4hUXIA==", + "license": "MPL-2.0", "dependencies": { "detect-libc": "^1.0.3" }, @@ -23414,11 +21527,10 @@ }, "node_modules/lightningcss-darwin-arm64": { "version": "1.19.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.19.0.tgz", - "integrity": "sha512-wIJmFtYX0rXHsXHSr4+sC5clwblEMji7HHQ4Ub1/CznVRxtCFha6JIt5JZaNf8vQrfdZnBxLLC6R8pC818jXqg==", "cpu": [ "arm64" ], + "license": "MPL-2.0", "optional": true, "os": [ "darwin" @@ -23431,156 +21543,20 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/lightningcss-darwin-x64": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.19.0.tgz", - "integrity": "sha512-Lif1wD6P4poaw9c/4Uh2z+gmrWhw/HtXFoeZ3bEsv6Ia4tt8rOJBdkfVaUJ6VXmpKHALve+iTyP2+50xY1wKPw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.19.0.tgz", - "integrity": "sha512-P15VXY5682mTXaiDtbnLYQflc8BYb774j2R84FgDLJTN6Qp0ZjWEFyN1SPqyfTj2B2TFjRHRUvQSSZ7qN4Weig==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.19.0.tgz", - "integrity": "sha512-zwXRjWqpev8wqO0sv0M1aM1PpjHz6RVIsBcxKszIG83Befuh4yNysjgHVplF9RTU7eozGe3Ts7r6we1+Qkqsww==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.19.0.tgz", - "integrity": "sha512-vSCKO7SDnZaFN9zEloKSZM5/kC5gbzUjoJQ43BvUpyTFUX7ACs/mDfl2Eq6fdz2+uWhUh7vf92c4EaaP4udEtA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.19.0.tgz", - "integrity": "sha512-0AFQKvVzXf9byrXUq9z0anMGLdZJS+XSDqidyijI5njIwj6MdbvX2UZK/c4FfNmeRa2N/8ngTffoIuOUit5eIQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-musl": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.19.0.tgz", - "integrity": "sha512-SJoM8CLPt6ECCgSuWe+g0qo8dqQYVcPiW2s19dxkmSI5+Uu1GIRzyKA0b7QqmEXolA+oSJhQqCmJpzjY4CuZAg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.19.0.tgz", - "integrity": "sha512-C+VuUTeSUOAaBZZOPT7Etn/agx/MatzJzGRkeV+zEABmPuntv1zihncsi+AyGmjkkzq3wVedEy7h0/4S84mUtg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, "node_modules/lilconfig": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/lines-and-columns": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + "license": "MIT" }, "node_modules/lint-staged": { "version": "14.0.1", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-14.0.1.tgz", - "integrity": "sha512-Mw0cL6HXnHN1ag0mN/Dg4g6sr8uf8sn98w2Oc1ECtFto9tvRF7nkXGJRbx8gPlHyoR0pLyBr2lQHbWwmUHe1Sw==", + "license": "MIT", "dependencies": { "chalk": "5.3.0", "commander": "11.0.0", @@ -23605,8 +21581,7 @@ }, "node_modules/lint-staged/node_modules/ansi-escapes": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-5.0.0.tgz", - "integrity": "sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==", + "license": "MIT", "dependencies": { "type-fest": "^1.0.2" }, @@ -23619,8 +21594,7 @@ }, "node_modules/lint-staged/node_modules/ansi-regex": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -23630,8 +21604,7 @@ }, "node_modules/lint-staged/node_modules/ansi-styles": { "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -23641,8 +21614,7 @@ }, "node_modules/lint-staged/node_modules/chalk": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "license": "MIT", "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" }, @@ -23652,8 +21624,7 @@ }, "node_modules/lint-staged/node_modules/cli-cursor": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", - "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", + "license": "MIT", "dependencies": { "restore-cursor": "^4.0.0" }, @@ -23666,8 +21637,7 @@ }, "node_modules/lint-staged/node_modules/cli-truncate": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz", - "integrity": "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==", + "license": "MIT", "dependencies": { "slice-ansi": "^5.0.0", "string-width": "^5.0.0" @@ -23681,16 +21651,14 @@ }, "node_modules/lint-staged/node_modules/commander": { "version": "11.0.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-11.0.0.tgz", - "integrity": "sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==", + "license": "MIT", "engines": { "node": ">=16" } }, "node_modules/lint-staged/node_modules/execa": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", - "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.1", @@ -23711,8 +21679,7 @@ }, "node_modules/lint-staged/node_modules/get-stream": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -23722,16 +21689,14 @@ }, "node_modules/lint-staged/node_modules/human-signals": { "version": "4.3.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", - "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "license": "Apache-2.0", "engines": { "node": ">=14.18.0" } }, "node_modules/lint-staged/node_modules/is-fullwidth-code-point": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", - "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -23741,8 +21706,7 @@ }, "node_modules/lint-staged/node_modules/is-stream": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, @@ -23752,8 +21716,7 @@ }, "node_modules/lint-staged/node_modules/listr2": { "version": "6.6.1", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-6.6.1.tgz", - "integrity": "sha512-+rAXGHh0fkEWdXBmX+L6mmfmXmXvDGEKzkjxO+8mP3+nI/r/CWznVBvsibXdxda9Zz0OW2e2ikphN3OwCT/jSg==", + "license": "MIT", "dependencies": { "cli-truncate": "^3.1.0", "colorette": "^2.0.20", @@ -23776,8 +21739,7 @@ }, "node_modules/lint-staged/node_modules/log-update": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-5.0.1.tgz", - "integrity": "sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==", + "license": "MIT", "dependencies": { "ansi-escapes": "^5.0.0", "cli-cursor": "^4.0.0", @@ -23794,8 +21756,7 @@ }, "node_modules/lint-staged/node_modules/mimic-fn": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -23805,8 +21766,7 @@ }, "node_modules/lint-staged/node_modules/npm-run-path": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", - "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "license": "MIT", "dependencies": { "path-key": "^4.0.0" }, @@ -23819,8 +21779,7 @@ }, "node_modules/lint-staged/node_modules/onetime": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "license": "MIT", "dependencies": { "mimic-fn": "^4.0.0" }, @@ -23833,8 +21792,7 @@ }, "node_modules/lint-staged/node_modules/path-key": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -23844,8 +21802,7 @@ }, "node_modules/lint-staged/node_modules/restore-cursor": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", - "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", + "license": "MIT", "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" @@ -23859,16 +21816,14 @@ }, "node_modules/lint-staged/node_modules/restore-cursor/node_modules/mimic-fn": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/lint-staged/node_modules/restore-cursor/node_modules/onetime": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" }, @@ -23881,8 +21836,7 @@ }, "node_modules/lint-staged/node_modules/slice-ansi": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", - "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "license": "MIT", "dependencies": { "ansi-styles": "^6.0.0", "is-fullwidth-code-point": "^4.0.0" @@ -23896,8 +21850,7 @@ }, "node_modules/lint-staged/node_modules/string-width": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -23912,8 +21865,7 @@ }, "node_modules/lint-staged/node_modules/strip-ansi": { "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -23926,8 +21878,7 @@ }, "node_modules/lint-staged/node_modules/strip-final-newline": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -23937,8 +21888,7 @@ }, "node_modules/lint-staged/node_modules/type-fest": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -23948,8 +21898,7 @@ }, "node_modules/lint-staged/node_modules/wrap-ansi": { "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -23964,8 +21913,7 @@ }, "node_modules/listhen": { "version": "1.5.5", - "resolved": "https://registry.npmjs.org/listhen/-/listhen-1.5.5.tgz", - "integrity": "sha512-LXe8Xlyh3gnxdv4tSjTjscD1vpr/2PRpzq8YIaMJgyKzRG8wdISlWVWnGThJfHnlJ6hmLt2wq1yeeix0TEbuoA==", + "license": "MIT", "dependencies": { "@parcel/watcher": "^2.3.0", "@parcel/watcher-wasm": "2.3.0", @@ -23992,9 +21940,8 @@ }, "node_modules/listr2": { "version": "3.14.0", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", - "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", "dev": true, + "license": "MIT", "dependencies": { "cli-truncate": "^2.1.0", "colorette": "^2.0.16", @@ -24019,9 +21966,8 @@ }, "node_modules/load-bmfont": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.4.1.tgz", - "integrity": "sha512-8UyQoYmdRDy81Brz6aLAUhfZLwr5zV0L3taTQ4hju7m6biuwiWiJXjPhBJxbUQJA8PrkvJ/7Enqmwk2sM14soA==", "dev": true, + "license": "MIT", "dependencies": { "buffer-equal": "0.0.1", "mime": "^1.3.4", @@ -24035,9 +21981,8 @@ }, "node_modules/load-bmfont/node_modules/mime": { "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, + "license": "MIT", "bin": { "mime": "cli.js" }, @@ -24047,9 +21992,8 @@ }, "node_modules/load-json-file": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", "dev": true, + "license": "MIT", "dependencies": { "graceful-fs": "^4.1.2", "parse-json": "^4.0.0", @@ -24062,9 +22006,8 @@ }, "node_modules/load-json-file/node_modules/parse-json": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", "dev": true, + "license": "MIT", "dependencies": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" @@ -24075,27 +22018,24 @@ }, "node_modules/load-json-file/node_modules/pify": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/load-json-file/node_modules/strip-bom": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/loader-runner": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=6.11.5" @@ -24103,17 +22043,15 @@ }, "node_modules/loader-utils": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", - "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 12.13.0" } }, "node_modules/locate-path": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -24126,66 +22064,54 @@ }, "node_modules/lodash": { "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "license": "MIT" }, "node_modules/lodash.debounce": { "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + "license": "MIT" }, "node_modules/lodash.defaults": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==" + "license": "MIT" }, "node_modules/lodash.difference": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", - "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==" + "license": "MIT" }, "node_modules/lodash.flatten": { "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==" + "license": "MIT" }, "node_modules/lodash.flattendeep": { "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.isarguments": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==" + "license": "MIT" }, "node_modules/lodash.ismatch": { "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", - "integrity": "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.isplainobject": { "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + "license": "MIT" }, "node_modules/lodash.memoize": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + "license": "MIT" }, "node_modules/lodash.merge": { "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + "license": "MIT" }, "node_modules/lodash.once": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.throttle": { "version": "4.1.1", @@ -24194,18 +22120,15 @@ }, "node_modules/lodash.topath": { "version": "4.5.2", - "resolved": "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz", - "integrity": "sha512-1/W4dM+35DwvE/iEd1M9ekewOSTlpFekhw9mhAtrwjVqUr83/ilQiyAvmg4tVX7Unkcfl1KC+i9WdaT4B6aQcg==" + "license": "MIT" }, "node_modules/lodash.union": { "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", - "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==" + "license": "MIT" }, "node_modules/log-symbols": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "license": "MIT", "dependencies": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" @@ -24219,8 +22142,7 @@ }, "node_modules/log-symbols/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -24233,8 +22155,7 @@ }, "node_modules/log-symbols/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -24248,8 +22169,7 @@ }, "node_modules/log-symbols/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -24259,21 +22179,18 @@ }, "node_modules/log-symbols/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/log-symbols/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/log-symbols/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -24283,9 +22200,8 @@ }, "node_modules/log-update": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", - "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", "dev": true, + "license": "MIT", "dependencies": { "ansi-escapes": "^4.3.0", "cli-cursor": "^3.1.0", @@ -24301,9 +22217,8 @@ }, "node_modules/log-update/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -24316,9 +22231,8 @@ }, "node_modules/log-update/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -24328,15 +22242,13 @@ }, "node_modules/log-update/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/log-update/node_modules/slice-ansi": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", @@ -24351,9 +22263,8 @@ }, "node_modules/log-update/node_modules/wrap-ansi": { "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -24517,8 +22428,7 @@ }, "node_modules/loose-envify": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, @@ -24528,38 +22438,33 @@ }, "node_modules/lossless-json": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/lossless-json/-/lossless-json-1.0.5.tgz", - "integrity": "sha512-RicKUuLwZVNZ6ZdJHgIZnSeA05p8qWc5NW0uR96mpPIjN9WDLUg9+kj1esQU1GkPn9iLZVKatSQK5gyiaFHgJA==" + "license": "MIT" }, "node_modules/lowercase-keys": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/lru-cache": { "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "license": "ISC", "engines": { "node": ">=12" } }, "node_modules/lz-string": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", - "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", "dev": true, + "license": "MIT", "bin": { "lz-string": "bin/bin.js" } }, "node_modules/make-dir": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "license": "MIT", "dependencies": { "semver": "^7.5.3" }, @@ -24572,21 +22477,18 @@ }, "node_modules/make-error": { "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" + "license": "ISC" }, "node_modules/makeerror": { "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "license": "BSD-3-Clause", "dependencies": { "tmpl": "1.0.5" } }, "node_modules/map-obj": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "license": "MIT", "engines": { "node": ">=8" }, @@ -24596,13 +22498,11 @@ }, "node_modules/match-all": { "version": "1.2.6", - "resolved": "https://registry.npmjs.org/match-all/-/match-all-1.2.6.tgz", - "integrity": "sha512-0EESkXiTkWzrQQntBu2uzKvLu6vVkUGz40nGPbSZuegcfE5UuSzNjLaIu76zJWuaT/2I3Z/8M06OlUOZLGwLlQ==" + "license": "MIT" }, "node_modules/matcher": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", - "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", + "license": "MIT", "optional": true, "dependencies": { "escape-string-regexp": "^4.0.0" @@ -24613,16 +22513,14 @@ }, "node_modules/matchmediaquery": { "version": "0.3.1", - "resolved": "https://registry.npmjs.org/matchmediaquery/-/matchmediaquery-0.3.1.tgz", - "integrity": "sha512-Hlk20WQHRIm9EE9luN1kjRjYXAQToHOIAHPJn9buxBwuhfTHoKUcX+lXBbxc85DVQfXYbEQ4HcwQdd128E3qHQ==", + "license": "MIT", "dependencies": { "css-mediaquery": "^0.1.2" } }, "node_modules/md5": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", - "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "license": "BSD-3-Clause", "dependencies": { "charenc": "0.0.2", "crypt": "0.0.2", @@ -24631,8 +22529,7 @@ }, "node_modules/md5-file": { "version": "3.2.3", - "resolved": "https://registry.npmjs.org/md5-file/-/md5-file-3.2.3.tgz", - "integrity": "sha512-3Tkp1piAHaworfcCgH0jKbTvj1jWWFgbvh2cXaNCgHwyTCBxxvD1Y04rmfpvdPm1P4oXMOpm6+2H7sr7v9v8Fw==", + "license": "MIT", "dependencies": { "buffer-alloc": "^1.1.0" }, @@ -24645,8 +22542,7 @@ }, "node_modules/md5.js": { "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "license": "MIT", "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1", @@ -24655,27 +22551,23 @@ }, "node_modules/md5hex": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/md5hex/-/md5hex-1.0.0.tgz", - "integrity": "sha512-c2YOUbp33+6thdCUi34xIyOU/a7bvGKj/3DB1iaPMTuPHf/Q2d5s4sn1FaCOO43XkXggnb08y5W2PU8UNYNLKQ==" + "license": "MIT" }, "node_modules/mdn-data": { "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + "license": "CC0-1.0" }, "node_modules/media-typer": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/memfs": { "version": "3.5.3", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", - "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", "dev": true, + "license": "Unlicense", "dependencies": { "fs-monkey": "^1.0.4" }, @@ -24685,19 +22577,16 @@ }, "node_modules/memoize-one": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", - "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==" + "license": "MIT" }, "node_modules/memory-cache": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/memory-cache/-/memory-cache-0.2.0.tgz", - "integrity": "sha512-OcjA+jzjOYzKmKS6IQVALHLVz+rNTMPoJvCztFaZxwG14wtAW7VRZjwTQu06vKCYOxh4jVnik7ya0SXTB0W+xA==" + "license": "BSD-2-Clause" }, "node_modules/meow": { "version": "8.1.2", - "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", - "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", "dev": true, + "license": "MIT", "dependencies": { "@types/minimist": "^1.2.0", "camelcase-keys": "^6.2.2", @@ -24720,9 +22609,8 @@ }, "node_modules/meow/node_modules/find-up": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -24733,15 +22621,13 @@ }, "node_modules/meow/node_modules/hosted-git-info": { "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/meow/node_modules/locate-path": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -24751,9 +22637,8 @@ }, "node_modules/meow/node_modules/p-limit": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -24766,9 +22651,8 @@ }, "node_modules/meow/node_modules/p-locate": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -24778,9 +22662,8 @@ }, "node_modules/meow/node_modules/read-pkg": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", "dev": true, + "license": "MIT", "dependencies": { "@types/normalize-package-data": "^2.4.0", "normalize-package-data": "^2.5.0", @@ -24793,9 +22676,8 @@ }, "node_modules/meow/node_modules/read-pkg-up": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", "dev": true, + "license": "MIT", "dependencies": { "find-up": "^4.1.0", "read-pkg": "^5.2.0", @@ -24810,18 +22692,16 @@ }, "node_modules/meow/node_modules/read-pkg-up/node_modules/type-fest": { "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" } }, "node_modules/meow/node_modules/read-pkg/node_modules/normalize-package-data": { "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", @@ -24831,27 +22711,24 @@ }, "node_modules/meow/node_modules/read-pkg/node_modules/type-fest": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" } }, "node_modules/meow/node_modules/semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/meow/node_modules/type-fest": { "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -24861,8 +22738,7 @@ }, "node_modules/merge-options": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", - "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==", + "license": "MIT", "dependencies": { "is-plain-obj": "^2.1.0" }, @@ -24872,21 +22748,19 @@ }, "node_modules/merge-stream": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + "license": "MIT" }, "node_modules/merge2": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/metro": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro/-/metro-0.76.7.tgz", - "integrity": "sha512-67ZGwDeumEPnrHI+pEDSKH2cx+C81Gx8Mn5qOtmGUPm/Up9Y4I1H2dJZ5n17MWzejNo0XAvPh0QL0CrlJEODVQ==", + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.76.8.tgz", + "integrity": "sha512-oQA3gLzrrYv3qKtuWArMgHPbHu8odZOD9AoavrqSFllkPgOtmkBvNNDLCELqv5SjBfqjISNffypg+5UGG3y0pg==", "dependencies": { "@babel/code-frame": "^7.0.0", "@babel/core": "^7.20.0", @@ -24910,22 +22784,22 @@ "jest-worker": "^27.2.0", "jsc-safe-url": "^0.2.2", "lodash.throttle": "^4.1.1", - "metro-babel-transformer": "0.76.7", - "metro-cache": "0.76.7", - "metro-cache-key": "0.76.7", - "metro-config": "0.76.7", - "metro-core": "0.76.7", - "metro-file-map": "0.76.7", - "metro-inspector-proxy": "0.76.7", - "metro-minify-terser": "0.76.7", - "metro-minify-uglify": "0.76.7", - "metro-react-native-babel-preset": "0.76.7", - "metro-resolver": "0.76.7", - "metro-runtime": "0.76.7", - "metro-source-map": "0.76.7", - "metro-symbolicate": "0.76.7", - "metro-transform-plugins": "0.76.7", - "metro-transform-worker": "0.76.7", + "metro-babel-transformer": "0.76.8", + "metro-cache": "0.76.8", + "metro-cache-key": "0.76.8", + "metro-config": "0.76.8", + "metro-core": "0.76.8", + "metro-file-map": "0.76.8", + "metro-inspector-proxy": "0.76.8", + "metro-minify-terser": "0.76.8", + "metro-minify-uglify": "0.76.8", + "metro-react-native-babel-preset": "0.76.8", + "metro-resolver": "0.76.8", + "metro-runtime": "0.76.8", + "metro-source-map": "0.76.8", + "metro-symbolicate": "0.76.8", + "metro-transform-plugins": "0.76.8", + "metro-transform-worker": "0.76.8", "mime-types": "^2.1.27", "node-fetch": "^2.2.0", "nullthrows": "^1.1.1", @@ -24945,9 +22819,9 @@ } }, "node_modules/metro-babel-transformer": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.76.7.tgz", - "integrity": "sha512-bgr2OFn0J4r0qoZcHrwEvccF7g9k3wdgTOgk6gmGHrtlZ1Jn3oCpklW/DfZ9PzHfjY2mQammKTc19g/EFGyOJw==", + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.76.8.tgz", + "integrity": "sha512-Hh6PW34Ug/nShlBGxkwQJSgPGAzSJ9FwQXhUImkzdsDgVu6zj5bx258J8cJVSandjNoQ8nbaHK6CaHlnbZKbyA==", "dependencies": { "@babel/core": "^7.20.0", "hermes-parser": "0.12.0", @@ -24958,11 +22832,11 @@ } }, "node_modules/metro-cache": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.76.7.tgz", - "integrity": "sha512-nWBMztrs5RuSxZRI7hgFgob5PhYDmxICh9FF8anm9/ito0u0vpPvRxt7sRu8fyeD2AHdXqE7kX32rWY0LiXgeg==", + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.76.8.tgz", + "integrity": "sha512-QBJSJIVNH7Hc/Yo6br/U/qQDUpiUdRgZ2ZBJmvAbmAKp2XDzsapnMwK/3BGj8JNWJF7OLrqrYHsRsukSbUBpvQ==", "dependencies": { - "metro-core": "0.76.7", + "metro-core": "0.76.8", "rimraf": "^3.0.2" }, "engines": { @@ -24970,9 +22844,9 @@ } }, "node_modules/metro-cache-key": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.76.7.tgz", - "integrity": "sha512-0pecoIzwsD/Whn/Qfa+SDMX2YyasV0ndbcgUFx7w1Ct2sLHClujdhQ4ik6mvQmsaOcnGkIyN0zcceMDjC2+BFQ==", + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.76.8.tgz", + "integrity": "sha512-buKQ5xentPig9G6T37Ww/R/bC+/V1MA5xU/D8zjnhlelsrPG6w6LtHUS61ID3zZcMZqYaELWk5UIadIdDsaaLw==", "engines": { "node": ">=16" } @@ -24992,17 +22866,17 @@ } }, "node_modules/metro-config": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.76.7.tgz", - "integrity": "sha512-CFDyNb9bqxZemiChC/gNdXZ7OQkIwmXzkrEXivcXGbgzlt/b2juCv555GWJHyZSlorwnwJfY3uzAFu4A9iRVfg==", + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.76.8.tgz", + "integrity": "sha512-SL1lfKB0qGHALcAk2zBqVgQZpazDYvYFGwCK1ikz0S6Y/CM2i2/HwuZN31kpX6z3mqjv/6KvlzaKoTb1otuSAA==", "dependencies": { "connect": "^3.6.5", "cosmiconfig": "^5.0.5", "jest-validate": "^29.2.1", - "metro": "0.76.7", - "metro-cache": "0.76.7", - "metro-core": "0.76.7", - "metro-runtime": "0.76.7" + "metro": "0.76.8", + "metro-cache": "0.76.8", + "metro-core": "0.76.8", + "metro-runtime": "0.76.8" }, "engines": { "node": ">=16" @@ -25080,21 +22954,21 @@ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" }, "node_modules/metro-core": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.76.7.tgz", - "integrity": "sha512-0b8KfrwPmwCMW+1V7ZQPkTy2tsEKZjYG9Pu1PTsu463Z9fxX7WaR0fcHFshv+J1CnQSUTwIGGjbNvj1teKe+pw==", + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.76.8.tgz", + "integrity": "sha512-sl2QLFI3d1b1XUUGxwzw/KbaXXU/bvFYrSKz6Sg19AdYGWFyzsgZ1VISRIDf+HWm4R/TJXluhWMEkEtZuqi3qA==", "dependencies": { "lodash.throttle": "^4.1.1", - "metro-resolver": "0.76.7" + "metro-resolver": "0.76.8" }, "engines": { "node": ">=16" } }, "node_modules/metro-file-map": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.76.7.tgz", - "integrity": "sha512-s+zEkTcJ4mOJTgEE2ht4jIo1DZfeWreQR3tpT3gDV/Y/0UQ8aJBTv62dE775z0GLsWZApiblAYZsj7ZE8P06nw==", + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.76.8.tgz", + "integrity": "sha512-A/xP1YNEVwO1SUV9/YYo6/Y1MmzhL4ZnVgcJC3VmHp/BYVOXVStzgVbWv2wILe56IIMkfXU+jpXrGKKYhFyHVw==", "dependencies": { "anymatch": "^3.0.3", "debug": "^2.2.0", @@ -25132,9 +23006,9 @@ } }, "node_modules/metro-file-map/node_modules/@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "version": "16.0.6", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.6.tgz", + "integrity": "sha512-oTP7/Q13GSPrgcwEwdlnkoZSQ1Hg9THe644qq8PG6hhJzjZ3qj1JjEFPIwWV/IXVs5XGIVqtkNOS9kh63WIJ+A==", "dependencies": { "@types/yargs-parser": "*" } @@ -25268,9 +23142,9 @@ } }, "node_modules/metro-inspector-proxy": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.76.7.tgz", - "integrity": "sha512-rNZ/6edTl/1qUekAhAbaFjczMphM50/UjtxiKulo6vqvgn/Mjd9hVqDvVYfAMZXqPvlusD88n38UjVYPkruLSg==", + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.76.8.tgz", + "integrity": "sha512-Us5o5UEd4Smgn1+TfHX4LvVPoWVo9VsVMn4Ldbk0g5CQx3Gu0ygc/ei2AKPGTwsOZmKxJeACj7yMH2kgxQP/iw==", "dependencies": { "connect": "^3.6.5", "debug": "^2.2.0", @@ -25319,9 +23193,9 @@ } }, "node_modules/metro-minify-terser": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.76.7.tgz", - "integrity": "sha512-FQiZGhIxCzhDwK4LxyPMLlq0Tsmla10X7BfNGlYFK0A5IsaVKNJbETyTzhpIwc+YFRT4GkFFwgo0V2N5vxO5HA==", + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.76.8.tgz", + "integrity": "sha512-Orbvg18qXHCrSj1KbaeSDVYRy/gkro2PC7Fy2tDSH1c9RB4aH8tuMOIXnKJE+1SXxBtjWmQ5Yirwkth2DyyEZA==", "dependencies": { "terser": "^5.15.0" }, @@ -25330,9 +23204,9 @@ } }, "node_modules/metro-minify-uglify": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.76.7.tgz", - "integrity": "sha512-FuXIU3j2uNcSvQtPrAJjYWHruPiQ+EpE++J9Z+VznQKEHcIxMMoQZAfIF2IpZSrZYfLOjVFyGMvj41jQMxV1Vw==", + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.76.8.tgz", + "integrity": "sha512-6l8/bEvtVaTSuhG1FqS0+Mc8lZ3Bl4RI8SeRIifVLC21eeSDp4CEBUWSGjpFyUDfi6R5dXzYaFnSgMNyfxADiQ==", "dependencies": { "uglify-es": "^3.1.9" }, @@ -25342,8 +23216,7 @@ }, "node_modules/metro-react-native-babel-preset": { "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.76.7.tgz", - "integrity": "sha512-R25wq+VOSorAK3hc07NW0SmN8z9S/IR0Us0oGAsBcMZnsgkbOxu77Mduqf+f4is/wnWHc5+9bfiqdLnaMngiVw==", + "license": "MIT", "dependencies": { "@babel/core": "^7.20.0", "@babel/plugin-proposal-async-generator-functions": "^7.0.0", @@ -25393,14 +23266,14 @@ } }, "node_modules/metro-react-native-babel-transformer": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.76.7.tgz", - "integrity": "sha512-W6lW3J7y/05ph3c2p3KKJNhH0IdyxdOCbQ5it7aM2MAl0SM4wgKjaV6EYv9b3rHklpV6K3qMH37UKVcjMooWiA==", + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.76.8.tgz", + "integrity": "sha512-3h+LfS1WG1PAzhq8QF0kfXjxuXetbY/lgz8vYMQhgrMMp17WM1DNJD0gjx8tOGYbpbBC1qesJ45KMS4o5TA73A==", "dependencies": { "@babel/core": "^7.20.0", "babel-preset-fbjs": "^3.4.0", "hermes-parser": "0.12.0", - "metro-react-native-babel-preset": "0.76.7", + "metro-react-native-babel-preset": "0.76.8", "nullthrows": "^1.1.1" }, "engines": { @@ -25410,18 +23283,70 @@ "@babel/core": "*" } }, + "node_modules/metro-react-native-babel-transformer/node_modules/metro-react-native-babel-preset": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.76.8.tgz", + "integrity": "sha512-Ptza08GgqzxEdK8apYsjTx2S8WDUlS2ilBlu9DR1CUcHmg4g3kOkFylZroogVAUKtpYQNYwAvdsjmrSdDNtiAg==", + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/plugin-proposal-async-generator-functions": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.18.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", + "@babel/plugin-proposal-numeric-separator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.20.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.18.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-async-to-generator": "^7.20.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.20.0", + "@babel/plugin-transform-flow-strip-types": "^7.20.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.5.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "babel-plugin-transform-flow-enums": "^0.0.2", + "react-refresh": "^0.4.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "@babel/core": "*" + } + }, "node_modules/metro-resolver": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.76.7.tgz", - "integrity": "sha512-pC0Wgq29HHIHrwz23xxiNgylhI8Rq1V01kQaJ9Kz11zWrIdlrH0ZdnJ7GC6qA0ErROG+cXmJ0rJb8/SW1Zp2IA==", + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.76.8.tgz", + "integrity": "sha512-KccOqc10vrzS7ZhG2NSnL2dh3uVydarB7nOhjreQ7C4zyWuiW9XpLC4h47KtGQv3Rnv/NDLJYeDqaJ4/+140HQ==", "engines": { "node": ">=16" } }, "node_modules/metro-runtime": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.7.tgz", - "integrity": "sha512-MuWHubQHymUWBpZLwuKZQgA/qbb35WnDAKPo83rk7JRLIFPvzXSvFaC18voPuzJBt1V98lKQIonh6MiC9gd8Ug==", + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.8.tgz", + "integrity": "sha512-XKahvB+iuYJSCr3QqCpROli4B4zASAYpkK+j3a0CJmokxCDNbgyI4Fp88uIL6rNaZfN0Mv35S0b99SdFXIfHjg==", "dependencies": { "@babel/runtime": "^7.0.0", "react-refresh": "^0.4.0" @@ -25431,16 +23356,16 @@ } }, "node_modules/metro-source-map": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.7.tgz", - "integrity": "sha512-Prhx7PeRV1LuogT0Kn5VjCuFu9fVD68eefntdWabrksmNY6mXK8pRqzvNJOhTojh6nek+RxBzZeD6MIOOyXS6w==", + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.8.tgz", + "integrity": "sha512-Hh0ncPsHPVf6wXQSqJqB3K9Zbudht4aUtNpNXYXSxH+pteWqGAXnjtPsRAnCsCWl38wL0jYF0rJDdMajUI3BDw==", "dependencies": { "@babel/traverse": "^7.20.0", "@babel/types": "^7.20.0", "invariant": "^2.2.4", - "metro-symbolicate": "0.76.7", + "metro-symbolicate": "0.76.8", "nullthrows": "^1.1.1", - "ob1": "0.76.7", + "ob1": "0.76.8", "source-map": "^0.5.6", "vlq": "^1.0.0" }, @@ -25457,12 +23382,12 @@ } }, "node_modules/metro-symbolicate": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.7.tgz", - "integrity": "sha512-p0zWEME5qLSL1bJb93iq+zt5fz3sfVn9xFYzca1TJIpY5MommEaS64Va87lp56O0sfEIvh4307Oaf/ZzRjuLiQ==", + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.8.tgz", + "integrity": "sha512-LrRL3uy2VkzrIXVlxoPtqb40J6Bf1mlPNmUQewipc3qfKKFgtPHBackqDy1YL0njDsWopCKcfGtFYLn0PTUn3w==", "dependencies": { "invariant": "^2.2.4", - "metro-source-map": "0.76.7", + "metro-source-map": "0.76.8", "nullthrows": "^1.1.1", "source-map": "^0.5.6", "through2": "^2.0.1", @@ -25484,9 +23409,9 @@ } }, "node_modules/metro-transform-plugins": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.76.7.tgz", - "integrity": "sha512-iSmnjVApbdivjuzb88Orb0JHvcEt5veVyFAzxiS5h0QB+zV79w6JCSqZlHCrbNOkOKBED//LqtKbFVakxllnNg==", + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.76.8.tgz", + "integrity": "sha512-PlkGTQNqS51Bx4vuufSQCdSn2R2rt7korzngo+b5GCkeX5pjinPjnO2kNhQ8l+5bO0iUD/WZ9nsM2PGGKIkWFA==", "dependencies": { "@babel/core": "^7.20.0", "@babel/generator": "^7.20.0", @@ -25499,21 +23424,21 @@ } }, "node_modules/metro-transform-worker": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.76.7.tgz", - "integrity": "sha512-cGvELqFMVk9XTC15CMVzrCzcO6sO1lURfcbgjuuPdzaWuD11eEyocvkTX0DPiRjsvgAmicz4XYxVzgYl3MykDw==", + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.76.8.tgz", + "integrity": "sha512-mE1fxVAnJKmwwJyDtThildxxos9+DGs9+vTrx2ktSFMEVTtXS/bIv2W6hux1pqivqAfyJpTeACXHk5u2DgGvIQ==", "dependencies": { "@babel/core": "^7.20.0", "@babel/generator": "^7.20.0", "@babel/parser": "^7.20.0", "@babel/types": "^7.20.0", "babel-preset-fbjs": "^3.4.0", - "metro": "0.76.7", - "metro-babel-transformer": "0.76.7", - "metro-cache": "0.76.7", - "metro-cache-key": "0.76.7", - "metro-source-map": "0.76.7", - "metro-transform-plugins": "0.76.7", + "metro": "0.76.8", + "metro-babel-transformer": "0.76.8", + "metro-cache": "0.76.8", + "metro-cache-key": "0.76.8", + "metro-source-map": "0.76.8", + "metro-transform-plugins": "0.76.8", "nullthrows": "^1.1.1" }, "engines": { @@ -25613,6 +23538,58 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/metro/node_modules/metro-react-native-babel-preset": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.76.8.tgz", + "integrity": "sha512-Ptza08GgqzxEdK8apYsjTx2S8WDUlS2ilBlu9DR1CUcHmg4g3kOkFylZroogVAUKtpYQNYwAvdsjmrSdDNtiAg==", + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/plugin-proposal-async-generator-functions": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.18.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", + "@babel/plugin-proposal-numeric-separator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.20.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.18.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-async-to-generator": "^7.20.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.20.0", + "@babel/plugin-transform-flow-strip-types": "^7.20.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.5.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "babel-plugin-transform-flow-enums": "^0.0.2", + "react-refresh": "^0.4.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "@babel/core": "*" + } + }, "node_modules/metro/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -25681,8 +23658,7 @@ }, "node_modules/micromatch": { "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "license": "MIT", "dependencies": { "braces": "^3.0.2", "picomatch": "^2.3.1" @@ -25691,10 +23667,24 @@ "node": ">=8.6" } }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "license": "MIT", + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.12.0", + "license": "MIT" + }, "node_modules/mime": { "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "license": "MIT", "bin": { "mime": "cli.js" }, @@ -25704,16 +23694,14 @@ }, "node_modules/mime-db": { "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", "dependencies": { "mime-db": "1.52.0" }, @@ -25723,24 +23711,20 @@ }, "node_modules/mimic-fn": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/mimic-response": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/min-document": { "version": "2.19.0", - "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==", "dev": true, "dependencies": { "dom-walk": "^0.1.0" @@ -25748,26 +23732,22 @@ }, "node_modules/min-indent": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/minimalistic-assert": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + "license": "ISC" }, "node_modules/minimalistic-crypto-utils": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" + "license": "MIT" }, "node_modules/minimatch": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -25777,16 +23757,14 @@ }, "node_modules/minimist": { "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/minimist-options": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "license": "MIT", "dependencies": { "arrify": "^1.0.1", "is-plain-obj": "^1.1.0", @@ -25798,16 +23776,14 @@ }, "node_modules/minimist-options/node_modules/is-plain-obj": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/minipass": { "version": "3.1.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", - "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", + "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -25817,8 +23793,7 @@ }, "node_modules/minipass-collect": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "license": "ISC", "dependencies": { "minipass": "^3.0.0" }, @@ -25828,8 +23803,7 @@ }, "node_modules/minipass-flush": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "license": "ISC", "dependencies": { "minipass": "^3.0.0" }, @@ -25839,8 +23813,7 @@ }, "node_modules/minipass-pipeline": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "license": "ISC", "dependencies": { "minipass": "^3.0.0" }, @@ -25850,8 +23823,7 @@ }, "node_modules/minizlib": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "license": "MIT", "dependencies": { "minipass": "^3.0.0", "yallist": "^4.0.0" @@ -25862,8 +23834,7 @@ }, "node_modules/mkdirp": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", - "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", + "license": "MIT", "bin": { "mkdirp": "dist/cjs/src/bin.js" }, @@ -25876,13 +23847,11 @@ }, "node_modules/mkdirp-classic": { "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + "license": "MIT" }, "node_modules/mlly": { "version": "1.4.2", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.4.2.tgz", - "integrity": "sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==", + "license": "MIT", "dependencies": { "acorn": "^8.10.0", "pathe": "^1.1.1", @@ -25892,8 +23861,7 @@ }, "node_modules/modern-normalize": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/modern-normalize/-/modern-normalize-1.1.0.tgz", - "integrity": "sha512-2lMlY1Yc1+CUy0gw4H95uNN7vjbpoED7NNRSBHE25nWfLBdmMzFCsPshlzbxHz+gYMcBEUN8V4pU16prcdPSgA==", + "license": "MIT", "engines": { "node": ">=6" }, @@ -25903,41 +23871,35 @@ }, "node_modules/modify-values": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", - "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/mri": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", - "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/ms": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "license": "MIT" }, "node_modules/murmurhash": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/murmurhash/-/murmurhash-2.0.1.tgz", - "integrity": "sha512-5vQEh3y+DG/lMPM0mCGPDnyV8chYg/g7rl6v3Gd8WMF9S429ox3Xk8qrk174kWhG767KQMqqxLD1WnGd77hiew==" + "license": "MIT" }, "node_modules/mute-stream": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/mv": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz", - "integrity": "sha512-at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg==", + "license": "MIT", "optional": true, "dependencies": { "mkdirp": "~0.5.1", @@ -25950,8 +23912,7 @@ }, "node_modules/mv/node_modules/glob": { "version": "6.0.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", - "integrity": "sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A==", + "license": "ISC", "optional": true, "dependencies": { "inflight": "^1.0.4", @@ -25966,8 +23927,7 @@ }, "node_modules/mv/node_modules/mkdirp": { "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "license": "MIT", "optional": true, "dependencies": { "minimist": "^1.2.6" @@ -25978,8 +23938,7 @@ }, "node_modules/mv/node_modules/rimraf": { "version": "2.4.5", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz", - "integrity": "sha512-J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ==", + "license": "ISC", "optional": true, "dependencies": { "glob": "^6.0.1" @@ -25990,8 +23949,7 @@ }, "node_modules/mz": { "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "license": "MIT", "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", @@ -26000,19 +23958,17 @@ }, "node_modules/nan": { "version": "2.18.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.18.0.tgz", - "integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==" + "license": "MIT" }, "node_modules/nanoid": { "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -26022,18 +23978,15 @@ }, "node_modules/napi-build-utils": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", - "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" + "license": "MIT" }, "node_modules/natural-compare": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" + "license": "MIT" }, "node_modules/ncp": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", - "integrity": "sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==", + "license": "MIT", "optional": true, "bin": { "ncp": "bin/ncp" @@ -26041,35 +23994,30 @@ }, "node_modules/negotiator": { "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/neo-async": { "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + "license": "MIT" }, "node_modules/nested-error-stacks": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.0.1.tgz", - "integrity": "sha512-SrQrok4CATudVzBS7coSz26QRSmlK9TzzoFbeKfcPBUFPjcQM9Rqvr/DlJkOrwI/0KcgvMub1n1g5Jt9EgRn4A==" + "license": "MIT" }, "node_modules/next": { - "version": "13.5.3", - "resolved": "https://registry.npmjs.org/next/-/next-13.5.3.tgz", - "integrity": "sha512-4Nt4HRLYDW/yRpJ/QR2t1v63UOMS55A38dnWv3UDOWGezuY0ZyFO1ABNbD7mulVzs9qVhgy2+ppjdsANpKP1mg==", + "version": "13.5.4", + "license": "MIT", "dependencies": { - "@next/env": "13.5.3", + "@next/env": "13.5.4", "@swc/helpers": "0.5.2", "busboy": "1.6.0", "caniuse-lite": "^1.0.30001406", - "postcss": "8.4.14", + "postcss": "8.4.31", "styled-jsx": "5.1.1", - "watchpack": "2.4.0", - "zod": "3.21.4" + "watchpack": "2.4.0" }, "bin": { "next": "dist/bin/next" @@ -26078,15 +24026,15 @@ "node": ">=16.14.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "13.5.3", - "@next/swc-darwin-x64": "13.5.3", - "@next/swc-linux-arm64-gnu": "13.5.3", - "@next/swc-linux-arm64-musl": "13.5.3", - "@next/swc-linux-x64-gnu": "13.5.3", - "@next/swc-linux-x64-musl": "13.5.3", - "@next/swc-win32-arm64-msvc": "13.5.3", - "@next/swc-win32-ia32-msvc": "13.5.3", - "@next/swc-win32-x64-msvc": "13.5.3" + "@next/swc-darwin-arm64": "13.5.4", + "@next/swc-darwin-x64": "13.5.4", + "@next/swc-linux-arm64-gnu": "13.5.4", + "@next/swc-linux-arm64-musl": "13.5.4", + "@next/swc-linux-x64-gnu": "13.5.4", + "@next/swc-linux-x64-musl": "13.5.4", + "@next/swc-win32-arm64-msvc": "13.5.4", + "@next/swc-win32-ia32-msvc": "13.5.4", + "@next/swc-win32-x64-msvc": "13.5.4" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", @@ -26105,13 +24053,12 @@ }, "node_modules/next-sitemap": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/next-sitemap/-/next-sitemap-4.2.3.tgz", - "integrity": "sha512-vjdCxeDuWDzldhCnyFCQipw5bfpl4HmZA7uoo3GAaYGjGgfL4Cxb1CiztPuWGmS+auYs7/8OekRS8C2cjdAsjQ==", "funding": [ { "url": "https://github.com/iamvishnusankar/next-sitemap.git" } ], + "license": "MIT", "dependencies": { "@corex/deepmerge": "^4.0.43", "@next/env": "^13.4.3", @@ -26129,33 +24076,9 @@ "next": "*" } }, - "node_modules/next/node_modules/postcss": { - "version": "8.4.14", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", - "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - } - ], - "dependencies": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, "node_modules/nextjs-progressbar": { "version": "0.0.16", - "resolved": "https://registry.npmjs.org/nextjs-progressbar/-/nextjs-progressbar-0.0.16.tgz", - "integrity": "sha512-GV0fD38EMD3vSDCmkq+tObmoup6QA91a6a9MxGuhJZuRk/9TNsrHGnIQQQ/sggkMkXuT4fBgF6jRjFwScDT3zA==", + "license": "MIT", "dependencies": { "@types/nprogress": "^0.2.0", "nprogress": "^0.2.0", @@ -26168,8 +24091,7 @@ }, "node_modules/nice-try": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + "license": "MIT" }, "node_modules/nocache": { "version": "3.0.4", @@ -26180,9 +24102,8 @@ } }, "node_modules/node-abi": { - "version": "3.47.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.47.0.tgz", - "integrity": "sha512-2s6B2CWZM//kPgwnuI0KrYwNjfdByE25zvAaEpq9IH4zcNsarH8Ihu/UuX6XMPEogDAxkuUFeZn60pXNHAqn3A==", + "version": "3.50.0", + "license": "MIT", "dependencies": { "semver": "^7.3.5" }, @@ -26197,13 +24118,11 @@ }, "node_modules/node-addon-api": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" + "license": "MIT" }, "node_modules/node-dir": { "version": "0.1.17", - "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", - "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", + "license": "MIT", "dependencies": { "minimatch": "^3.0.2" }, @@ -26213,16 +24132,14 @@ }, "node_modules/node-emoji": { "version": "1.11.0", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", - "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "license": "MIT", "dependencies": { "lodash": "^4.17.21" } }, "node_modules/node-fetch": { "version": "2.6.13", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.13.tgz", - "integrity": "sha512-StxNAxh15zr77QvvkmveSQ8uCQ4+v5FkvNTj0OESmiHu+VRi/gXArXtkWMElOsOUNLtUEvI4yS+rdtOHZTwlQA==", + "license": "MIT", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -26240,23 +24157,19 @@ }, "node_modules/node-fetch-native": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.4.0.tgz", - "integrity": "sha512-F5kfEj95kX8tkDhUCYdV8dg3/8Olx/94zB8+ZNthFs6Bz31UpUi8Xh40TN3thLwXgrwXry1pEg9lJ++tLWTcqA==" + "license": "MIT" }, "node_modules/node-fetch/node_modules/tr46": { "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + "license": "MIT" }, "node_modules/node-fetch/node_modules/webidl-conversions": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + "license": "BSD-2-Clause" }, "node_modules/node-fetch/node_modules/whatwg-url": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -26264,16 +24177,14 @@ }, "node_modules/node-forge": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "license": "(BSD-3-Clause OR GPL-2.0)", "engines": { "node": ">= 6.13.0" } }, "node_modules/node-gyp-build": { "version": "4.6.1", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.1.tgz", - "integrity": "sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==", + "license": "MIT", "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", @@ -26282,14 +24193,12 @@ }, "node_modules/node-int64": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" + "license": "MIT" }, "node_modules/node-preload": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", - "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", "dev": true, + "license": "MIT", "dependencies": { "process-on-spawn": "^1.0.0" }, @@ -26299,8 +24208,7 @@ }, "node_modules/node-releases": { "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" + "license": "MIT" }, "node_modules/node-stream-zip": { "version": "1.15.0", @@ -26316,9 +24224,8 @@ }, "node_modules/normalize-package-data": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "hosted-git-info": "^4.0.1", "is-core-module": "^2.5.0", @@ -26331,9 +24238,8 @@ }, "node_modules/normalize-package-data/node_modules/hosted-git-info": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", "dev": true, + "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -26343,9 +24249,8 @@ }, "node_modules/normalize-package-data/node_modules/lru-cache": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, + "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -26355,16 +24260,14 @@ }, "node_modules/normalize-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/normalize-range": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "license": "MIT", "peer": true, "engines": { "node": ">=0.10.0" @@ -26372,16 +24275,14 @@ }, "node_modules/normalize-svg-path": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/normalize-svg-path/-/normalize-svg-path-1.1.0.tgz", - "integrity": "sha512-r9KHKG2UUeB5LoTouwDzBy2VxXlHsiM6fyLQvnJa0S5hrhzqElH/CH7TUGhT1fVvIYBIKf3OpY4YJ4CK+iaqHg==", + "license": "MIT", "dependencies": { "svg-arc-to-cubic-bezier": "^3.0.0" } }, "node_modules/normalize-url": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", - "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", + "license": "MIT", "dependencies": { "prepend-http": "^2.0.0", "query-string": "^5.0.1", @@ -26393,8 +24294,7 @@ }, "node_modules/normalize-url/node_modules/query-string": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", - "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "license": "MIT", "dependencies": { "decode-uri-component": "^0.2.0", "object-assign": "^4.1.0", @@ -26406,16 +24306,14 @@ }, "node_modules/normalize-url/node_modules/strict-uri-encode": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/npm-package-arg": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-7.0.0.tgz", - "integrity": "sha512-xXxr8y5U0kl8dVkz2oK7yZjPBvqM2fwaO5l3Yg13p03v8+E3qQcD0JNhHzjL1vyGgxcKkD0cco+NLR72iuPk3g==", + "license": "ISC", "dependencies": { "hosted-git-info": "^3.0.2", "osenv": "^0.1.5", @@ -26425,16 +24323,14 @@ }, "node_modules/npm-package-arg/node_modules/semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/npm-run-path": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "license": "MIT", "dependencies": { "path-key": "^3.0.0" }, @@ -26444,13 +24340,11 @@ }, "node_modules/nprogress": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", - "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==" + "license": "MIT" }, "node_modules/nth-check": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0" }, @@ -26460,20 +24354,17 @@ }, "node_modules/nullthrows": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", - "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==" + "license": "MIT" }, "node_modules/nwsapi": { "version": "2.2.7", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", - "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/nyc": { "version": "15.1.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", - "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", "dev": true, + "license": "ISC", "dependencies": { "@istanbuljs/load-nyc-config": "^1.0.0", "@istanbuljs/schema": "^0.1.2", @@ -26512,9 +24403,8 @@ }, "node_modules/nyc/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -26527,9 +24417,8 @@ }, "node_modules/nyc/node_modules/cliui": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", "dev": true, + "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -26538,9 +24427,8 @@ }, "node_modules/nyc/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -26550,15 +24438,13 @@ }, "node_modules/nyc/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/nyc/node_modules/find-cache-dir": { "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dev": true, + "license": "MIT", "dependencies": { "commondir": "^1.0.1", "make-dir": "^3.0.2", @@ -26573,9 +24459,8 @@ }, "node_modules/nyc/node_modules/find-up": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -26586,9 +24471,8 @@ }, "node_modules/nyc/node_modules/istanbul-lib-instrument": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@babel/core": "^7.7.5", "@istanbuljs/schema": "^0.1.2", @@ -26601,9 +24485,8 @@ }, "node_modules/nyc/node_modules/locate-path": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -26613,9 +24496,8 @@ }, "node_modules/nyc/node_modules/make-dir": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, + "license": "MIT", "dependencies": { "semver": "^6.0.0" }, @@ -26628,9 +24510,8 @@ }, "node_modules/nyc/node_modules/p-limit": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -26643,9 +24524,8 @@ }, "node_modules/nyc/node_modules/p-locate": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -26655,9 +24535,8 @@ }, "node_modules/nyc/node_modules/p-map": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", "dev": true, + "license": "MIT", "dependencies": { "aggregate-error": "^3.0.0" }, @@ -26667,9 +24546,8 @@ }, "node_modules/nyc/node_modules/pkg-dir": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, + "license": "MIT", "dependencies": { "find-up": "^4.0.0" }, @@ -26679,9 +24557,8 @@ }, "node_modules/nyc/node_modules/rimraf": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -26694,18 +24571,16 @@ }, "node_modules/nyc/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/nyc/node_modules/wrap-ansi": { "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -26717,15 +24592,13 @@ }, "node_modules/nyc/node_modules/y18n": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/nyc/node_modules/yargs": { "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", "dev": true, + "license": "MIT", "dependencies": { "cliui": "^6.0.0", "decamelize": "^1.2.0", @@ -26745,9 +24618,8 @@ }, "node_modules/nyc/node_modules/yargs-parser": { "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "dev": true, + "license": "ISC", "dependencies": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" @@ -26757,41 +24629,37 @@ } }, "node_modules/ob1": { - "version": "0.76.7", - "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.7.tgz", - "integrity": "sha512-BQdRtxxoUNfSoZxqeBGOyuT9nEYSn18xZHwGMb0mMVpn2NBcYbnyKY4BK2LIHRgw33CBGlUmE+KMaNvyTpLLtQ==", + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.8.tgz", + "integrity": "sha512-dlBkJJV5M/msj9KYA9upc+nUWVwuOFFTbu28X6kZeGwcuW+JxaHSBZ70SYQnk5M+j5JbNLR6yKHmgW4M5E7X5g==", "engines": { "node": ">=16" } }, "node_modules/object-assign": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/object-hash": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", - "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", + "license": "MIT", "engines": { "node": ">= 6" } }, "node_modules/object-inspect": { "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object-is": { "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" @@ -26805,16 +24673,14 @@ }, "node_modules/object-keys": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/object.assign": { "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -26830,8 +24696,7 @@ }, "node_modules/object.entries": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -26843,8 +24708,7 @@ }, "node_modules/object.fromentries": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -26859,8 +24723,7 @@ }, "node_modules/object.groupby": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.0.tgz", - "integrity": "sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -26870,8 +24733,7 @@ }, "node_modules/object.hasown": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", - "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "license": "MIT", "dependencies": { "define-properties": "^1.1.4", "es-abstract": "^1.20.4" @@ -26882,8 +24744,7 @@ }, "node_modules/object.values": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -26898,8 +24759,7 @@ }, "node_modules/ofetch": { "version": "1.3.3", - "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.3.3.tgz", - "integrity": "sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg==", + "license": "MIT", "dependencies": { "destr": "^2.0.1", "node-fetch-native": "^1.4.0", @@ -26908,14 +24768,12 @@ }, "node_modules/omggif": { "version": "1.0.10", - "resolved": "https://registry.npmjs.org/omggif/-/omggif-1.0.10.tgz", - "integrity": "sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/on-finished": { "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", "dependencies": { "ee-first": "1.1.1" }, @@ -26933,16 +24791,14 @@ }, "node_modules/once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", "dependencies": { "wrappy": "1" } }, "node_modules/onetime": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" }, @@ -26955,8 +24811,7 @@ }, "node_modules/open": { "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "license": "MIT", "dependencies": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", @@ -26971,8 +24826,7 @@ }, "node_modules/optionator": { "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "license": "MIT", "dependencies": { "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", @@ -26987,8 +24841,7 @@ }, "node_modules/ora": { "version": "3.4.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", - "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", + "license": "MIT", "dependencies": { "chalk": "^2.4.2", "cli-cursor": "^2.1.0", @@ -27003,16 +24856,14 @@ }, "node_modules/ora/node_modules/ansi-regex": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/ora/node_modules/cli-cursor": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "license": "MIT", "dependencies": { "restore-cursor": "^2.0.0" }, @@ -27022,8 +24873,7 @@ }, "node_modules/ora/node_modules/log-symbols": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "license": "MIT", "dependencies": { "chalk": "^2.0.1" }, @@ -27033,16 +24883,14 @@ }, "node_modules/ora/node_modules/mimic-fn": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/ora/node_modules/onetime": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "license": "MIT", "dependencies": { "mimic-fn": "^1.0.0" }, @@ -27052,8 +24900,7 @@ }, "node_modules/ora/node_modules/restore-cursor": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "license": "MIT", "dependencies": { "onetime": "^2.0.0", "signal-exit": "^3.0.2" @@ -27064,8 +24911,7 @@ }, "node_modules/ora/node_modules/strip-ansi": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "license": "MIT", "dependencies": { "ansi-regex": "^4.1.0" }, @@ -27073,26 +24919,27 @@ "node": ">=6" } }, + "node_modules/os-browserify": { + "version": "0.3.0", + "license": "MIT" + }, "node_modules/os-homedir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/os-tmpdir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/osenv": { "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "license": "ISC", "dependencies": { "os-homedir": "^1.0.0", "os-tmpdir": "^1.0.0" @@ -27100,30 +24947,26 @@ }, "node_modules/ospath": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", - "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/p-cancelable": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", - "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/p-finally": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/p-limit": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -27136,8 +24979,7 @@ }, "node_modules/p-locate": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -27150,8 +24992,7 @@ }, "node_modules/p-map": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "license": "MIT", "dependencies": { "aggregate-error": "^3.0.0" }, @@ -27164,17 +25005,15 @@ }, "node_modules/p-try": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/package-hash": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", - "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", "dev": true, + "license": "ISC", "dependencies": { "graceful-fs": "^4.1.15", "hasha": "^5.0.0", @@ -27187,8 +25026,7 @@ }, "node_modules/package-json": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", - "integrity": "sha512-q/R5GrMek0vzgoomq6rm9OX+3PQve8sLwTirmK30YB3Cu0Bbt9OX9M/SIUnroN5BGJkzwGsFwDaRGD9EwBOlCA==", + "license": "MIT", "dependencies": { "got": "^6.7.1", "registry-auth-token": "^3.0.1", @@ -27201,16 +25039,14 @@ }, "node_modules/package-json/node_modules/get-stream": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/package-json/node_modules/got": { "version": "6.7.1", - "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", - "integrity": "sha512-Y/K3EDuiQN9rTZhBvPRWMLXIKdeD1Rj0nzunfoi0Yyn5WBEbzxXKU9Ub2X41oZBagVWOBU3MuDonFMgPWQFnwg==", + "license": "MIT", "dependencies": { "create-error-class": "^3.0.0", "duplexer3": "^0.1.4", @@ -27230,38 +25066,33 @@ }, "node_modules/package-json/node_modules/is-stream": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/package-json/node_modules/lowercase-keys": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/package-json/node_modules/semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/pako": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true + "dev": true, + "license": "(MIT AND Zlib)" }, "node_modules/parent-module": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -27269,23 +25100,31 @@ "node": ">=6" } }, + "node_modules/parse-asn1": { + "version": "5.1.6", + "license": "ISC", + "dependencies": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, "node_modules/parse-bmfont-ascii": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz", - "integrity": "sha512-U4RrVsUFCleIOBsIGYOMKjn9PavsGOXxbvYGtMOEfnId0SVNsgehXh1DxUdVPLoxd5mvcEtvmKs2Mmf0Mpa1ZA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/parse-bmfont-binary": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz", - "integrity": "sha512-GxmsRea0wdGdYthjuUeWTMWPqm2+FAd4GI8vCvhgJsFnoGhTrLhXDDupwTo7rXVAgaLIGoVHDZS9p/5XbSqeWA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/parse-bmfont-xml": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/parse-bmfont-xml/-/parse-bmfont-xml-1.1.4.tgz", - "integrity": "sha512-bjnliEOmGv3y1aMEfREMBJ9tfL3WR0i0CKPj61DnSLaoxWR3nLrsQrEbCId/8rF4NyRF0cCqisSVXyQYWM+mCQ==", "dev": true, + "license": "MIT", "dependencies": { "xml-parse-from-string": "^1.0.0", "xml2js": "^0.4.5" @@ -27293,9 +25132,8 @@ }, "node_modules/parse-bmfont-xml/node_modules/xml2js": { "version": "0.4.23", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", - "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", "dev": true, + "license": "MIT", "dependencies": { "sax": ">=0.6.0", "xmlbuilder": "~11.0.0" @@ -27306,23 +25144,20 @@ }, "node_modules/parse-bmfont-xml/node_modules/xmlbuilder": { "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4.0" } }, "node_modules/parse-headers": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.5.tgz", - "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/parse-json": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -27338,8 +25173,7 @@ }, "node_modules/parse-png": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/parse-png/-/parse-png-2.1.0.tgz", - "integrity": "sha512-Nt/a5SfCLiTnQAjx3fHlqp8hRgTL3z7kTQZzvIMS9uCAepnCyjpdEc6M/sz69WqMBdaDBw9sF1F1UaHROYzGkQ==", + "license": "MIT", "dependencies": { "pngjs": "^3.3.0" }, @@ -27349,14 +25183,12 @@ }, "node_modules/parse-svg-path": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/parse-svg-path/-/parse-svg-path-0.1.2.tgz", - "integrity": "sha512-JyPSBnkTJ0AI8GGJLfMXvKq42cj5c006fnLz6fXy6zfoVjJizi8BNTpu8on8ziI1cKy9d9DGNuY17Ce7wuejpQ==" + "license": "MIT" }, "node_modules/parse5": { "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", "dev": true, + "license": "MIT", "dependencies": { "entities": "^4.4.0" }, @@ -27366,16 +25198,14 @@ }, "node_modules/parseurl": { "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/password-prompt": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.3.tgz", - "integrity": "sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw==", + "license": "0BSD", "dependencies": { "ansi-escapes": "^4.3.2", "cross-spawn": "^7.0.3" @@ -27383,82 +25213,83 @@ }, "node_modules/path-browserify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" + "license": "MIT" }, "node_modules/path-exists": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/path-is-inside": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" + "license": "(WTFPL OR MIT)" }, "node_modules/path-key": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/path-parse": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + "license": "MIT" }, "node_modules/path-type": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/pathe": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.1.tgz", - "integrity": "sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==" + "license": "MIT" + }, + "node_modules/pbkdf2": { + "version": "3.1.2", + "license": "MIT", + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } }, "node_modules/pend": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" + "license": "MIT" }, "node_modules/performance-now": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/phin": { "version": "2.9.3", - "resolved": "https://registry.npmjs.org/phin/-/phin-2.9.3.tgz", - "integrity": "sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/picocolors": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", "engines": { "node": ">=8.6" }, @@ -27468,8 +25299,7 @@ }, "node_modules/pidtree": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", - "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "license": "MIT", "bin": { "pidtree": "bin/pidtree.js" }, @@ -27479,26 +25309,23 @@ }, "node_modules/pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/pirates": { "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "license": "MIT", "engines": { "node": ">= 6" } }, "node_modules/pixelmatch": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-5.3.0.tgz", - "integrity": "sha512-o8mkY4E/+LNUf6LzX96ht6k6CEDi65k9G2rjMtBe9Oo+VPKSvl+0GKHuH/AlG+GA5LPG/i5hrekkxUc3s2HU+Q==", "dev": true, + "license": "ISC", "dependencies": { "pngjs": "^6.0.0" }, @@ -27508,18 +25335,16 @@ }, "node_modules/pixelmatch/node_modules/pngjs": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", - "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==", "dev": true, + "license": "MIT", "engines": { "node": ">=12.13.0" } }, "node_modules/pkg-dir": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", - "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "find-up": "^6.3.0" @@ -27533,9 +25358,8 @@ }, "node_modules/pkg-dir/node_modules/find-up": { "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "locate-path": "^7.1.0", @@ -27550,9 +25374,8 @@ }, "node_modules/pkg-dir/node_modules/locate-path": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", - "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "p-locate": "^6.0.0" @@ -27566,9 +25389,8 @@ }, "node_modules/pkg-dir/node_modules/p-limit": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "yocto-queue": "^1.0.0" @@ -27582,9 +25404,8 @@ }, "node_modules/pkg-dir/node_modules/p-locate": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "p-limit": "^4.0.0" @@ -27598,9 +25419,8 @@ }, "node_modules/pkg-dir/node_modules/path-exists": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" @@ -27608,9 +25428,8 @@ }, "node_modules/pkg-dir/node_modules/yocto-queue": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=12.20" @@ -27621,8 +25440,7 @@ }, "node_modules/pkg-types": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz", - "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", + "license": "MIT", "dependencies": { "jsonc-parser": "^3.2.0", "mlly": "^1.2.0", @@ -27631,8 +25449,7 @@ }, "node_modules/pkg-up": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "license": "MIT", "dependencies": { "find-up": "^3.0.0" }, @@ -27642,8 +25459,7 @@ }, "node_modules/pkg-up/node_modules/find-up": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "license": "MIT", "dependencies": { "locate-path": "^3.0.0" }, @@ -27653,8 +25469,7 @@ }, "node_modules/pkg-up/node_modules/locate-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "license": "MIT", "dependencies": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" @@ -27665,8 +25480,7 @@ }, "node_modules/pkg-up/node_modules/p-limit": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -27679,8 +25493,7 @@ }, "node_modules/pkg-up/node_modules/p-locate": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "license": "MIT", "dependencies": { "p-limit": "^2.0.0" }, @@ -27690,16 +25503,14 @@ }, "node_modules/pkg-up/node_modules/path-exists": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/plist": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/plist/-/plist-3.1.0.tgz", - "integrity": "sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==", + "license": "MIT", "dependencies": { "@xmldom/xmldom": "^0.8.8", "base64-js": "^1.5.1", @@ -27711,32 +25522,27 @@ }, "node_modules/plist/node_modules/@xmldom/xmldom": { "version": "0.8.10", - "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz", - "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==", + "license": "MIT", "engines": { "node": ">=10.0.0" } }, "node_modules/plist/node_modules/xmlbuilder": { "version": "15.1.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", - "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", + "license": "MIT", "engines": { "node": ">=8.0" } }, "node_modules/pngjs": { "version": "3.4.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", - "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", + "license": "MIT", "engines": { "node": ">=4.0.0" } }, "node_modules/postcss": { - "version": "8.4.28", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.28.tgz", - "integrity": "sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==", + "version": "8.4.31", "funding": [ { "type": "opencollective", @@ -27751,6 +25557,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "nanoid": "^3.3.6", "picocolors": "^1.0.0", @@ -27762,8 +25569,7 @@ }, "node_modules/postcss-js": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-3.0.3.tgz", - "integrity": "sha512-gWnoWQXKFw65Hk/mi2+WTQTHdPD5UJdDXZmX073EY/B3BWnYjO4F4t0VneTCnCGQ5E5GsCdMkzPaTXwl3r5dJw==", + "license": "MIT", "dependencies": { "camelcase-css": "^2.0.1", "postcss": "^8.1.6" @@ -27778,8 +25584,7 @@ }, "node_modules/postcss-load-config": { "version": "3.1.4", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", - "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "license": "MIT", "dependencies": { "lilconfig": "^2.0.5", "yaml": "^1.10.2" @@ -27806,16 +25611,14 @@ }, "node_modules/postcss-load-config/node_modules/yaml": { "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "license": "ISC", "engines": { "node": ">= 6" } }, "node_modules/postcss-nested": { "version": "5.0.6", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz", - "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==", + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.6" }, @@ -27832,8 +25635,7 @@ }, "node_modules/postcss-selector-parser": { "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "license": "MIT", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -27844,13 +25646,11 @@ }, "node_modules/postcss-value-parser": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + "license": "MIT" }, "node_modules/prebuild-install": { "version": "7.1.1", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", - "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", + "license": "MIT", "dependencies": { "detect-libc": "^2.0.0", "expand-template": "^2.0.3", @@ -27874,32 +25674,28 @@ }, "node_modules/prebuild-install/node_modules/detect-libc": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", - "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", + "license": "Apache-2.0", "engines": { "node": ">=8" } }, "node_modules/prelude-ls": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "license": "MIT", "engines": { "node": ">= 0.8.0" } }, "node_modules/prepend-http": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/prettier": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz", - "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==", + "license": "MIT", "bin": { "prettier": "bin/prettier.cjs" }, @@ -27912,8 +25708,7 @@ }, "node_modules/prettier-linter-helpers": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "license": "MIT", "dependencies": { "fast-diff": "^1.1.2" }, @@ -27923,8 +25718,7 @@ }, "node_modules/pretty-bytes": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "license": "MIT", "engines": { "node": ">=6" }, @@ -27934,9 +25728,8 @@ }, "node_modules/pretty-format": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", @@ -27948,9 +25741,8 @@ }, "node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -27960,37 +25752,31 @@ }, "node_modules/pretty-format/node_modules/react-is": { "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/pretty-hrtime": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", - "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==", + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/process": { "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6.0" } }, "node_modules/process-nextick-args": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "license": "MIT" }, "node_modules/process-on-spawn": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", - "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", "dev": true, + "license": "MIT", "dependencies": { "fromentries": "^1.2.0" }, @@ -28000,29 +25786,25 @@ }, "node_modules/progress": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "license": "MIT", "engines": { "node": ">=0.4.0" } }, "node_modules/promise": { "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "license": "MIT", "dependencies": { "asap": "~2.0.3" } }, "node_modules/promise-inflight": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==" + "license": "ISC" }, "node_modules/prompts": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "license": "MIT", "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" @@ -28033,8 +25815,7 @@ }, "node_modules/prop-types": { "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "license": "MIT", "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", @@ -28043,8 +25824,7 @@ }, "node_modules/proper-lockfile": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", - "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", "retry": "^0.12.0", @@ -28053,8 +25833,7 @@ }, "node_modules/properties-reader": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/properties-reader/-/properties-reader-2.3.0.tgz", - "integrity": "sha512-z597WicA7nDZxK12kZqHr2TcvwNU1GCfA5UwfDY/HDp3hXPoPlb5rlEx9bwGTiJnc0OqbBTkU975jDToth8Gxw==", + "license": "MIT", "dependencies": { "mkdirp": "^1.0.4" }, @@ -28068,8 +25847,7 @@ }, "node_modules/properties-reader/node_modules/mkdirp": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "license": "MIT", "bin": { "mkdirp": "bin/cmd.js" }, @@ -28079,25 +25857,37 @@ }, "node_modules/proxy-from-env": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", - "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/pseudomap": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" + "license": "ISC" }, "node_modules/psl": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "license": "MIT", + "dependencies": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.12.0", + "license": "MIT" }, "node_modules/pump": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "license": "MIT", "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -28105,16 +25895,13 @@ }, "node_modules/punycode": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/pure-rand": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", - "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==", "funding": [ { "type": "individual", @@ -28124,12 +25911,12 @@ "type": "opencollective", "url": "https://opencollective.com/fast-check" } - ] + ], + "license": "MIT" }, "node_modules/purgecss": { "version": "4.1.3", - "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-4.1.3.tgz", - "integrity": "sha512-99cKy4s+VZoXnPxaoM23e5ABcP851nC2y2GROkkjS8eJaJtlciGavd7iYAw2V84WeBqggZ12l8ef44G99HmTaw==", + "license": "MIT", "dependencies": { "commander": "^8.0.0", "glob": "^7.1.7", @@ -28142,16 +25929,14 @@ }, "node_modules/purgecss/node_modules/commander": { "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "license": "MIT", "engines": { "node": ">= 12" } }, "node_modules/purgecss/node_modules/glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -28169,9 +25954,8 @@ }, "node_modules/q": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.6.0", "teleport": ">=0.2.0" @@ -28179,22 +25963,18 @@ }, "node_modules/qr.js": { "version": "0.0.0", - "resolved": "https://registry.npmjs.org/qr.js/-/qr.js-0.0.0.tgz", - "integrity": "sha512-c4iYnWb+k2E+vYpRimHqSu575b1/wKl4XFeJGpFmrJQz5I88v9aY2czh7s0w36srfCM1sXgC/xpoJz5dJfq+OQ==" + "license": "MIT" }, "node_modules/qrcode-terminal": { "version": "0.11.0", - "resolved": "https://registry.npmjs.org/qrcode-terminal/-/qrcode-terminal-0.11.0.tgz", - "integrity": "sha512-Uu7ii+FQy4Qf82G4xu7ShHhjhGahEpCWc3x8UavY3CTcWV+ufmmCtwkr7ZKsX42jdL0kr1B5FKUeqJvAn51jzQ==", "bin": { "qrcode-terminal": "bin/qrcode-terminal.js" } }, "node_modules/qs": { "version": "6.10.4", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz", - "integrity": "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.0.4" }, @@ -28207,8 +25987,7 @@ }, "node_modules/query-string": { "version": "7.1.3", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.3.tgz", - "integrity": "sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==", + "license": "MIT", "dependencies": { "decode-uri-component": "^0.2.2", "filter-obj": "^1.1.0", @@ -28224,8 +26003,7 @@ }, "node_modules/querystringify": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + "license": "MIT" }, "node_modules/queue": { "version": "6.0.2", @@ -28237,8 +26015,6 @@ }, "node_modules/queue-microtask": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "funding": [ { "type": "github", @@ -28252,17 +26028,16 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/queue-tick": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", - "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==" + "license": "MIT" }, "node_modules/quick-lru": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -28272,35 +26047,38 @@ }, "node_modules/radix3": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.0.tgz", - "integrity": "sha512-pNsHDxbGORSvuSScqNJ+3Km6QAVqk8CfsCBIEoDgpqLrkD2f3QM4I7d1ozJJ172OmIcoUcerZaNWqtLkRXTV3A==" + "license": "MIT" }, "node_modules/randombytes": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "license": "MIT", "dependencies": { "safe-buffer": "^5.1.0" } }, "node_modules/randomcolor": { "version": "0.6.2", - "resolved": "https://registry.npmjs.org/randomcolor/-/randomcolor-0.6.2.tgz", - "integrity": "sha512-Mn6TbyYpFgwFuQ8KJKqf3bqqY9O1y37/0jgSK/61PUxV4QfIMv0+K2ioq8DfOjkBslcjwSzRfIDEXfzA9aCx7A==", - "dev": true + "dev": true, + "license": "CC0" + }, + "node_modules/randomfill": { + "version": "1.0.4", + "license": "MIT", + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } }, "node_modules/range-parser": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/raw-body": { "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "license": "MIT", "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", @@ -28313,8 +26091,7 @@ }, "node_modules/rc": { "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", "dependencies": { "deep-extend": "^0.6.0", "ini": "~1.3.0", @@ -28327,21 +26104,18 @@ }, "node_modules/rc/node_modules/ini": { "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + "license": "ISC" }, "node_modules/rc/node_modules/strip-json-comments": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/react": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0" }, @@ -28351,8 +26125,7 @@ }, "node_modules/react-content-loader": { "version": "6.2.1", - "resolved": "https://registry.npmjs.org/react-content-loader/-/react-content-loader-6.2.1.tgz", - "integrity": "sha512-6ONbFX+Hi3SHuP66JB8CPvJn372pj+qwltJV0J8z/8MFrq98I1cbFdZuhDWeQXu3CFxiiDTXJn7DFxx2ZvrO7g==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -28362,9 +26135,8 @@ }, "node_modules/react-dev-utils": { "version": "12.0.1", - "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", - "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.16.0", "address": "^1.1.2", @@ -28397,9 +26169,8 @@ }, "node_modules/react-dev-utils/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -28412,9 +26183,8 @@ }, "node_modules/react-dev-utils/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -28428,9 +26198,8 @@ }, "node_modules/react-dev-utils/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -28440,24 +26209,21 @@ }, "node_modules/react-dev-utils/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/react-dev-utils/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/react-dev-utils/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -28467,8 +26233,7 @@ }, "node_modules/react-devtools": { "version": "4.28.0", - "resolved": "https://registry.npmjs.org/react-devtools/-/react-devtools-4.28.0.tgz", - "integrity": "sha512-nagHAiR9ZBZtXdjMdNWSiWCee7i0gYm/hPNYTS3fmxvlfbzU3PfKlID7wdZgSoO00I2/ZzhsPfr9fccg9uk5Yw==", + "license": "MIT", "dependencies": { "cross-spawn": "^5.0.1", "electron": "^23.1.2", @@ -28483,8 +26248,7 @@ }, "node_modules/react-devtools-core": { "version": "4.28.0", - "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.28.0.tgz", - "integrity": "sha512-E3C3X1skWBdBzwpOUbmXG8SgH6BtsluSMe+s6rRcujNKG1DGi8uIfhdhszkgDpAsMoE55hwqRUzeXCmETDBpTg==", + "license": "MIT", "dependencies": { "shell-quote": "^1.6.1", "ws": "^7" @@ -28492,8 +26256,7 @@ }, "node_modules/react-devtools/node_modules/cross-spawn": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", + "license": "MIT", "dependencies": { "lru-cache": "^4.0.1", "shebang-command": "^1.2.0", @@ -28502,8 +26265,7 @@ }, "node_modules/react-devtools/node_modules/lru-cache": { "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "license": "ISC", "dependencies": { "pseudomap": "^1.0.2", "yallist": "^2.1.2" @@ -28511,8 +26273,7 @@ }, "node_modules/react-devtools/node_modules/shebang-command": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "license": "MIT", "dependencies": { "shebang-regex": "^1.0.0" }, @@ -28522,16 +26283,14 @@ }, "node_modules/react-devtools/node_modules/shebang-regex": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/react-devtools/node_modules/which": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -28541,13 +26300,11 @@ }, "node_modules/react-devtools/node_modules/yallist": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" + "license": "ISC" }, "node_modules/react-dom": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.0" @@ -28558,14 +26315,12 @@ }, "node_modules/react-error-overlay": { "version": "6.0.11", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", - "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/react-freeze": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/react-freeze/-/react-freeze-1.0.3.tgz", - "integrity": "sha512-ZnXwLQnGzrDpHBHiC56TXFXvmolPeMjTn1UOm610M4EXGzbEDR7oOIyS2ZiItgbs6eZc4oU/a0hpk8PrcKvv5g==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -28575,8 +26330,7 @@ }, "node_modules/react-hook-form": { "version": "7.45.4", - "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.45.4.tgz", - "integrity": "sha512-HGDV1JOOBPZj10LB3+OZgfDBTn+IeEsNOKiq/cxbQAIbKaiJUe/KV8DBUzsx0Gx/7IG/orWqRRm736JwOfUSWQ==", + "license": "MIT", "engines": { "node": ">=12.22.0" }, @@ -28590,37 +26344,34 @@ }, "node_modules/react-icons": { "version": "4.11.0", - "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.11.0.tgz", - "integrity": "sha512-V+4khzYcE5EBk/BvcuYRq6V/osf11ODUM2J8hg2FDSswRrGvqiYUYPRy4OdrWaQOBj4NcpJfmHZLNaD+VH0TyA==", + "license": "MIT", "peerDependencies": { "react": "*" } }, "node_modules/react-is": { "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "license": "MIT" }, "node_modules/react-lifecycles-compat": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", - "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + "license": "MIT" }, "node_modules/react-native": { - "version": "0.72.3", - "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.72.3.tgz", - "integrity": "sha512-QqISi+JVmCssNP2FlQ4MWhlc4O/I00MRE1/GClvyZ8h/6kdsyk/sOirkYdZqX3+DrJfI3q+OnyMnsyaXIQ/5tQ==", + "version": "0.72.5", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.72.5.tgz", + "integrity": "sha512-oIewslu5DBwOmo7x5rdzZlZXCqDIna0R4dUwVpfmVteORYLr4yaZo5wQnMeR+H7x54GaMhmgeqp0ZpULtulJFg==", "dependencies": { "@jest/create-cache-key-function": "^29.2.1", - "@react-native-community/cli": "11.3.5", - "@react-native-community/cli-platform-android": "11.3.5", - "@react-native-community/cli-platform-ios": "11.3.5", + "@react-native-community/cli": "11.3.7", + "@react-native-community/cli-platform-android": "11.3.7", + "@react-native-community/cli-platform-ios": "11.3.7", "@react-native/assets-registry": "^0.72.0", - "@react-native/codegen": "^0.72.6", + "@react-native/codegen": "^0.72.7", "@react-native/gradle-plugin": "^0.72.11", "@react-native/js-polyfills": "^0.72.1", "@react-native/normalize-colors": "^0.72.0", - "@react-native/virtualized-lists": "^0.72.6", + "@react-native/virtualized-lists": "^0.72.8", "abort-controller": "^3.0.0", "anser": "^1.4.9", "base64-js": "^1.1.2", @@ -28631,8 +26382,8 @@ "jest-environment-node": "^29.2.1", "jsc-android": "^250231.0.0", "memoize-one": "^5.0.0", - "metro-runtime": "0.76.7", - "metro-source-map": "0.76.7", + "metro-runtime": "0.76.8", + "metro-source-map": "0.76.8", "mkdirp": "^0.5.1", "nullthrows": "^1.1.1", "pretty-format": "^26.5.2", @@ -28660,8 +26411,7 @@ }, "node_modules/react-native-circular-progress-indicator": { "version": "4.4.2", - "resolved": "https://registry.npmjs.org/react-native-circular-progress-indicator/-/react-native-circular-progress-indicator-4.4.2.tgz", - "integrity": "sha512-BlgshzIIIk0TP/CZY+5oyRsHl2Sb2l6cK5tzfmrVETfn6pN8dhOKrV0i3Z6i0SM8wRgncdUUSRBpCPAexh7JoQ==", + "license": "MIT", "dependencies": { "react-native-redash": "*" }, @@ -28674,8 +26424,7 @@ }, "node_modules/react-native-collapsible": { "version": "1.6.1", - "resolved": "https://registry.npmjs.org/react-native-collapsible/-/react-native-collapsible-1.6.1.tgz", - "integrity": "sha512-orF4BeiXd2hZW7fu9YcqIJXzN6TJcFcddY807D3MAOVktLuW9oQ+RIkrTJ5DR3v9ZOFfREkOjEmS79qeUTvkBQ==", + "license": "MIT", "peerDependencies": { "react": "*", "react-native": "*" @@ -28683,8 +26432,7 @@ }, "node_modules/react-native-confirmation-code-field": { "version": "7.3.1", - "resolved": "https://registry.npmjs.org/react-native-confirmation-code-field/-/react-native-confirmation-code-field-7.3.1.tgz", - "integrity": "sha512-5vI6BclB31e4vTYg0HmV/Vy9zI5MQZfHr1EN3kYzvaZq4GMIsyr6lrSmnQW1TtWR7Z8oURrhCpwo+JsWXxCoug==", + "license": "MIT", "peerDependencies": { "react": ">=16.4.0", "react-native": ">=0.64.0" @@ -28700,8 +26448,7 @@ }, "node_modules/react-native-gesture-handler": { "version": "2.12.1", - "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.12.1.tgz", - "integrity": "sha512-deqh36bw82CFUV9EC4tTo2PP1i9HfCOORGS3Zmv71UYhEZEHkzZv18IZNPB+2Awzj45vLIidZxGYGFxHlDSQ5A==", + "license": "MIT", "dependencies": { "@egjs/hammerjs": "^2.0.17", "hoist-non-react-statics": "^3.3.0", @@ -28716,8 +26463,7 @@ }, "node_modules/react-native-get-random-values": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/react-native-get-random-values/-/react-native-get-random-values-1.9.0.tgz", - "integrity": "sha512-+29IR2oxzxNVeaRwCqGZ9ABadzMI8SLTBidrIDXPOkKnm5+kEmLt34QKM4JV+d2usPErvKyS85le0OmGTHnyWQ==", + "license": "MIT", "dependencies": { "fast-base64-decode": "^1.0.0" }, @@ -28727,16 +26473,14 @@ }, "node_modules/react-native-iphone-x-helper": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/react-native-iphone-x-helper/-/react-native-iphone-x-helper-1.3.1.tgz", - "integrity": "sha512-HOf0jzRnq2/aFUcdCJ9w9JGzN3gdEg0zFE4FyYlp4jtidqU03D5X7ZegGKfT1EWteR0gPBGp9ye5T5FvSWi9Yg==", + "license": "MIT", "peerDependencies": { "react-native": ">=0.42.0" } }, "node_modules/react-native-keyboard-aware-scroll-view": { "version": "0.9.5", - "resolved": "https://registry.npmjs.org/react-native-keyboard-aware-scroll-view/-/react-native-keyboard-aware-scroll-view-0.9.5.tgz", - "integrity": "sha512-XwfRn+T/qBH9WjTWIBiJD2hPWg0yJvtaEw6RtPCa5/PYHabzBaWxYBOl0usXN/368BL1XktnZPh8C2lmTpOREA==", + "license": "MIT", "dependencies": { "prop-types": "^15.6.2", "react-native-iphone-x-helper": "^1.0.3" @@ -28747,8 +26491,7 @@ }, "node_modules/react-native-popover-view": { "version": "5.1.8", - "resolved": "https://registry.npmjs.org/react-native-popover-view/-/react-native-popover-view-5.1.8.tgz", - "integrity": "sha512-kDH2liv/Xb8y0JCY25Ft2SiA5fJtVL4o7gk2dXyhXeNhjSEEss3Z3hZyeYMi4ctHimovWSBZz/CjfejNbUF1jA==", + "license": "MIT", "dependencies": { "deprecated-react-native-prop-types": "^2.3.0", "prop-types": "^15.8.1" @@ -28756,8 +26499,7 @@ }, "node_modules/react-native-popover-view/node_modules/deprecated-react-native-prop-types": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-2.3.0.tgz", - "integrity": "sha512-pWD0voFtNYxrVqvBMYf5gq3NA2GCpfodS1yNynTPc93AYA/KEMGeWDqqeUB6R2Z9ZofVhks2aeJXiuQqKNpesA==", + "license": "MIT", "dependencies": { "@react-native/normalize-color": "*", "invariant": "*", @@ -28766,8 +26508,7 @@ }, "node_modules/react-native-progress": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/react-native-progress/-/react-native-progress-5.0.0.tgz", - "integrity": "sha512-KjnGIt3r9i5Kn2biOD9fXLJocf0bwxPRxOyAgXEnZTJQU2O+HyzgGFRCbM5h3izm9kKIkSc1txh8aGmMafCD9A==", + "license": "MIT", "dependencies": { "prop-types": "^15.7.2" }, @@ -28777,8 +26518,7 @@ }, "node_modules/react-native-reanimated": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-3.3.0.tgz", - "integrity": "sha512-LzfpPZ1qXBGy5BcUHqw3pBC0qSd22qXS3t8hWSbozXNrBkzMhhOrcILE/nEg/PHpNNp1xvGOW8NwpAMF006roQ==", + "license": "MIT", "dependencies": { "@babel/plugin-transform-object-assign": "^7.16.7", "@babel/preset-typescript": "^7.16.7", @@ -28798,13 +26538,11 @@ }, "node_modules/react-native-reanimated/node_modules/convert-source-map": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + "license": "MIT" }, "node_modules/react-native-redash": { "version": "18.1.0", - "resolved": "https://registry.npmjs.org/react-native-redash/-/react-native-redash-18.1.0.tgz", - "integrity": "sha512-bdCFl/ZB7Rf2raIlU6SLV+Dc/rL6UXsQNjEVwTGBukHMeSKp1zs4zVtWaGimbN8P22N4qYvb9Jmw/K94ZWYG0Q==", + "license": "MIT", "dependencies": { "abs-svg-path": "^0.1.1", "normalize-svg-path": "^1.0.1", @@ -28819,8 +26557,7 @@ }, "node_modules/react-native-safe-area-context": { "version": "4.6.3", - "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-4.6.3.tgz", - "integrity": "sha512-3CeZM9HFXkuqiU9HqhOQp1yxhXw6q99axPWrT+VJkITd67gnPSU03+U27Xk2/cr9XrLUnakM07kj7H0hdPnFiQ==", + "license": "MIT", "peerDependencies": { "react": "*", "react-native": "*" @@ -28828,8 +26565,7 @@ }, "node_modules/react-native-screens": { "version": "3.22.1", - "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.22.1.tgz", - "integrity": "sha512-ffzwUdVKf+iLqhWSzN5DXBm0s2w5sN0P+TaHHPAx42LT7+DT0g8PkHT1QDvxpR5vCEPSS1i3EswyVK4HCuhTYg==", + "license": "MIT", "dependencies": { "react-freeze": "^1.0.0", "warn-once": "^0.1.0" @@ -28841,8 +26577,7 @@ }, "node_modules/react-native-svg": { "version": "13.9.0", - "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-13.9.0.tgz", - "integrity": "sha512-Ey18POH0dA0ob/QiwCBVrxIiwflhYuw0P0hBlOHeY4J5cdbs8ngdKHeWC/Kt9+ryP6fNoEQ1PUgPYw2Bs/rp5Q==", + "license": "MIT", "dependencies": { "css-select": "^5.1.0", "css-tree": "^1.1.3" @@ -28854,16 +26589,90 @@ }, "node_modules/react-native-swiper-flatlist": { "version": "3.2.3", - "resolved": "https://registry.npmjs.org/react-native-swiper-flatlist/-/react-native-swiper-flatlist-3.2.3.tgz", - "integrity": "sha512-L4KSy4X1mzUx9a/gZa+lBpY7agS/GHCSzSjHjpIDQB7qh03jKm4PsKyYE5KfFzJRzBMm/srfrixfWzHncZmhkQ==", + "license": "Apache-2.0", "peerDependencies": { "react-native": ">=0.59.0" } }, + "node_modules/react-native-tcp": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "base64-js": "0.0.8", + "buffer": "^5.0.0", + "events": "^1.0.2", + "ip-regex": "^1.0.3", + "process": "^0.11.9", + "util": "^0.10.3" + }, + "peerDependencies": { + "react-native": ">=0.60.0" + } + }, + "node_modules/react-native-tcp/node_modules/base64-js": { + "version": "0.0.8", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/react-native-tcp/node_modules/buffer": { + "version": "5.7.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/react-native-tcp/node_modules/buffer/node_modules/base64-js": { + "version": "1.5.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/react-native-tcp/node_modules/events": { + "version": "1.1.1", + "license": "MIT", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/react-native-tcp/node_modules/ip-regex": { + "version": "1.0.3", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/react-native-toast-notifications": { "version": "3.3.1", - "resolved": "https://registry.npmjs.org/react-native-toast-notifications/-/react-native-toast-notifications-3.3.1.tgz", - "integrity": "sha512-yc1Q2nOdIYvAf0GAIlmg8q42hiwpEHnLxkxJ6P+tN6jpcKZ1qzMXlgnmNdyF9cm9VOyHQexEP8952IKNAv1Olw==", + "license": "MIT", "peerDependencies": { "react": "*", "react-native": "*" @@ -28871,8 +26680,7 @@ }, "node_modules/react-native-web": { "version": "0.19.7", - "resolved": "https://registry.npmjs.org/react-native-web/-/react-native-web-0.19.7.tgz", - "integrity": "sha512-AaU4EKCrhdXaKJT3oVm3DH1LJxbA7VEe4TWKBSabGA6+b+CVH2SrCSEKc1pJjqK9iq3gxPcRWnPgrTQ6eHLRmQ==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.18.6", "@react-native/normalize-color": "^2.1.0", @@ -28890,13 +26698,11 @@ }, "node_modules/react-native-web/node_modules/memoize-one": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", - "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" + "license": "MIT" }, "node_modules/react-native/node_modules/@jest/types": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -28910,16 +26716,14 @@ }, "node_modules/react-native/node_modules/@types/yargs": { "version": "15.0.15", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.15.tgz", - "integrity": "sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, "node_modules/react-native/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -28932,8 +26736,7 @@ }, "node_modules/react-native/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -28947,8 +26750,7 @@ }, "node_modules/react-native/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -28958,21 +26760,18 @@ }, "node_modules/react-native/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/react-native/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/react-native/node_modules/mkdirp": { "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "license": "MIT", "dependencies": { "minimist": "^1.2.6" }, @@ -28982,8 +26781,7 @@ }, "node_modules/react-native/node_modules/pretty-format": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "license": "MIT", "dependencies": { "@jest/types": "^26.6.2", "ansi-regex": "^5.0.0", @@ -28996,34 +26794,29 @@ }, "node_modules/react-native/node_modules/promise": { "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "license": "MIT", "dependencies": { "asap": "~2.0.6" } }, "node_modules/react-native/node_modules/react-is": { "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + "license": "MIT" }, "node_modules/react-native/node_modules/regenerator-runtime": { "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + "license": "MIT" }, "node_modules/react-native/node_modules/scheduler": { "version": "0.24.0-canary-efb381bbf-20230505", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.24.0-canary-efb381bbf-20230505.tgz", - "integrity": "sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0" } }, "node_modules/react-native/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -29033,16 +26826,14 @@ }, "node_modules/react-native/node_modules/ws": { "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", - "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "license": "MIT", "dependencies": { "async-limiter": "~1.0.0" } }, "node_modules/react-number-format": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/react-number-format/-/react-number-format-5.3.0.tgz", - "integrity": "sha512-3h5kuO5x9HpifEgCzvw6kDljzjsI3OhgnT/BRzZbzdbHVb755eVzJuNnRUZr3h/ATu3Sct9O+XrYc9HrAj/6bQ==", + "license": "MIT", "dependencies": { "prop-types": "^15.7.2" }, @@ -29053,8 +26844,7 @@ }, "node_modules/react-overlays": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/react-overlays/-/react-overlays-5.2.1.tgz", - "integrity": "sha512-GLLSOLWr21CqtJn8geSwQfoJufdt3mfdsnIiQswouuQ2MMPns+ihZklxvsTDKD3cR2tF8ELbi5xUsvqVhR6WvA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.8", "@popperjs/core": "^2.11.6", @@ -29072,8 +26862,7 @@ }, "node_modules/react-qr-code": { "version": "2.0.12", - "resolved": "https://registry.npmjs.org/react-qr-code/-/react-qr-code-2.0.12.tgz", - "integrity": "sha512-k+pzP5CKLEGBRwZsDPp98/CAJeXlsYRHM2iZn1Sd5Th/HnKhIZCSg27PXO58zk8z02RaEryg+60xa4vyywMJwg==", + "license": "MIT", "dependencies": { "prop-types": "^15.8.1", "qr.js": "0.0.0" @@ -29089,9 +26878,8 @@ } }, "node_modules/react-redux": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.1.2.tgz", - "integrity": "sha512-xJKYI189VwfsFc4CJvHqHlDrzyFTY/3vZACbE+rr/zQ34Xx1wQfB4OTOSeOSNrF6BDVe8OOdxIrAnMGXA3ggfw==", + "version": "8.1.3", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.12.1", "@types/hoist-non-react-statics": "^3.3.1", @@ -29128,21 +26916,18 @@ }, "node_modules/react-redux/node_modules/react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + "license": "MIT" }, "node_modules/react-refresh": { "version": "0.4.3", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", - "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/react-responsive": { "version": "9.0.2", - "resolved": "https://registry.npmjs.org/react-responsive/-/react-responsive-9.0.2.tgz", - "integrity": "sha512-+4CCab7z8G8glgJoRjAwocsgsv6VA2w7JPxFWHRc7kvz8mec1/K5LutNC2MG28Mn8mu6+bu04XZxHv5gyfT7xQ==", + "license": "MIT", "dependencies": { "hyphenate-style-name": "^1.0.0", "matchmediaquery": "^0.3.0", @@ -29158,8 +26943,7 @@ }, "node_modules/react-shallow-renderer": { "version": "16.15.0", - "resolved": "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz", - "integrity": "sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==", + "license": "MIT", "dependencies": { "object-assign": "^4.1.1", "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0" @@ -29170,9 +26954,8 @@ }, "node_modules/react-test-renderer": { "version": "18.1.0", - "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-18.1.0.tgz", - "integrity": "sha512-OfuueprJFW7h69GN+kr4Ywin7stcuqaYAt1g7airM5cUgP0BoF5G5CXsPGmXeDeEkncb2fqYNECO4y18sSqphg==", "dev": true, + "license": "MIT", "dependencies": { "react-is": "^18.1.0", "react-shallow-renderer": "^16.15.0", @@ -29184,24 +26967,21 @@ }, "node_modules/react-test-renderer/node_modules/react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/react-test-renderer/node_modules/scheduler": { "version": "0.22.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.22.0.tgz", - "integrity": "sha512-6QAm1BgQI88NPYymgGQLCZgvep4FyePDWFpXVK+zNSUgHwlqpJy8VEh8Et0KxTACS4VWwMousBElAZOH9nkkoQ==", "dev": true, + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0" } }, "node_modules/read-pkg": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", "dev": true, + "license": "MIT", "dependencies": { "load-json-file": "^4.0.0", "normalize-package-data": "^2.3.2", @@ -29213,9 +26993,8 @@ }, "node_modules/read-pkg-up": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==", "dev": true, + "license": "MIT", "dependencies": { "find-up": "^2.0.0", "read-pkg": "^3.0.0" @@ -29226,9 +27005,8 @@ }, "node_modules/read-pkg-up/node_modules/find-up": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^2.0.0" }, @@ -29238,9 +27016,8 @@ }, "node_modules/read-pkg-up/node_modules/locate-path": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^2.0.0", "path-exists": "^3.0.0" @@ -29251,9 +27028,8 @@ }, "node_modules/read-pkg-up/node_modules/p-limit": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, + "license": "MIT", "dependencies": { "p-try": "^1.0.0" }, @@ -29263,9 +27039,8 @@ }, "node_modules/read-pkg-up/node_modules/p-locate": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^1.1.0" }, @@ -29275,33 +27050,29 @@ }, "node_modules/read-pkg-up/node_modules/p-try": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/read-pkg-up/node_modules/path-exists": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/read-pkg/node_modules/hosted-git-info": { "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/read-pkg/node_modules/normalize-package-data": { "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", @@ -29311,9 +27082,8 @@ }, "node_modules/read-pkg/node_modules/path-type": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, + "license": "MIT", "dependencies": { "pify": "^3.0.0" }, @@ -29323,26 +27093,23 @@ }, "node_modules/read-pkg/node_modules/pify": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/read-pkg/node_modules/semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/readable-stream": { "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -29354,24 +27121,21 @@ }, "node_modules/readdir-glob": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", - "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", + "license": "Apache-2.0", "dependencies": { "minimatch": "^5.1.0" } }, "node_modules/readdir-glob/node_modules/brace-expansion": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/readdir-glob/node_modules/minimatch": { "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -29381,8 +27145,7 @@ }, "node_modules/readdirp": { "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "license": "MIT", "dependencies": { "picomatch": "^2.2.1" }, @@ -29397,8 +27160,7 @@ }, "node_modules/recast": { "version": "0.21.5", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.21.5.tgz", - "integrity": "sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==", + "license": "MIT", "dependencies": { "ast-types": "0.15.2", "esprima": "~4.0.0", @@ -29411,9 +27173,8 @@ }, "node_modules/recursive-readdir": { "version": "2.2.3", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", - "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", "dev": true, + "license": "MIT", "dependencies": { "minimatch": "^3.0.5" }, @@ -29423,8 +27184,7 @@ }, "node_modules/recyclerlistview": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/recyclerlistview/-/recyclerlistview-4.2.0.tgz", - "integrity": "sha512-uuBCi0c+ggqHKwrzPX4Z/mJOzsBbjZEAwGGmlwpD/sD7raXixdAbdJ6BTcAmuWG50Cg4ru9p12M94Njwhr/27A==", + "license": "Apache-2.0", "dependencies": { "lodash.debounce": "4.0.8", "prop-types": "15.8.1", @@ -29437,8 +27197,7 @@ }, "node_modules/redent": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "license": "MIT", "dependencies": { "indent-string": "^4.0.0", "strip-indent": "^3.0.0" @@ -29449,16 +27208,14 @@ }, "node_modules/redis-errors": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz", - "integrity": "sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/redis-parser": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz", - "integrity": "sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==", + "license": "MIT", "dependencies": { "redis-errors": "^1.0.0" }, @@ -29468,8 +27225,7 @@ }, "node_modules/reduce-css-calc": { "version": "2.1.8", - "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz", - "integrity": "sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg==", + "license": "MIT", "dependencies": { "css-unit-converter": "^1.1.1", "postcss-value-parser": "^3.3.0" @@ -29477,29 +27233,25 @@ }, "node_modules/reduce-css-calc/node_modules/postcss-value-parser": { "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + "license": "MIT" }, "node_modules/redux": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", - "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.9.2" } }, "node_modules/redux-thunk": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.2.tgz", - "integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==", + "license": "MIT", "peerDependencies": { "redux": "^4" } }, "node_modules/reflect.getprototypeof": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.3.tgz", - "integrity": "sha512-TTAOZpkJ2YLxl7mVHWrNo3iDMEkYlva/kgFcXndqMgbo/AZUmmavEkdXV+hXtE4P8xdyEKRzalaFqZVuwIk/Nw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -29517,13 +27269,11 @@ }, "node_modules/regenerate": { "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + "license": "MIT" }, "node_modules/regenerate-unicode-properties": { "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "license": "MIT", "dependencies": { "regenerate": "^1.4.2" }, @@ -29533,21 +27283,18 @@ }, "node_modules/regenerator-runtime": { "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + "license": "MIT" }, "node_modules/regenerator-transform": { "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.8.4" } }, "node_modules/regexp.prototype.flags": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -29562,8 +27309,7 @@ }, "node_modules/regexpp": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "license": "MIT", "engines": { "node": ">=8" }, @@ -29573,8 +27319,7 @@ }, "node_modules/regexpu-core": { "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "license": "MIT", "dependencies": { "@babel/regjsgen": "^0.8.0", "regenerate": "^1.4.2", @@ -29589,8 +27334,7 @@ }, "node_modules/registry-auth-token": { "version": "3.4.0", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.4.0.tgz", - "integrity": "sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==", + "license": "MIT", "dependencies": { "rc": "^1.1.6", "safe-buffer": "^5.0.1" @@ -29598,8 +27342,7 @@ }, "node_modules/registry-url": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", - "integrity": "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==", + "license": "MIT", "dependencies": { "rc": "^1.0.1" }, @@ -29609,8 +27352,7 @@ }, "node_modules/regjsparser": { "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "license": "BSD-2-Clause", "dependencies": { "jsesc": "~0.5.0" }, @@ -29620,17 +27362,14 @@ }, "node_modules/regjsparser/node_modules/jsesc": { "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", "bin": { "jsesc": "bin/jsesc" } }, "node_modules/release-zalgo": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==", "dev": true, + "license": "ISC", "dependencies": { "es6-error": "^4.0.1" }, @@ -29640,43 +27379,36 @@ }, "node_modules/remove-trailing-slash": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/remove-trailing-slash/-/remove-trailing-slash-0.1.1.tgz", - "integrity": "sha512-o4S4Qh6L2jpnCy83ysZDau+VORNvnFw07CKSAymkd6ICNVEPisMyzlc00KlvvicsxKck94SEwhDnMNdICzO+tA==" + "license": "MIT" }, "node_modules/request-progress": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", - "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", "dev": true, + "license": "MIT", "dependencies": { "throttleit": "^1.0.0" } }, "node_modules/require-directory": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/require-from-string": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/require-main-filename": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + "license": "ISC" }, "node_modules/requireg": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/requireg/-/requireg-0.2.2.tgz", - "integrity": "sha512-nYzyjnFcPNGR3lx9lwPPPnuQxv6JWEZd2Ci0u9opN7N5zUEPIhY/GbL3vMGOr2UXwEg9WwSyV9X9Y/kLFgPsOg==", "dependencies": { "nested-error-stacks": "~2.0.1", "rc": "~1.2.7", @@ -29688,26 +27420,22 @@ }, "node_modules/requireg/node_modules/resolve": { "version": "1.7.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", - "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", + "license": "MIT", "dependencies": { "path-parse": "^1.0.5" } }, "node_modules/requires-port": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + "license": "MIT" }, "node_modules/reselect": { "version": "4.1.8", - "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.8.tgz", - "integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==" + "license": "MIT" }, "node_modules/resolve": { "version": "1.22.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", - "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", + "license": "MIT", "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -29722,13 +27450,11 @@ }, "node_modules/resolve-alpn": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" + "license": "MIT" }, "node_modules/resolve-cwd": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "license": "MIT", "dependencies": { "resolve-from": "^5.0.0" }, @@ -29738,38 +27464,32 @@ }, "node_modules/resolve-from": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/resolve-pkg-maps": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", - "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "license": "MIT", "funding": { "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" } }, "node_modules/resolve-url": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", - "deprecated": "https://github.com/lydell/resolve-url#deprecated" + "license": "MIT" }, "node_modules/resolve.exports": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/responselike": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", - "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", + "license": "MIT", "dependencies": { "lowercase-keys": "^2.0.0" }, @@ -29779,8 +27499,7 @@ }, "node_modules/restore-cursor": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "license": "MIT", "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" @@ -29791,16 +27510,14 @@ }, "node_modules/retry": { "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/reusify": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -29808,23 +27525,19 @@ }, "node_modules/rfdc": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", - "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==" + "license": "MIT" }, "node_modules/rgb-regex": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", - "integrity": "sha512-gDK5mkALDFER2YLqH6imYvK6g02gpNGM4ILDZ472EwWfXZnC2ZEpoB2ECXTyOVUKuk/bPJZMzwQPBYICzP+D3w==" + "license": "MIT" }, "node_modules/rgba-regex": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", - "integrity": "sha512-zgn5OjNQXLUTdq8m17KdaicF6w89TZs8ZU8y0AYENIU6wG8GG6LLm0yLSiPY8DmaYmHdgRW8rnApjoT0fQRfMg==" + "license": "MIT" }, "node_modules/rimraf": { "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -29834,8 +27547,7 @@ }, "node_modules/ripemd160": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "license": "MIT", "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1" @@ -29843,8 +27555,7 @@ }, "node_modules/roarr": { "version": "2.15.4", - "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz", - "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==", + "license": "BSD-3-Clause", "optional": true, "dependencies": { "boolean": "^3.0.1", @@ -29860,13 +27571,11 @@ }, "node_modules/rtl-detect": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.0.4.tgz", - "integrity": "sha512-EBR4I2VDSSYr7PkBmFy04uhycIpDKp+21p/jARYXlCSjQksTBQcJ0HFUPOO79EPPH5JS6VAhiIQbycf0O3JAxQ==" + "license": "BSD-3-Clause" }, "node_modules/run-applescript": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz", - "integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==", + "license": "MIT", "dependencies": { "execa": "^5.0.0" }, @@ -29879,8 +27588,7 @@ }, "node_modules/run-applescript/node_modules/execa": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", @@ -29901,8 +27609,7 @@ }, "node_modules/run-applescript/node_modules/get-stream": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -29912,25 +27619,21 @@ }, "node_modules/run-applescript/node_modules/human-signals": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", "engines": { "node": ">=10.17.0" } }, "node_modules/run-async": { "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.12.0" } }, "node_modules/run-parallel": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "funding": [ { "type": "github", @@ -29945,23 +27648,22 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } }, "node_modules/rxjs": { "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", "dev": true, + "license": "Apache-2.0", "dependencies": { "tslib": "^2.1.0" } }, "node_modules/safe-array-concat": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", - "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.2.0", @@ -29977,8 +27679,6 @@ }, "node_modules/safe-buffer": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "funding": [ { "type": "github", @@ -29992,18 +27692,17 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/safe-json-stringify": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz", - "integrity": "sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==", + "license": "MIT", "optional": true }, "node_modules/safe-regex-test": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.3", @@ -30015,19 +27714,16 @@ }, "node_modules/safer-buffer": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "license": "MIT" }, "node_modules/sax": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + "license": "ISC" }, "node_modules/saxes": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", - "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", "dev": true, + "license": "ISC", "dependencies": { "xmlchars": "^2.2.0" }, @@ -30037,17 +27733,15 @@ }, "node_modules/scheduler": { "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0" } }, "node_modules/schema-utils": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@types/json-schema": "^7.0.9", @@ -30065,9 +27759,8 @@ }, "node_modules/schema-utils/node_modules/ajv": { "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", @@ -30082,9 +27775,8 @@ }, "node_modules/schema-utils/node_modules/ajv-keywords": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3" @@ -30095,20 +27787,17 @@ }, "node_modules/schema-utils/node_modules/json-schema-traverse": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/scrypt-js": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" + "license": "MIT" }, "node_modules/semver": { "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -30121,14 +27810,12 @@ }, "node_modules/semver-compare": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", + "license": "MIT", "optional": true }, "node_modules/semver-diff": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", - "integrity": "sha512-gL8F8L4ORwsS0+iQ34yCYv///jsOq0ZL7WP55d1HnJ32o7tyFYEFQZQA22mrLIacZdU6xecaBBZ+uEiffGNyXw==", + "license": "MIT", "dependencies": { "semver": "^5.0.3" }, @@ -30138,16 +27825,14 @@ }, "node_modules/semver-diff/node_modules/semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/semver/node_modules/lru-cache": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -30157,8 +27842,7 @@ }, "node_modules/send": { "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "license": "MIT", "dependencies": { "debug": "2.6.9", "depd": "2.0.0", @@ -30180,21 +27864,18 @@ }, "node_modules/send/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "license": "MIT" }, "node_modules/send/node_modules/mime": { "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", "bin": { "mime": "cli.js" }, @@ -30204,21 +27885,18 @@ }, "node_modules/send/node_modules/ms": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "license": "MIT" }, "node_modules/send/node_modules/statuses": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/serialize-error": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-6.0.0.tgz", - "integrity": "sha512-3vmBkMZLQO+BR4RPHcyRGdE09XCF6cvxzk2N2qn8Er3F91cy8Qt7VvEbZBOpaL53qsBbe2cFOefU6tRY6WDelA==", + "license": "MIT", "dependencies": { "type-fest": "^0.12.0" }, @@ -30231,8 +27909,7 @@ }, "node_modules/serialize-error/node_modules/type-fest": { "version": "0.12.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.12.0.tgz", - "integrity": "sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg==", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -30242,9 +27919,8 @@ }, "node_modules/serialize-javascript": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", "dev": true, + "license": "BSD-3-Clause", "peer": true, "dependencies": { "randombytes": "^2.1.0" @@ -30266,23 +27942,19 @@ }, "node_modules/set-blocking": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" + "license": "ISC" }, "node_modules/setimmediate": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" + "license": "MIT" }, "node_modules/setprototypeof": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + "license": "ISC" }, "node_modules/sha.js": { "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "license": "(MIT AND BSD-3-Clause)", "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -30293,8 +27965,7 @@ }, "node_modules/shallow-clone": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "license": "MIT", "dependencies": { "kind-of": "^6.0.2" }, @@ -30304,14 +27975,12 @@ }, "node_modules/shallow-equal": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz", - "integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==" + "license": "MIT" }, "node_modules/sharp": { "version": "0.32.6", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz", - "integrity": "sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==", "hasInstallScript": true, + "license": "Apache-2.0", "dependencies": { "color": "^4.2.3", "detect-libc": "^2.0.2", @@ -30331,21 +28000,18 @@ }, "node_modules/sharp/node_modules/detect-libc": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", - "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", + "license": "Apache-2.0", "engines": { "node": ">=8" } }, "node_modules/sharp/node_modules/node-addon-api": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", - "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==" + "license": "MIT" }, "node_modules/sharp/node_modules/tar-fs": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz", - "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==", + "license": "MIT", "dependencies": { "mkdirp-classic": "^0.5.2", "pump": "^3.0.0", @@ -30354,8 +28020,7 @@ }, "node_modules/sharp/node_modules/tar-stream": { "version": "3.1.6", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", - "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", + "license": "MIT", "dependencies": { "b4a": "^1.6.4", "fast-fifo": "^1.2.0", @@ -30364,8 +28029,7 @@ }, "node_modules/shebang-command": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -30375,24 +28039,21 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/shell-quote": { "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/side-channel": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.0", "get-intrinsic": "^1.0.2", @@ -30404,13 +28065,10 @@ }, "node_modules/signal-exit": { "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + "license": "ISC" }, "node_modules/simple-concat": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", "funding": [ { "type": "github", @@ -30424,12 +28082,11 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/simple-get": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", - "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", "funding": [ { "type": "github", @@ -30444,6 +28101,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "decompress-response": "^6.0.0", "once": "^1.3.1", @@ -30452,8 +28110,7 @@ }, "node_modules/simple-plist": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-1.3.1.tgz", - "integrity": "sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw==", + "license": "MIT", "dependencies": { "bplist-creator": "0.1.0", "bplist-parser": "0.3.1", @@ -30462,8 +28119,7 @@ }, "node_modules/simple-plist/node_modules/bplist-parser": { "version": "0.3.1", - "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.1.tgz", - "integrity": "sha512-PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA==", + "license": "MIT", "dependencies": { "big-integer": "1.6.x" }, @@ -30473,35 +28129,30 @@ }, "node_modules/simple-swizzle": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "license": "MIT", "dependencies": { "is-arrayish": "^0.3.1" } }, "node_modules/simple-swizzle/node_modules/is-arrayish": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + "license": "MIT" }, "node_modules/sisteransi": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + "license": "MIT" }, "node_modules/slash": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/slice-ansi": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", - "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", @@ -30513,9 +28164,8 @@ }, "node_modules/slice-ansi/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -30528,9 +28178,8 @@ }, "node_modules/slice-ansi/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -30540,22 +28189,19 @@ }, "node_modules/slice-ansi/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/slugify": { "version": "1.6.6", - "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.6.tgz", - "integrity": "sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==", + "license": "MIT", "engines": { "node": ">=8.0.0" } }, "node_modules/smart-buffer": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "license": "MIT", "engines": { "node": ">= 6.0.0", "npm": ">= 3.0.0" @@ -30563,8 +28209,7 @@ }, "node_modules/sort-keys": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", - "integrity": "sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==", + "license": "MIT", "dependencies": { "is-plain-obj": "^1.0.0" }, @@ -30574,33 +28219,28 @@ }, "node_modules/sort-keys/node_modules/is-plain-obj": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-js": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-resolve": { "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "license": "MIT", "dependencies": { "atob": "^2.1.2", "decode-uri-component": "^0.2.0", @@ -30611,8 +28251,7 @@ }, "node_modules/source-map-support": { "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -30620,15 +28259,12 @@ }, "node_modules/source-map-url": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "deprecated": "See https://github.com/lydell/source-map-url#deprecated" + "license": "MIT" }, "node_modules/spawn-wrap": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", - "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", "dev": true, + "license": "ISC", "dependencies": { "foreground-child": "^2.0.0", "is-windows": "^1.0.2", @@ -30643,9 +28279,8 @@ }, "node_modules/spawn-wrap/node_modules/make-dir": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, + "license": "MIT", "dependencies": { "semver": "^6.0.0" }, @@ -30658,9 +28293,8 @@ }, "node_modules/spawn-wrap/node_modules/rimraf": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -30673,17 +28307,15 @@ }, "node_modules/spawn-wrap/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/spdx-correct": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", - "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "license": "Apache-2.0", "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" @@ -30691,13 +28323,11 @@ }, "node_modules/spdx-exceptions": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" + "license": "CC-BY-3.0" }, "node_modules/spdx-expression-parse": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "license": "MIT", "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" @@ -30705,13 +28335,11 @@ }, "node_modules/spdx-license-ids": { "version": "3.0.13", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", - "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==" + "license": "CC0-1.0" }, "node_modules/split": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", - "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "license": "MIT", "dependencies": { "through": "2" }, @@ -30721,36 +28349,31 @@ }, "node_modules/split-ca": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", - "integrity": "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==" + "license": "ISC" }, "node_modules/split-on-first": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", - "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/split2": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", "dev": true, + "license": "ISC", "dependencies": { "readable-stream": "^3.0.0" } }, "node_modules/sprintf-js": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", - "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", + "license": "BSD-3-Clause", "optional": true }, "node_modules/ssh-remote-port-forward": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/ssh-remote-port-forward/-/ssh-remote-port-forward-1.0.4.tgz", - "integrity": "sha512-x0LV1eVDwjf1gmG7TTnfqIzf+3VPRz7vrNIjX6oYLbeCrf/PeVY6hkT68Mg+q02qXxQhrLjB0jfgvhevoCRmLQ==", + "license": "MIT", "dependencies": { "@types/ssh2": "^0.5.48", "ssh2": "^1.4.0" @@ -30758,8 +28381,7 @@ }, "node_modules/ssh-remote-port-forward/node_modules/@types/ssh2": { "version": "0.5.52", - "resolved": "https://registry.npmjs.org/@types/ssh2/-/ssh2-0.5.52.tgz", - "integrity": "sha512-lbLLlXxdCZOSJMCInKH2+9V/77ET2J6NPQHpFI0kda61Dd1KglJs+fPQBchizmzYSOJBgdTajhPqBO1xxLywvg==", + "license": "MIT", "dependencies": { "@types/node": "*", "@types/ssh2-streams": "*" @@ -30767,8 +28389,6 @@ }, "node_modules/ssh2": { "version": "1.14.0", - "resolved": "https://registry.npmjs.org/ssh2/-/ssh2-1.14.0.tgz", - "integrity": "sha512-AqzD1UCqit8tbOKoj6ztDDi1ffJZ2rV2SwlgrVVrHPkV5vWqGJOVp5pmtj18PunkPJAuKQsnInyKV+/Nb2bUnA==", "hasInstallScript": true, "dependencies": { "asn1": "^0.2.6", @@ -30784,9 +28404,8 @@ }, "node_modules/sshpk": { "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", "dev": true, + "license": "MIT", "dependencies": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -30809,8 +28428,7 @@ }, "node_modules/ssri": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", - "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "license": "ISC", "dependencies": { "minipass": "^3.1.1" }, @@ -30820,8 +28438,7 @@ }, "node_modules/stack-utils": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "license": "MIT", "dependencies": { "escape-string-regexp": "^2.0.0" }, @@ -30831,8 +28448,7 @@ }, "node_modules/stack-utils/node_modules/escape-string-regexp": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "license": "MIT", "engines": { "node": ">=8" } @@ -30844,8 +28460,7 @@ }, "node_modules/stacktrace-parser": { "version": "0.1.10", - "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", - "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", + "license": "MIT", "dependencies": { "type-fest": "^0.7.1" }, @@ -30855,22 +28470,19 @@ }, "node_modules/stacktrace-parser/node_modules/type-fest": { "version": "0.7.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", - "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" } }, "node_modules/standard-as-callback": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz", - "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==" + "license": "MIT" }, "node_modules/standard-version": { "version": "9.5.0", - "resolved": "https://registry.npmjs.org/standard-version/-/standard-version-9.5.0.tgz", - "integrity": "sha512-3zWJ/mmZQsOaO+fOlsa0+QK90pwhNd042qEcw6hKFNoLFs7peGyvPffpEBbK/DSGPbyOvli0mUIFv5A4qTjh2Q==", "dev": true, + "license": "ISC", "dependencies": { "chalk": "^2.4.2", "conventional-changelog": "3.1.25", @@ -30896,9 +28508,8 @@ }, "node_modules/standard-version-expo": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/standard-version-expo/-/standard-version-expo-1.0.3.tgz", - "integrity": "sha512-WszCohBcLkPpdJDD60ZEqB1jyzM9sSZLyqC3zvGDVeKVkX3uBUvrdJoTAo6lW6rGPx7KbjscqD8S7Ex2XrndYg==", "dev": true, + "license": "MIT", "dependencies": { "@expo/config": "^3.1.2", "@expo/json-file": "^8.2.10", @@ -30910,18 +28521,16 @@ }, "node_modules/standard-version-expo/node_modules/@babel/code-frame": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/highlight": "^7.10.4" } }, "node_modules/standard-version-expo/node_modules/@babel/core": { "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.0.tgz", - "integrity": "sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.8.3", "@babel/generator": "^7.9.0", @@ -30950,18 +28559,16 @@ }, "node_modules/standard-version-expo/node_modules/@babel/core/node_modules/semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/standard-version-expo/node_modules/@babel/plugin-proposal-class-properties": { "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.13.tgz", - "integrity": "sha512-8SCJ0Ddrpwv4T7Gwb33EmW1V9PY5lggTO+A8WjyIwxrSHDUyBw4MtF96ifn1n8H806YlxbVCoKXbbmzD6RD+cA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.12.13", "@babel/helper-plugin-utils": "^7.12.13" @@ -30972,9 +28579,8 @@ }, "node_modules/standard-version-expo/node_modules/@babel/preset-env": { "version": "7.12.17", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.17.tgz", - "integrity": "sha512-9PMijx8zFbCwTHrd2P4PJR5nWGH3zWebx2OcpTjqQrHhCiL2ssSR2Sc9ko2BsI2VmVBfoaQmPrlMTCui4LmXQg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/compat-data": "^7.12.13", "@babel/helper-compilation-targets": "^7.12.17", @@ -31049,18 +28655,16 @@ }, "node_modules/standard-version-expo/node_modules/@babel/preset-env/node_modules/semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/standard-version-expo/node_modules/@babel/preset-modules": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6.tgz", - "integrity": "sha512-ID2yj6K/4lKfhuU3+EX4UvNbIt7eACFbHmNUjzA+ep+B5971CknnA/9DEWKbRokfbbtblxxxXFJJrH47UEAMVg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", @@ -31074,9 +28678,8 @@ }, "node_modules/standard-version-expo/node_modules/@babel/preset-typescript": { "version": "7.12.17", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.12.17.tgz", - "integrity": "sha512-T513uT4VSThRcmWeqcLkITKJ1oGQho9wfWuhQm10paClQkp1qyd0Wf8mvC8Se7UYssMyRSj4tZYpVTkCmAK/mA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.12.13", "@babel/helper-validator-option": "^7.12.17", @@ -31088,9 +28691,8 @@ }, "node_modules/standard-version-expo/node_modules/@expo/config": { "version": "3.3.43", - "resolved": "https://registry.npmjs.org/@expo/config/-/config-3.3.43.tgz", - "integrity": "sha512-5a78fQqTKk7RhgrW5XzHS8ylCo9YRjZrheLyVDNNfvwAD8YjeBz6bFWsItZPpAIoaDgkLh0a8uhc11DCmqoKpw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "7.9.0", "@babel/plugin-proposal-class-properties": "~7.12.13", @@ -31110,9 +28712,8 @@ }, "node_modules/standard-version-expo/node_modules/@expo/config-plugins": { "version": "1.0.33", - "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-1.0.33.tgz", - "integrity": "sha512-YQJop0c69LKD/6ZJJto7klS7TDmzgs44TI0Z5RBqesOjYlDwNFcQk2Rl2BaA1wlAYkH+rRrhN2+WjjSyD9HiPg==", "dev": true, + "license": "MIT", "dependencies": { "@expo/config-types": "^40.0.0-beta.2", "@expo/configure-splash-screen": "0.4.0", @@ -31131,15 +28732,13 @@ }, "node_modules/standard-version-expo/node_modules/@expo/config-types": { "version": "40.0.0-beta.2", - "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-40.0.0-beta.2.tgz", - "integrity": "sha512-t9pHCQMXOP4nwd7LGXuHkLlFy0JdfknRSCAeVF4Kw2/y+5OBbR9hW9ZVnetpBf0kORrekgiI7K/qDaa3hh5+Qg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/standard-version-expo/node_modules/@expo/image-utils": { "version": "0.3.14", - "resolved": "https://registry.npmjs.org/@expo/image-utils/-/image-utils-0.3.14.tgz", - "integrity": "sha512-n+JkLZ71CWuNKLVVsPTzMGRwmbeKiVQw/2b99Ro7znCKzJy3tyE5T2C6WBvYh/5h/hjg8TqEODjXXWucRIzMXA==", "dev": true, + "license": "MIT", "dependencies": { "@expo/spawn-async": "1.5.0", "chalk": "^4.0.0", @@ -31156,9 +28755,8 @@ }, "node_modules/standard-version-expo/node_modules/@expo/json-file": { "version": "8.2.30", - "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.2.30.tgz", - "integrity": "sha512-vrgGyPEXBoFI5NY70IegusCSoSVIFV3T3ry4tjJg1MFQKTUlR7E0r+8g8XR6qC705rc2PawaZQjqXMAVtV6s2A==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "~7.10.4", "fs-extra": "9.0.0", @@ -31168,9 +28766,8 @@ }, "node_modules/standard-version-expo/node_modules/@expo/json-file/node_modules/json5": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, + "license": "MIT", "dependencies": { "minimist": "^1.2.0" }, @@ -31180,9 +28777,8 @@ }, "node_modules/standard-version-expo/node_modules/@expo/plist": { "version": "0.0.13", - "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.0.13.tgz", - "integrity": "sha512-zGPSq9OrCn7lWvwLLHLpHUUq2E40KptUFXn53xyZXPViI0k9lbApcR9KlonQZ95C+ELsf0BQ3gRficwK92Ivcw==", "dev": true, + "license": "MIT", "dependencies": { "base64-js": "^1.2.3", "xmlbuilder": "^14.0.0", @@ -31191,9 +28787,8 @@ }, "node_modules/standard-version-expo/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -31206,9 +28801,8 @@ }, "node_modules/standard-version-expo/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -31222,9 +28816,8 @@ }, "node_modules/standard-version-expo/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -31234,24 +28827,21 @@ }, "node_modules/standard-version-expo/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/standard-version-expo/node_modules/crypto-random-string": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", - "integrity": "sha512-GsVpkFPlycH7/fRR7Dhcmnoii54gV1nz7y4CWyeFS14N+JVBBhY+r8amRHE4BwSYal7BPTDp8isvAlCxyFt3Hg==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/standard-version-expo/node_modules/fs-extra": { "version": "9.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", - "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", "dev": true, + "license": "MIT", "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", @@ -31264,18 +28854,16 @@ }, "node_modules/standard-version-expo/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/standard-version-expo/node_modules/semver": { "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -31285,18 +28873,16 @@ }, "node_modules/standard-version-expo/node_modules/source-map": { "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/standard-version-expo/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -31306,18 +28892,16 @@ }, "node_modules/standard-version-expo/node_modules/temp-dir": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", - "integrity": "sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/standard-version-expo/node_modules/tempy": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.3.0.tgz", - "integrity": "sha512-WrH/pui8YCwmeiAoxV+lpRH9HpRtgBhSR2ViBPgpGb/wnYDzp21R4MN45fsCGvLROvY67o3byhJRYRONJyImVQ==", "dev": true, + "license": "MIT", "dependencies": { "temp-dir": "^1.0.0", "type-fest": "^0.3.1", @@ -31329,18 +28913,16 @@ }, "node_modules/standard-version-expo/node_modules/type-fest": { "version": "0.3.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", - "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=6" } }, "node_modules/standard-version-expo/node_modules/unique-string": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", - "integrity": "sha512-ODgiYu03y5g76A1I9Gt0/chLCzQjvzDy7DsZGsLOE/1MrF6wriEskSncj1+/C58Xk/kPZDppSctDybCwOSaGAg==", "dev": true, + "license": "MIT", "dependencies": { "crypto-random-string": "^1.0.0" }, @@ -31350,18 +28932,16 @@ }, "node_modules/standard-version-expo/node_modules/universalify": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", "dev": true, + "license": "MIT", "engines": { "node": ">= 10.0.0" } }, "node_modules/standard-version-expo/node_modules/xml2js": { "version": "0.4.23", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", - "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", "dev": true, + "license": "MIT", "dependencies": { "sax": ">=0.6.0", "xmlbuilder": "~11.0.0" @@ -31372,18 +28952,16 @@ }, "node_modules/standard-version-expo/node_modules/xml2js/node_modules/xmlbuilder": { "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4.0" } }, "node_modules/standard-version/node_modules/cliui": { "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, + "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -31392,9 +28970,8 @@ }, "node_modules/standard-version/node_modules/yargs": { "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, + "license": "MIT", "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -31410,21 +28987,18 @@ }, "node_modules/statuses": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/std-env": { "version": "3.4.3", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.4.3.tgz", - "integrity": "sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==" + "license": "MIT" }, "node_modules/stop-iteration-iterator": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", - "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "license": "MIT", "dependencies": { "internal-slot": "^1.0.4" }, @@ -31434,8 +29008,7 @@ }, "node_modules/stream-browserify": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", - "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", + "license": "MIT", "dependencies": { "inherits": "~2.0.4", "readable-stream": "^3.5.0" @@ -31443,24 +29016,30 @@ }, "node_modules/stream-buffers": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz", - "integrity": "sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg==", + "license": "Unlicense", "engines": { "node": ">= 0.10.0" } }, + "node_modules/stream-http": { + "version": "3.2.0", + "license": "MIT", + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "xtend": "^4.0.2" + } + }, "node_modules/streamsearch": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", - "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", "engines": { "node": ">=10.0.0" } }, "node_modules/streamx": { "version": "2.15.1", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.1.tgz", - "integrity": "sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==", + "license": "MIT", "dependencies": { "fast-fifo": "^1.1.0", "queue-tick": "^1.0.1" @@ -31468,32 +29047,28 @@ }, "node_modules/strict-uri-encode": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", - "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/string_decoder": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", "dependencies": { "safe-buffer": "~5.2.0" } }, "node_modules/string-argv": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", - "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", + "license": "MIT", "engines": { "node": ">=0.6.19" } }, "node_modules/string-length": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "license": "MIT", "dependencies": { "char-regex": "^1.0.2", "strip-ansi": "^6.0.0" @@ -31504,8 +29079,7 @@ }, "node_modules/string-width": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -31517,13 +29091,11 @@ }, "node_modules/string-width/node_modules/emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "license": "MIT" }, "node_modules/string.prototype.matchall": { "version": "4.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -31540,8 +29112,7 @@ }, "node_modules/string.prototype.trim": { "version": "1.2.7", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -31556,8 +29127,7 @@ }, "node_modules/string.prototype.trimend": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -31569,8 +29139,7 @@ }, "node_modules/string.prototype.trimstart": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -31582,15 +29151,12 @@ }, "node_modules/stringify-package": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stringify-package/-/stringify-package-1.0.1.tgz", - "integrity": "sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg==", - "deprecated": "This module is not used anymore, and has been replaced by @npmcli/package-json", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/strip-ansi": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -31600,32 +29166,28 @@ }, "node_modules/strip-bom": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/strip-eof": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/strip-final-newline": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/strip-indent": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "license": "MIT", "dependencies": { "min-indent": "^1.0.0" }, @@ -31635,8 +29197,7 @@ }, "node_modules/strip-json-comments": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "license": "MIT", "engines": { "node": ">=8" }, @@ -31651,13 +29212,11 @@ }, "node_modules/structured-headers": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/structured-headers/-/structured-headers-0.4.1.tgz", - "integrity": "sha512-0MP/Cxx5SzeeZ10p/bZI0S6MpgD+yxAhi1BOQ34jgnMXsCq3j1t6tQnZu+KdlL7dvJTLT3g9xN8tl10TqgFMcg==" + "license": "MIT" }, "node_modules/styled-jsx": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", - "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", + "license": "MIT", "dependencies": { "client-only": "0.0.1" }, @@ -31678,13 +29237,11 @@ }, "node_modules/styleq": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/styleq/-/styleq-0.1.3.tgz", - "integrity": "sha512-3ZUifmCDCQanjeej1f6kyl/BeP/Vae5EYkQ9iJfUm/QwZvlgnZzyflqAsAWYURdtea8Vkvswu2GrC57h3qffcA==" + "license": "MIT" }, "node_modules/sucrase": { "version": "3.34.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz", - "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", + "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", @@ -31704,21 +29261,18 @@ }, "node_modules/sucrase/node_modules/commander": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "license": "MIT", "engines": { "node": ">= 6" } }, "node_modules/sudo-prompt": { "version": "8.2.5", - "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-8.2.5.tgz", - "integrity": "sha512-rlBo3HU/1zAJUrkY6jNxDOC9eVYliG6nS4JA8u8KAshITd07tafMc/Br7xQwCSseXwJ2iCcHCE8SNWX3q8Z+kw==" + "license": "MIT" }, "node_modules/sumchecker": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", - "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", + "license": "Apache-2.0", "dependencies": { "debug": "^4.1.0" }, @@ -31728,8 +29282,7 @@ }, "node_modules/supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -31739,8 +29292,7 @@ }, "node_modules/supports-hyperlinks": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" @@ -31751,16 +29303,14 @@ }, "node_modules/supports-hyperlinks/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/supports-hyperlinks/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -31770,8 +29320,7 @@ }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -31781,19 +29330,16 @@ }, "node_modules/svg-arc-to-cubic-bezier": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/svg-arc-to-cubic-bezier/-/svg-arc-to-cubic-bezier-3.2.0.tgz", - "integrity": "sha512-djbJ/vZKZO+gPoSDThGNpKDO+o+bAeA4XQKovvkNCqnIS2t+S4qnLAGQhyyrulhCFRl1WWzAp0wUDV8PpTVU3g==" + "license": "ISC" }, "node_modules/symbol-tree": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/synckit": { "version": "0.8.5", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz", - "integrity": "sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==", + "license": "MIT", "dependencies": { "@pkgr/utils": "^2.3.1", "tslib": "^2.5.0" @@ -31807,14 +29353,12 @@ }, "node_modules/synckit/node_modules/tslib": { "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "license": "0BSD" }, "node_modules/table": { "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "ajv": "^6.10.2", "lodash": "^4.17.14", @@ -31827,42 +29371,37 @@ }, "node_modules/table/node_modules/ansi-regex": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/table/node_modules/astral-regex": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/table/node_modules/emoji-regex": { "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/table/node_modules/is-fullwidth-code-point": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/table/node_modules/slice-ansi": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^3.2.0", "astral-regex": "^1.0.0", @@ -31874,9 +29413,8 @@ }, "node_modules/table/node_modules/string-width": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", @@ -31888,9 +29426,8 @@ }, "node_modules/table/node_modules/strip-ansi": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^4.1.0" }, @@ -31900,8 +29437,7 @@ }, "node_modules/tailwind-rn": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/tailwind-rn/-/tailwind-rn-3.0.1.tgz", - "integrity": "sha512-hcyqdf30UhmWxIypXCUxs4ihQenFPgXu387NlwwURdjCoeQPmxZCIQsb5zcVJ32rPSIenNw1Jg9pJLuK9wzLaw==", + "license": "MIT", "dependencies": { "css": "^2.2.4", "css-to-react-native": "^3.0.0", @@ -31918,8 +29454,7 @@ }, "node_modules/tailwind-rn/node_modules/find-up": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -31930,13 +29465,11 @@ }, "node_modules/tailwind-rn/node_modules/hosted-git-info": { "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" + "license": "ISC" }, "node_modules/tailwind-rn/node_modules/locate-path": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -31946,8 +29479,7 @@ }, "node_modules/tailwind-rn/node_modules/meow": { "version": "7.1.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-7.1.1.tgz", - "integrity": "sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA==", + "license": "MIT", "dependencies": { "@types/minimist": "^1.2.0", "camelcase-keys": "^6.2.2", @@ -31970,8 +29502,7 @@ }, "node_modules/tailwind-rn/node_modules/normalize-package-data": { "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "license": "BSD-2-Clause", "dependencies": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", @@ -31981,8 +29512,7 @@ }, "node_modules/tailwind-rn/node_modules/p-limit": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -31995,8 +29525,7 @@ }, "node_modules/tailwind-rn/node_modules/p-locate": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -32006,8 +29535,7 @@ }, "node_modules/tailwind-rn/node_modules/read-pkg": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "license": "MIT", "dependencies": { "@types/normalize-package-data": "^2.4.0", "normalize-package-data": "^2.5.0", @@ -32020,8 +29548,7 @@ }, "node_modules/tailwind-rn/node_modules/read-pkg-up": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "license": "MIT", "dependencies": { "find-up": "^4.1.0", "read-pkg": "^5.2.0", @@ -32036,32 +29563,28 @@ }, "node_modules/tailwind-rn/node_modules/read-pkg-up/node_modules/type-fest": { "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" } }, "node_modules/tailwind-rn/node_modules/read-pkg/node_modules/type-fest": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" } }, "node_modules/tailwind-rn/node_modules/semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/tailwind-rn/node_modules/type-fest": { "version": "0.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", - "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -32071,8 +29594,7 @@ }, "node_modules/tailwind-rn/node_modules/yargs-parser": { "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "license": "ISC", "dependencies": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" @@ -32083,8 +29605,7 @@ }, "node_modules/tailwindcss": { "version": "2.2.19", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-2.2.19.tgz", - "integrity": "sha512-6Ui7JSVtXadtTUo2NtkBBacobzWiQYVjYW0ZnKaP9S1ZCKQ0w7KVNz+YSDI/j7O7KCMHbOkz94ZMQhbT9pOqjw==", + "license": "MIT", "dependencies": { "arg": "^5.0.1", "bytes": "^3.0.0", @@ -32133,8 +29654,7 @@ }, "node_modules/tailwindcss/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -32147,13 +29667,11 @@ }, "node_modules/tailwindcss/node_modules/arg": { "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + "license": "MIT" }, "node_modules/tailwindcss/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -32167,8 +29685,7 @@ }, "node_modules/tailwindcss/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -32178,13 +29695,11 @@ }, "node_modules/tailwindcss/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/tailwindcss/node_modules/cosmiconfig": { "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "license": "MIT", "dependencies": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.2.1", @@ -32198,8 +29713,7 @@ }, "node_modules/tailwindcss/node_modules/fs-extra": { "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -32211,16 +29725,14 @@ }, "node_modules/tailwindcss/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/tailwindcss/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -32230,24 +29742,21 @@ }, "node_modules/tailwindcss/node_modules/yaml": { "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "license": "ISC", "engines": { "node": ">= 6" } }, "node_modules/tapable": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/tar": { "version": "6.1.15", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz", - "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==", + "license": "ISC", "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", @@ -32262,8 +29771,7 @@ }, "node_modules/tar-fs": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "license": "MIT", "dependencies": { "chownr": "^1.1.1", "mkdirp-classic": "^0.5.2", @@ -32273,13 +29781,11 @@ }, "node_modules/tar-fs/node_modules/chownr": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + "license": "ISC" }, "node_modules/tar-stream": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "license": "MIT", "dependencies": { "bl": "^4.0.3", "end-of-stream": "^1.4.1", @@ -32293,16 +29799,14 @@ }, "node_modules/tar/node_modules/minipass": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "license": "ISC", "engines": { "node": ">=8" } }, "node_modules/tar/node_modules/mkdirp": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "license": "MIT", "bin": { "mkdirp": "bin/cmd.js" }, @@ -32312,8 +29816,7 @@ }, "node_modules/temp": { "version": "0.8.4", - "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", - "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", + "license": "MIT", "dependencies": { "rimraf": "~2.6.2" }, @@ -32323,16 +29826,14 @@ }, "node_modules/temp-dir": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", - "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/temp/node_modules/rimraf": { "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -32342,8 +29843,7 @@ }, "node_modules/tempy": { "version": "0.7.1", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.7.1.tgz", - "integrity": "sha512-vXPxwOyaNVi9nyczO16mxmHGpl6ASC5/TVhRRHpqeYHvKQm58EaWNvZXxAhR0lYYnBOQFjXjhzeLsaXdjxLjRg==", + "license": "MIT", "dependencies": { "del": "^6.0.0", "is-stream": "^2.0.0", @@ -32360,8 +29860,7 @@ }, "node_modules/tempy/node_modules/type-fest": { "version": "0.16.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", - "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -32371,8 +29870,7 @@ }, "node_modules/term-size": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", - "integrity": "sha512-7dPUZQGy/+m3/wjVz3ZW5dobSoD/02NxJpoXUX0WIyjfVS3l0c+b/+9phIDFA7FHzkYtwtMFgeGZ/Y8jVTeqQQ==", + "license": "MIT", "dependencies": { "execa": "^0.7.0" }, @@ -32382,8 +29880,7 @@ }, "node_modules/term-size/node_modules/cross-spawn": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", + "license": "MIT", "dependencies": { "lru-cache": "^4.0.1", "shebang-command": "^1.2.0", @@ -32392,8 +29889,7 @@ }, "node_modules/term-size/node_modules/execa": { "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw==", + "license": "MIT", "dependencies": { "cross-spawn": "^5.0.1", "get-stream": "^3.0.0", @@ -32409,24 +29905,21 @@ }, "node_modules/term-size/node_modules/get-stream": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/term-size/node_modules/is-stream": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/term-size/node_modules/lru-cache": { "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "license": "ISC", "dependencies": { "pseudomap": "^1.0.2", "yallist": "^2.1.2" @@ -32434,8 +29927,7 @@ }, "node_modules/term-size/node_modules/npm-run-path": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "license": "MIT", "dependencies": { "path-key": "^2.0.0" }, @@ -32445,16 +29937,14 @@ }, "node_modules/term-size/node_modules/path-key": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/term-size/node_modules/shebang-command": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "license": "MIT", "dependencies": { "shebang-regex": "^1.0.0" }, @@ -32464,16 +29954,14 @@ }, "node_modules/term-size/node_modules/shebang-regex": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/term-size/node_modules/which": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -32483,13 +29971,11 @@ }, "node_modules/term-size/node_modules/yallist": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" + "license": "ISC" }, "node_modules/terminal-link": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "license": "MIT", "dependencies": { "ansi-escapes": "^4.2.1", "supports-hyperlinks": "^2.0.0" @@ -32503,8 +29989,7 @@ }, "node_modules/terser": { "version": "5.19.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", - "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", + "license": "BSD-2-Clause", "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -32520,9 +30005,8 @@ }, "node_modules/terser-webpack-plugin": { "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.17", @@ -32555,9 +30039,8 @@ }, "node_modules/terser-webpack-plugin/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=8" @@ -32565,9 +30048,8 @@ }, "node_modules/terser-webpack-plugin/node_modules/jest-worker": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@types/node": "*", @@ -32580,9 +30062,8 @@ }, "node_modules/terser-webpack-plugin/node_modules/schema-utils": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@types/json-schema": "^7.0.8", @@ -32599,9 +30080,8 @@ }, "node_modules/terser-webpack-plugin/node_modules/supports-color": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "has-flag": "^4.0.0" @@ -32615,13 +30095,11 @@ }, "node_modules/terser/node_modules/commander": { "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "license": "MIT" }, "node_modules/terser/node_modules/source-map-support": { "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -32629,8 +30107,7 @@ }, "node_modules/test-exclude": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "license": "ISC", "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", @@ -32642,8 +30119,7 @@ }, "node_modules/testcontainers": { "version": "9.12.0", - "resolved": "https://registry.npmjs.org/testcontainers/-/testcontainers-9.12.0.tgz", - "integrity": "sha512-zmjLTAUqCiDvhDq7TCwcyhI3m/cXXKGnhyLLJ9pgh53VgG9O+P+opX1pIx28aYTUQ7Yu6b5sJf0xoIuxoiclWg==", + "license": "MIT", "dependencies": { "@balena/dockerignore": "^1.0.2", "@types/archiver": "^5.3.2", @@ -32668,8 +30144,7 @@ }, "node_modules/testcontainers/node_modules/get-port": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz", - "integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==", + "license": "MIT", "engines": { "node": ">=8" }, @@ -32679,30 +30154,26 @@ }, "node_modules/text-extensions": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", - "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10" } }, "node_modules/text-table": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + "license": "MIT" }, "node_modules/thenify": { "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "license": "MIT", "dependencies": { "any-promise": "^1.0.0" } }, "node_modules/thenify-all": { "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "license": "MIT", "dependencies": { "thenify": ">= 3.1.0 < 4" }, @@ -32717,19 +30188,16 @@ }, "node_modules/throttleit": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", - "integrity": "sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/through": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" + "license": "MIT" }, "node_modules/through2": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "license": "MIT", "dependencies": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" @@ -32737,13 +30205,11 @@ }, "node_modules/through2/node_modules/isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "license": "MIT" }, "node_modules/through2/node_modules/readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -32756,36 +30222,31 @@ }, "node_modules/through2/node_modules/safe-buffer": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "license": "MIT" }, "node_modules/through2/node_modules/string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/timed-out": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/timm": { "version": "1.7.1", - "resolved": "https://registry.npmjs.org/timm/-/timm-1.7.1.tgz", - "integrity": "sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/tiny-secp256k1": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/tiny-secp256k1/-/tiny-secp256k1-1.1.6.tgz", - "integrity": "sha512-FmqJZGduTyvsr2cF3375fqGHUovSwDi/QytexX1Se4BPuPZpTE5Ftp5fg+EFSuEf3lhZqgCRjEG3ydUQ/aNiwA==", "hasInstallScript": true, + "license": "MIT", "dependencies": { "bindings": "^1.3.0", "bn.js": "^4.11.8", @@ -32799,19 +30260,16 @@ }, "node_modules/tiny-secp256k1/node_modules/bn.js": { "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "license": "MIT" }, "node_modules/tinycolor2": { "version": "1.6.0", - "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz", - "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/titleize": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz", - "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -32821,8 +30279,7 @@ }, "node_modules/tmp": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "license": "MIT", "dependencies": { "rimraf": "^3.0.0" }, @@ -32832,8 +30289,7 @@ }, "node_modules/tmp/node_modules/rimraf": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -32846,21 +30302,18 @@ }, "node_modules/tmpl": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + "license": "BSD-3-Clause" }, "node_modules/to-fast-properties": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/to-regex-range": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -32870,17 +30323,15 @@ }, "node_modules/toidentifier": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", "engines": { "node": ">=0.6" } }, "node_modules/tough-cookie": { "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "psl": "^1.1.33", "punycode": "^2.1.1", @@ -32893,18 +30344,16 @@ }, "node_modules/tough-cookie/node_modules/universalify": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4.0.0" } }, "node_modules/tr46": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", "dev": true, + "license": "MIT", "dependencies": { "punycode": "^2.1.1" }, @@ -32914,30 +30363,26 @@ }, "node_modules/traverse": { "version": "0.6.7", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz", - "integrity": "sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/traverse-chain": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/traverse-chain/-/traverse-chain-0.1.0.tgz", - "integrity": "sha512-up6Yvai4PYKhpNp5PkYtx50m3KbwQrqDwbuZP/ItyL64YEWHAvH6Md83LFLV/GRSk/BoUVwwgUzX6SOQSbsfAg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/trim-newlines": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", - "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/ts-api-utils": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.2.tgz", - "integrity": "sha512-Cbu4nIqnEdd+THNEsBdkolnOXhg0I8XteoHaEKgvsxpsbWda4IsUut2c187HxywQCvveojow0Dgw/amxtSKVkQ==", + "license": "MIT", "engines": { "node": ">=16.13.0" }, @@ -32947,13 +30392,11 @@ }, "node_modules/ts-interface-checker": { "version": "0.1.13", - "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" + "license": "Apache-2.0" }, "node_modules/ts-jest": { "version": "29.1.1", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", - "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", + "license": "MIT", "dependencies": { "bs-logger": "0.x", "fast-json-stable-stringify": "2.x", @@ -32994,17 +30437,15 @@ }, "node_modules/ts-jest/node_modules/yargs-parser": { "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", "engines": { "node": ">=12" } }, "node_modules/ts-node": { "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", "devOptional": true, + "license": "MIT", "dependencies": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", @@ -33045,13 +30486,11 @@ }, "node_modules/ts-object-utils": { "version": "0.0.5", - "resolved": "https://registry.npmjs.org/ts-object-utils/-/ts-object-utils-0.0.5.tgz", - "integrity": "sha512-iV0GvHqOmilbIKJsfyfJY9/dNHCs969z3so90dQWsO1eMMozvTpnB1MEaUbb3FYtZTGjv5sIy/xmslEz0Rg2TA==" + "license": "ISC" }, "node_modules/tsconfig-paths": { "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", + "license": "MIT", "dependencies": { "@types/json5": "^0.0.29", "json5": "^1.0.2", @@ -33061,8 +30500,7 @@ }, "node_modules/tsconfig-paths/node_modules/json5": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "license": "MIT", "dependencies": { "minimist": "^1.2.0" }, @@ -33072,22 +30510,19 @@ }, "node_modules/tsconfig-paths/node_modules/strip-bom": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/tslib": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + "license": "0BSD" }, "node_modules/tsutils": { "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", "dev": true, + "license": "MIT", "dependencies": { "tslib": "^1.8.1" }, @@ -33100,14 +30535,12 @@ }, "node_modules/tsutils/node_modules/tslib": { "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true + "dev": true, + "license": "0BSD" }, "node_modules/tunnel-agent": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "license": "Apache-2.0", "dependencies": { "safe-buffer": "^5.0.1" }, @@ -33117,13 +30550,11 @@ }, "node_modules/tweetnacl": { "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" + "license": "Unlicense" }, "node_modules/type-check": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -33133,16 +30564,14 @@ }, "node_modules/type-detect": { "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/type-fest": { "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -33152,8 +30581,7 @@ }, "node_modules/type-is": { "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" @@ -33164,8 +30592,7 @@ }, "node_modules/typed-array-buffer": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.2.1", @@ -33177,8 +30604,7 @@ }, "node_modules/typed-array-byte-length": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "for-each": "^0.3.3", @@ -33194,8 +30620,7 @@ }, "node_modules/typed-array-byte-offset": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", @@ -33212,8 +30637,7 @@ }, "node_modules/typed-array-length": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "for-each": "^0.3.3", @@ -33225,28 +30649,24 @@ }, "node_modules/typedarray": { "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/typedarray-to-buffer": { "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", "dev": true, + "license": "MIT", "dependencies": { "is-typedarray": "^1.0.0" } }, "node_modules/typeforce": { "version": "1.18.0", - "resolved": "https://registry.npmjs.org/typeforce/-/typeforce-1.18.0.tgz", - "integrity": "sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g==" + "license": "MIT" }, "node_modules/typescript": { "version": "5.2.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", - "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -33257,8 +30677,6 @@ }, "node_modules/ua-parser-js": { "version": "1.0.35", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz", - "integrity": "sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==", "funding": [ { "type": "opencollective", @@ -33269,14 +30687,14 @@ "url": "https://paypal.me/faisalman" } ], + "license": "MIT", "engines": { "node": "*" } }, "node_modules/ufo": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.3.0.tgz", - "integrity": "sha512-bRn3CsoojyNStCZe0BG0Mt4Nr/4KF+rhFlnNXybgqt5pXHNFRlqinSoQaTrGyzE4X8aHplSb+TorH+COin9Yxw==" + "version": "1.3.1", + "license": "MIT" }, "node_modules/uglify-es": { "version": "3.3.9", @@ -33301,9 +30719,8 @@ }, "node_modules/uglify-js": { "version": "3.17.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", - "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", "dev": true, + "license": "BSD-2-Clause", "optional": true, "bin": { "uglifyjs": "bin/uglifyjs" @@ -33314,8 +30731,7 @@ }, "node_modules/unbox-primitive": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-bigints": "^1.0.2", @@ -33328,8 +30744,7 @@ }, "node_modules/uncontrollable": { "version": "7.2.1", - "resolved": "https://registry.npmjs.org/uncontrollable/-/uncontrollable-7.2.1.tgz", - "integrity": "sha512-svtcfoTADIB0nT9nltgjujTi7BzVmwjZClOmskKu/E8FW9BXzg9os8OLr4f8Dlnk0rYWJIWr4wv9eKUXiQvQwQ==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.6.3", "@types/react": ">=16.9.11", @@ -33342,13 +30757,11 @@ }, "node_modules/uncrypto": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz", - "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==" + "license": "MIT" }, "node_modules/unenv": { "version": "1.7.4", - "resolved": "https://registry.npmjs.org/unenv/-/unenv-1.7.4.tgz", - "integrity": "sha512-fjYsXYi30It0YCQYqLOcT6fHfMXsBr2hw9XC7ycf8rTG7Xxpe3ZssiqUnD0khrjiZEmkBXWLwm42yCSCH46fMw==", + "license": "MIT", "dependencies": { "consola": "^3.2.3", "defu": "^6.1.2", @@ -33359,8 +30772,7 @@ }, "node_modules/unenv/node_modules/mime": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", - "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "license": "MIT", "bin": { "mime": "cli.js" }, @@ -33370,16 +30782,14 @@ }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/unicode-match-property-ecmascript": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "license": "MIT", "dependencies": { "unicode-canonical-property-names-ecmascript": "^2.0.0", "unicode-property-aliases-ecmascript": "^2.0.0" @@ -33390,40 +30800,35 @@ }, "node_modules/unicode-match-property-value-ecmascript": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/unicode-property-aliases-ecmascript": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/unique-filename": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "license": "ISC", "dependencies": { "unique-slug": "^2.0.0" } }, "node_modules/unique-slug": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4" } }, "node_modules/unique-string": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "license": "MIT", "dependencies": { "crypto-random-string": "^2.0.0" }, @@ -33433,24 +30838,21 @@ }, "node_modules/universalify": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "license": "MIT", "engines": { "node": ">= 10.0.0" } }, "node_modules/unpipe": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/unstorage": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.9.0.tgz", - "integrity": "sha512-VpD8ZEYc/le8DZCrny3bnqKE4ZjioQxBRnWE+j5sGNvziPjeDlaS1NaFFHzl/kkXaO3r7UaF8MGQrs14+1B4pQ==", + "license": "MIT", "dependencies": { "anymatch": "^3.1.3", "chokidar": "^3.5.3", @@ -33515,24 +30917,21 @@ }, "node_modules/unstorage/node_modules/lru-cache": { "version": "10.0.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", - "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", + "license": "ISC", "engines": { "node": "14 || >=16.14" } }, "node_modules/untildify": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", - "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/untun": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/untun/-/untun-0.1.2.tgz", - "integrity": "sha512-wLAMWvxfqyTiBODA1lg3IXHQtjggYLeTK7RnSfqtOXixWJ3bAa2kK/HHmOOg19upteqO3muLvN6O/icbyQY33Q==", + "license": "MIT", "dependencies": { "citty": "^0.1.3", "consola": "^3.2.3", @@ -33544,16 +30943,13 @@ }, "node_modules/unzip-response": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", - "integrity": "sha512-N0XH6lqDtFH84JxptQoZYmloF4nzrQqqrAymNj+/gW60AO2AZgOcf4O/nUXJcYfyQkqvMo9lSupBZmmgvuVXlw==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/update-browserslist-db": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", "funding": [ { "type": "opencollective", @@ -33568,6 +30964,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "escalade": "^3.1.1", "picocolors": "^1.0.0" @@ -33581,8 +30978,7 @@ }, "node_modules/update-notifier": { "version": "2.5.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", - "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", + "license": "BSD-2-Clause", "dependencies": { "boxen": "^1.2.1", "chalk": "^2.0.1", @@ -33601,13 +30997,11 @@ }, "node_modules/update-notifier/node_modules/ci-info": { "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", - "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==" + "license": "MIT" }, "node_modules/update-notifier/node_modules/global-dirs": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", - "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==", + "license": "MIT", "dependencies": { "ini": "^1.3.4" }, @@ -33617,13 +31011,11 @@ }, "node_modules/update-notifier/node_modules/ini": { "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + "license": "ISC" }, "node_modules/update-notifier/node_modules/is-ci": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", - "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "license": "MIT", "dependencies": { "ci-info": "^1.5.0" }, @@ -33633,8 +31025,7 @@ }, "node_modules/update-notifier/node_modules/is-installed-globally": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", - "integrity": "sha512-ERNhMg+i/XgDwPIPF3u24qpajVreaiSuvpb1Uu0jugw7KKcxGyCX8cgp8P5fwTmAuXku6beDHHECdKArjlg7tw==", + "license": "MIT", "dependencies": { "global-dirs": "^0.1.0", "is-path-inside": "^1.0.0" @@ -33645,8 +31036,7 @@ }, "node_modules/update-notifier/node_modules/is-path-inside": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha512-qhsCR/Esx4U4hg/9I19OVUAJkGWtjRYHMRgUMZE2TDdj+Ag+kttZanLupfddNyglzz50cUlmWzUaI37GDfNx/g==", + "license": "MIT", "dependencies": { "path-is-inside": "^1.0.1" }, @@ -33656,27 +31046,22 @@ }, "node_modules/uqr": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/uqr/-/uqr-0.1.2.tgz", - "integrity": "sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==" + "license": "MIT" }, "node_modules/uri-js": { "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } }, "node_modules/urix": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", - "deprecated": "Please see https://github.com/lydell/urix#deprecated" + "license": "MIT" }, "node_modules/url": { "version": "0.11.1", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.1.tgz", - "integrity": "sha512-rWS3H04/+mzzJkv0eZ7vEDGiQbgquI1fGfOad6zKvgYQi1SzMmhl7c/DdRGxhaWrVH6z0qWITo8rpnxK/RfEhA==", + "license": "MIT", "dependencies": { "punycode": "^1.4.1", "qs": "^6.11.0" @@ -33684,13 +31069,11 @@ }, "node_modules/url-join": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.0.tgz", - "integrity": "sha512-EGXjXJZhIHiQMK2pQukuFcL303nskqIRzWvPvV5O8miOfwoUb9G+a/Cld60kUyeaybEI94wvVClT10DtfeAExA==" + "license": "MIT" }, "node_modules/url-parse": { "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "license": "MIT", "dependencies": { "querystringify": "^2.1.1", "requires-port": "^1.0.0" @@ -33698,8 +31081,7 @@ }, "node_modules/url-parse-lax": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha512-BVA4lR5PIviy2PMseNd2jbFQ+jwSwQGdJejf5ctd1rEXt0Ypd7yanUK9+lYechVlN5VaTJGsu2U/3MDDu6KgBA==", + "license": "MIT", "dependencies": { "prepend-http": "^1.0.1" }, @@ -33709,26 +31091,22 @@ }, "node_modules/url-parse-lax/node_modules/prepend-http": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/url-search-params-polyfill": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/url-search-params-polyfill/-/url-search-params-polyfill-8.1.1.tgz", - "integrity": "sha512-KmkCs6SjE6t4ihrfW9JelAPQIIIFbJweaaSLTh/4AO+c58JlDcb+GbdPt8yr5lRcFg4rPswRFRRhBGpWwh0K/Q==" + "license": "MIT" }, "node_modules/url/node_modules/punycode": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + "license": "MIT" }, "node_modules/url/node_modules/qs": { "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.0.4" }, @@ -33741,75 +31119,76 @@ }, "node_modules/urlpattern-polyfill": { "version": "8.0.2", - "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-8.0.2.tgz", - "integrity": "sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==" + "license": "MIT" }, "node_modules/use-latest-callback": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/use-latest-callback/-/use-latest-callback-0.1.6.tgz", - "integrity": "sha512-VO/P91A/PmKH9bcN9a7O3duSuxe6M14ZoYXgA6a8dab8doWNdhiIHzEkX/jFeTTRBsX0Ubk6nG4q2NIjNsj+bg==", + "license": "MIT", "peerDependencies": { "react": ">=16.8" } }, "node_modules/use-sync-external-store": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", - "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "license": "MIT", "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, "node_modules/utif": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/utif/-/utif-2.0.1.tgz", - "integrity": "sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg==", "dev": true, + "license": "MIT", "dependencies": { "pako": "^1.0.5" } }, + "node_modules/util": { + "version": "0.10.4", + "license": "MIT", + "dependencies": { + "inherits": "2.0.3" + } + }, "node_modules/util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + "license": "MIT" + }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "license": "ISC" }, "node_modules/utils-merge": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", "engines": { "node": ">= 0.4.0" } }, "node_modules/uuid": { "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", "funding": [ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" ], + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } }, "node_modules/v8-compile-cache": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz", - "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/v8-compile-cache-lib": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "devOptional": true + "devOptional": true, + "license": "MIT" }, "node_modules/v8-to-istanbul": { "version": "9.1.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", - "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", + "license": "ISC", "dependencies": { "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", @@ -33820,14 +31199,11 @@ } }, "node_modules/valid-url": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz", - "integrity": "sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA==" + "version": "1.0.9" }, "node_modules/validate-npm-package-license": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "license": "Apache-2.0", "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" @@ -33835,8 +31211,7 @@ }, "node_modules/validate-npm-package-name": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", - "integrity": "sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==", + "license": "ISC", "dependencies": { "builtins": "^1.0.3" } @@ -33851,12 +31226,11 @@ }, "node_modules/verror": { "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", "dev": true, "engines": [ "node >=0.6.0" ], + "license": "MIT", "dependencies": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", @@ -33868,11 +31242,14 @@ "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz", "integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==" }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "license": "MIT" + }, "node_modules/w3c-xmlserializer": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", - "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", "dev": true, + "license": "MIT", "dependencies": { "xml-name-validator": "^4.0.0" }, @@ -33882,14 +31259,12 @@ }, "node_modules/wait-for-expect": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/wait-for-expect/-/wait-for-expect-3.0.2.tgz", - "integrity": "sha512-cfS1+DZxuav1aBYbaO/kE06EOS8yRw7qOFoD3XtjTkYvCvh3zUvNST8DXK/nPaeqIzIv3P3kL3lRJn8iwOiSag==" + "license": "MIT" }, "node_modules/wait-on": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-6.0.1.tgz", - "integrity": "sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw==", "dev": true, + "license": "MIT", "dependencies": { "axios": "^0.25.0", "joi": "^17.6.0", @@ -33906,29 +31281,25 @@ }, "node_modules/walker": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "license": "Apache-2.0", "dependencies": { "makeerror": "1.0.12" } }, "node_modules/warn-once": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/warn-once/-/warn-once-0.1.1.tgz", - "integrity": "sha512-VkQZJbO8zVImzYFteBXvBOZEl1qL175WH8VmZcxF2fZAoudNhNDvHi+doCaAEdU2l2vtcIwa2zn0QK5+I1HQ3Q==" + "license": "MIT" }, "node_modules/warning": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", - "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "license": "MIT", "dependencies": { "loose-envify": "^1.0.0" } }, "node_modules/watchpack": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "license": "MIT", "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -33939,26 +31310,23 @@ }, "node_modules/wcwidth": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "license": "MIT", "dependencies": { "defaults": "^1.0.3" } }, "node_modules/webidl-conversions": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=12" } }, "node_modules/webpack": { "version": "5.88.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", - "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@types/eslint-scope": "^3.7.3", @@ -34004,9 +31372,8 @@ }, "node_modules/webpack-merge": { "version": "5.9.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", - "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", "dev": true, + "license": "MIT", "dependencies": { "clone-deep": "^4.0.1", "wildcard": "^2.0.0" @@ -34017,9 +31384,8 @@ }, "node_modules/webpack-sources": { "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=10.13.0" @@ -34027,9 +31393,8 @@ }, "node_modules/webpack/node_modules/eslint-scope": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, + "license": "BSD-2-Clause", "peer": true, "dependencies": { "esrecurse": "^4.3.0", @@ -34041,9 +31406,8 @@ }, "node_modules/webpack/node_modules/estraverse": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, + "license": "BSD-2-Clause", "peer": true, "engines": { "node": ">=4.0" @@ -34051,9 +31415,8 @@ }, "node_modules/webpack/node_modules/schema-utils": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@types/json-schema": "^7.0.8", @@ -34070,9 +31433,8 @@ }, "node_modules/whatwg-encoding": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", - "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", "dev": true, + "license": "MIT", "dependencies": { "iconv-lite": "0.6.3" }, @@ -34082,9 +31444,8 @@ }, "node_modules/whatwg-encoding/node_modules/iconv-lite": { "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -34094,23 +31455,20 @@ }, "node_modules/whatwg-fetch": { "version": "3.6.17", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.17.tgz", - "integrity": "sha512-c4ghIvG6th0eudYwKZY5keb81wtFz9/WeAHAoy8+r18kcWlitUIrmGFQ2rWEl4UCKUilD3zCLHOIPheHx5ypRQ==" + "license": "MIT" }, "node_modules/whatwg-mimetype": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", - "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" } }, "node_modules/whatwg-url": { "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", "dev": true, + "license": "MIT", "dependencies": { "tr46": "^3.0.0", "webidl-conversions": "^7.0.0" @@ -34121,8 +31479,7 @@ }, "node_modules/which": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -34135,8 +31492,7 @@ }, "node_modules/which-boxed-primitive": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "license": "MIT", "dependencies": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", @@ -34150,8 +31506,7 @@ }, "node_modules/which-builtin-type": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", - "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "license": "MIT", "dependencies": { "function.prototype.name": "^1.1.5", "has-tostringtag": "^1.0.0", @@ -34175,8 +31530,7 @@ }, "node_modules/which-collection": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "license": "MIT", "dependencies": { "is-map": "^2.0.1", "is-set": "^2.0.1", @@ -34189,13 +31543,11 @@ }, "node_modules/which-module": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", - "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==" + "license": "ISC" }, "node_modules/which-typed-array": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", - "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", + "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", @@ -34212,8 +31564,7 @@ }, "node_modules/widest-line": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", - "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "license": "MIT", "dependencies": { "string-width": "^2.1.1" }, @@ -34223,24 +31574,21 @@ }, "node_modules/widest-line/node_modules/ansi-regex": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/widest-line/node_modules/is-fullwidth-code-point": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/widest-line/node_modules/string-width": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "license": "MIT", "dependencies": { "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^4.0.0" @@ -34251,8 +31599,7 @@ }, "node_modules/widest-line/node_modules/strip-ansi": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "license": "MIT", "dependencies": { "ansi-regex": "^3.0.0" }, @@ -34262,42 +31609,36 @@ }, "node_modules/wif": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/wif/-/wif-2.0.6.tgz", - "integrity": "sha512-HIanZn1zmduSF+BQhkE+YXIbEiH0xPr1012QbFEGB0xsKqJii0/SqJjyn8dFv6y36kOznMgMB+LGcbZTJ1xACQ==", + "license": "MIT", "dependencies": { "bs58check": "<3.0.0" } }, "node_modules/wildcard": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/wonka": { "version": "4.0.15", - "resolved": "https://registry.npmjs.org/wonka/-/wonka-4.0.15.tgz", - "integrity": "sha512-U0IUQHKXXn6PFo9nqsHphVCE5m3IntqZNB9Jjn7EB1lrR7YTDY3YWgFvEvwniTzXSvOH/XMzAZaIfJF/LvHYXg==" + "license": "MIT" }, "node_modules/word-wrap": { "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/wordwrap": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/wrap-ansi": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -34312,8 +31653,7 @@ }, "node_modules/wrap-ansi/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -34326,8 +31666,7 @@ }, "node_modules/wrap-ansi/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -34337,19 +31676,16 @@ }, "node_modules/wrap-ansi/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "license": "ISC" }, "node_modules/write": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", "dev": true, + "license": "MIT", "dependencies": { "mkdirp": "^0.5.1" }, @@ -34359,8 +31695,7 @@ }, "node_modules/write-file-atomic": { "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "license": "ISC", "dependencies": { "graceful-fs": "^4.1.11", "imurmurhash": "^0.1.4", @@ -34369,9 +31704,8 @@ }, "node_modules/write/node_modules/mkdirp": { "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, + "license": "MIT", "dependencies": { "minimist": "^1.2.6" }, @@ -34381,8 +31715,7 @@ }, "node_modules/ws": { "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "license": "MIT", "engines": { "node": ">=8.3.0" }, @@ -34401,8 +31734,7 @@ }, "node_modules/xcode": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/xcode/-/xcode-3.0.1.tgz", - "integrity": "sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA==", + "license": "Apache-2.0", "dependencies": { "simple-plist": "^1.1.0", "uuid": "^7.0.3" @@ -34413,25 +31745,22 @@ }, "node_modules/xcode/node_modules/uuid": { "version": "7.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", - "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==", + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } }, "node_modules/xdg-basedir": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", - "integrity": "sha512-1Dly4xqlulvPD3fZUQJLY+FUIeqN3N2MM3uqe4rCJftAvOjFa3jFGfctOgluGx4ahPbUCsZkmJILiP0Vi4T6lQ==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/xhr": { "version": "2.6.0", - "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz", - "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", "dev": true, + "license": "MIT", "dependencies": { "global": "~4.4.0", "is-function": "^1.0.1", @@ -34441,9 +31770,8 @@ }, "node_modules/xml-js": { "version": "1.6.11", - "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", - "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", "dev": true, + "license": "MIT", "dependencies": { "sax": "^1.2.4" }, @@ -34453,23 +31781,20 @@ }, "node_modules/xml-name-validator": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", - "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=12" } }, "node_modules/xml-parse-from-string": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz", - "integrity": "sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/xml2js": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.0.tgz", - "integrity": "sha512-eLTh0kA8uHceqesPqSE+VvO1CDDJWMwlQfB6LuN6T8w6MaDJ8Txm8P7s5cHD0miF0V+GGTZrDQfxPZQVsur33w==", + "license": "MIT", "dependencies": { "sax": ">=0.6.0", "xmlbuilder": "~11.0.0" @@ -34480,39 +31805,34 @@ }, "node_modules/xml2js/node_modules/xmlbuilder": { "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "license": "MIT", "engines": { "node": ">=4.0" } }, "node_modules/xmlbuilder": { "version": "14.0.0", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-14.0.0.tgz", - "integrity": "sha512-ts+B2rSe4fIckR6iquDjsKbQFK2NlUk6iG5nf14mDEyldgoc2nEKZ3jZWMPTxGQwVgToSjt6VGIho1H8/fNFTg==", + "license": "MIT", "engines": { "node": ">=8.0" } }, "node_modules/xmlchars": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/xmldom": { "version": "0.5.0", - "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.5.0.tgz", - "integrity": "sha512-Foaj5FXVzgn7xFzsKeNIde9g6aFBxTPi37iwsno8QvApmtg7KYrr+OPyRHcJF7dud2a5nGRBXK3n0dL62Gf7PA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10.0.0" } }, "node_modules/xss": { "version": "1.0.14", - "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.14.tgz", - "integrity": "sha512-og7TEJhXvn1a7kzZGQ7ETjdQVS2UfZyTlsEdDOqvQF7GoxNfY+0YLCzBy1kPdsDDx4QuNAonQPddpsn6Xl/7sw==", + "license": "MIT", "dependencies": { "commander": "^2.20.3", "cssfilter": "0.0.10" @@ -34526,42 +31846,36 @@ }, "node_modules/xss/node_modules/commander": { "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "license": "MIT" }, "node_modules/xtend": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "license": "MIT", "engines": { "node": ">=0.4" } }, "node_modules/y18n": { "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", "engines": { "node": ">=10" } }, "node_modules/yallist": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "license": "ISC" }, "node_modules/yaml": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", - "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", + "license": "ISC", "engines": { "node": ">= 14" } }, "node_modules/yargs": { "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "license": "MIT", "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -34577,25 +31891,22 @@ }, "node_modules/yargs-parser": { "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, + "license": "ISC", "engines": { "node": ">=10" } }, "node_modules/yargs/node_modules/yargs-parser": { "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", "engines": { "node": ">=12" } }, "node_modules/yauzl": { "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "license": "MIT", "dependencies": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" @@ -34603,17 +31914,15 @@ }, "node_modules/yn": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", "devOptional": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/yocto-queue": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -34623,8 +31932,7 @@ }, "node_modules/zip-stream": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.1.tgz", - "integrity": "sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==", + "license": "MIT", "dependencies": { "archiver-utils": "^3.0.4", "compress-commons": "^4.1.2", @@ -34636,8 +31944,7 @@ }, "node_modules/zip-stream/node_modules/archiver-utils": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-3.0.4.tgz", - "integrity": "sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==", + "license": "MIT", "dependencies": { "glob": "^7.2.3", "graceful-fs": "^4.2.0", @@ -34656,8 +31963,7 @@ }, "node_modules/zip-stream/node_modules/glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -34672,13 +31978,20243 @@ "funding": { "url": "https://github.com/sponsors/isaacs" } + } + }, + "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6" }, - "node_modules/zod": { - "version": "3.21.4", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz", - "integrity": "sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==", - "funding": { - "url": "https://github.com/sponsors/colinhacks" + "@adraffy/ens-normalize": { + "version": "1.10.0" + }, + "@ampproject/remapping": { + "version": "2.2.1", + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.22.10", + "requires": { + "@babel/highlight": "^7.22.10", + "chalk": "^2.4.2" + } + }, + "@babel/compat-data": { + "version": "7.22.9" + }, + "@babel/core": { + "version": "7.22.10", + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.10", + "@babel/generator": "^7.22.10", + "@babel/helper-compilation-targets": "^7.22.10", + "@babel/helper-module-transforms": "^7.22.9", + "@babel/helpers": "^7.22.10", + "@babel/parser": "^7.22.10", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.10", + "@babel/types": "^7.22.10", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1" + } + } + }, + "@babel/generator": { + "version": "7.22.10", + "requires": { + "@babel/types": "^7.22.10", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.10", + "requires": { + "@babel/types": "^7.22.10" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.22.10", + "requires": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.5", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "dependencies": { + "lru-cache": { + "version": "5.1.1", + "requires": { + "yallist": "^3.0.2" + } + }, + "semver": { + "version": "6.3.1" + }, + "yallist": { + "version": "3.1.1" + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.22.10", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1" + } + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.22.9", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1" + } + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.4.2", + "requires": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + } + }, + "@babel/helper-environment-visitor": { + "version": "7.22.5" + }, + "@babel/helper-function-name": { + "version": "7.22.5", + "requires": { + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.22.5", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.22.5", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-module-imports": { + "version": "7.22.5", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-module-transforms": { + "version": "7.22.9", + "requires": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.5" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.22.5" + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.22.9", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-wrap-function": "^7.22.9" + } + }, + "@babel/helper-replace-supers": { + "version": "7.22.9", + "requires": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5" + } + }, + "@babel/helper-simple-access": { + "version": "7.22.5", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.22.6", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-string-parser": { + "version": "7.22.5" + }, + "@babel/helper-validator-identifier": { + "version": "7.22.5" + }, + "@babel/helper-validator-option": { + "version": "7.22.15" + }, + "@babel/helper-wrap-function": { + "version": "7.22.10", + "requires": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.10" + } + }, + "@babel/helpers": { + "version": "7.22.10", + "requires": { + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.10", + "@babel/types": "^7.22.10" + } + }, + "@babel/highlight": { + "version": "7.22.10", + "requires": { + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.22.10" + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.5" + } + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.20.7", + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.22.10", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.10", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/plugin-syntax-decorators": "^7.22.10" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.18.6", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-proposal-export-default-from": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-default-from": "^7.22.5" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.18.9", + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.18.6", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.20.7", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.7", + "requires": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.20.7" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "requires": {} + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-decorators": { + "version": "7.22.10", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-default-from": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-flow": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-attributes": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-async-generator-functions": { + "version": "7.22.10", + "requires": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.22.5", + "requires": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.22.10", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-class-properties": { + "version": "7.22.5", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-class-static-block": { + "version": "7.22.5", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.22.6", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.5" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.22.10", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.22.5", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-dynamic-import": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.22.5", + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-export-namespace-from": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-transform-flow-strip-types": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-flow": "^7.22.5" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.22.5", + "requires": { + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-json-strings": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-logical-assignment-operators": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.22.5", + "requires": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.22.5", + "requires": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.22.5", + "requires": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.22.5", + "requires": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-transform-numeric-separator": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-transform-object-assign": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-object-rest-spread": { + "version": "7.22.5", + "requires": { + "@babel/compat-data": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.22.5" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" + } + }, + "@babel/plugin-transform-optional-catch-binding": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-transform-optional-chaining": { + "version": "7.22.10", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-private-methods": { + "version": "7.22.5", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-private-property-in-object": { + "version": "7.22.5", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.22.5", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/plugin-transform-react-jsx-self": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-react-jsx-source": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.22.10", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.22.10", + "requires": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.5", + "babel-plugin-polyfill-corejs3": "^0.8.3", + "babel-plugin-polyfill-regenerator": "^0.5.2", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1" + } + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.22.10", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.10", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-typescript": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.22.10", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-property-regex": { + "version": "7.22.5", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.22.5", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-sets-regex": { + "version": "7.22.5", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/preset-env": { + "version": "7.22.10", + "requires": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.10", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.22.5", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.22.5", + "@babel/plugin-transform-async-generator-functions": "^7.22.10", + "@babel/plugin-transform-async-to-generator": "^7.22.5", + "@babel/plugin-transform-block-scoped-functions": "^7.22.5", + "@babel/plugin-transform-block-scoping": "^7.22.10", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.5", + "@babel/plugin-transform-classes": "^7.22.6", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.22.10", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.5", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.5", + "@babel/plugin-transform-for-of": "^7.22.5", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.5", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-modules-systemjs": "^7.22.5", + "@babel/plugin-transform-modules-umd": "^7.22.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.22.5", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.5", + "@babel/plugin-transform-numeric-separator": "^7.22.5", + "@babel/plugin-transform-object-rest-spread": "^7.22.5", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.10", + "@babel/plugin-transform-parameters": "^7.22.5", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.5", + "@babel/plugin-transform-property-literals": "^7.22.5", + "@babel/plugin-transform-regenerator": "^7.22.10", + "@babel/plugin-transform-reserved-words": "^7.22.5", + "@babel/plugin-transform-shorthand-properties": "^7.22.5", + "@babel/plugin-transform-spread": "^7.22.5", + "@babel/plugin-transform-sticky-regex": "^7.22.5", + "@babel/plugin-transform-template-literals": "^7.22.5", + "@babel/plugin-transform-typeof-symbol": "^7.22.5", + "@babel/plugin-transform-unicode-escapes": "^7.22.10", + "@babel/plugin-transform-unicode-property-regex": "^7.22.5", + "@babel/plugin-transform-unicode-regex": "^7.22.5", + "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "@babel/types": "^7.22.10", + "babel-plugin-polyfill-corejs2": "^0.4.5", + "babel-plugin-polyfill-corejs3": "^0.8.3", + "babel-plugin-polyfill-regenerator": "^0.5.2", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1" + } + } + }, + "@babel/preset-flow": { + "version": "7.22.15", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-transform-flow-strip-types": "^7.22.5" + } + }, + "@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/preset-typescript": { + "version": "7.22.5", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-typescript": "^7.22.5" + } + }, + "@babel/register": { + "version": "7.22.15", + "requires": { + "clone-deep": "^4.0.1", + "find-cache-dir": "^2.0.0", + "make-dir": "^2.1.0", + "pirates": "^4.0.5", + "source-map-support": "^0.5.16" + }, + "dependencies": { + "find-cache-dir": { + "version": "2.1.0", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "make-dir": { + "version": "2.1.0", + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "p-limit": { + "version": "2.3.0", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0" + }, + "pify": { + "version": "4.0.1" + }, + "pkg-dir": { + "version": "3.0.0", + "requires": { + "find-up": "^3.0.0" + } + }, + "semver": { + "version": "5.7.2" + }, + "source-map-support": { + "version": "0.5.21", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + } + } + }, + "@babel/regjsgen": { + "version": "0.8.0" + }, + "@babel/runtime": { + "version": "7.22.10", + "requires": { + "regenerator-runtime": "^0.14.0" + } + }, + "@babel/template": { + "version": "7.22.5", + "requires": { + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/traverse": { + "version": "7.22.10", + "requires": { + "@babel/code-frame": "^7.22.10", + "@babel/generator": "^7.22.10", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.22.10", + "@babel/types": "^7.22.10", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.22.10", + "requires": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + } + }, + "@balena/dockerignore": { + "version": "1.0.2" + }, + "@bcoe/v8-coverage": { + "version": "0.2.3" + }, + "@colors/colors": { + "version": "1.5.0", + "dev": true + }, + "@corex/deepmerge": { + "version": "4.0.43" + }, + "@cspotcode/source-map-support": { + "version": "0.8.1", + "devOptional": true, + "requires": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "dependencies": { + "@jridgewell/trace-mapping": { + "version": "0.3.9", + "devOptional": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + } + } + }, + "@cypress/code-coverage": { + "version": "3.11.0", + "dev": true, + "requires": { + "@cypress/webpack-preprocessor": "^5.11.0", + "chalk": "4.1.2", + "dayjs": "1.11.9", + "debug": "4.3.4", + "execa": "4.1.0", + "globby": "11.0.4", + "istanbul-lib-coverage": "3.0.0", + "js-yaml": "4.1.0", + "nyc": "15.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@cypress/request": { + "version": "2.88.12", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "http-signature": "~1.3.6", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "performance-now": "^2.1.0", + "qs": "~6.10.3", + "safe-buffer": "^5.1.2", + "tough-cookie": "^4.1.3", + "tunnel-agent": "^0.6.0", + "uuid": "^8.3.2" + }, + "dependencies": { + "uuid": { + "version": "8.3.2", + "dev": true + } + } + }, + "@cypress/webpack-preprocessor": { + "version": "5.17.1", + "dev": true, + "requires": { + "bluebird": "3.7.1", + "debug": "^4.3.4", + "lodash": "^4.17.20" + } + }, + "@cypress/xvfb": { + "version": "1.2.4", + "dev": true, + "requires": { + "debug": "^3.1.0", + "lodash.once": "^4.1.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "@defichain/jellyfish-address": { + "version": "4.0.0-beta.14.1", + "requires": { + "@defichain/jellyfish-crypto": "4.0.0-beta.14.1", + "@defichain/jellyfish-network": "4.0.0-beta.14.1", + "@defichain/jellyfish-transaction": "4.0.0-beta.14.1", + "bech32": "^2.0.0", + "bs58": "^4.0.1" + } + }, + "@defichain/jellyfish-api-core": { + "version": "4.0.0-beta.14.1", + "requires": { + "@defichain/jellyfish-json": "4.0.0-beta.14.1" + } + }, + "@defichain/jellyfish-api-jsonrpc": { + "version": "4.0.0-beta.14.1", + "requires": { + "@defichain/jellyfish-api-core": "4.0.0-beta.14.1", + "abort-controller": "^3.0.0", + "cross-fetch": "^3.1.5" + } + }, + "@defichain/jellyfish-buffer": { + "version": "4.0.0-beta.14.1", + "requires": { + "bignumber.js": "^9.0.2", + "bn.js": "^5.2.1", + "smart-buffer": "^4.2.0" + } + }, + "@defichain/jellyfish-crypto": { + "version": "4.0.0-beta.14.1", + "requires": { + "bech32": "^2.0.0", + "bip66": "^1.1.5", + "browserify-aes": "^1.2.0", + "bs58": "^4.0.1", + "create-hash": "^1.2.0", + "keccak": "^3.0.3", + "randombytes": "^2.1.0", + "tiny-secp256k1": "^1.1.6", + "wif": "^2.0.6" + } + }, + "@defichain/jellyfish-json": { + "version": "4.0.0-beta.14.1", + "requires": { + "@types/lossless-json": "^1.0.1", + "bignumber.js": "^9.0.2", + "lossless-json": "^1.0.5" + } + }, + "@defichain/jellyfish-network": { + "version": "4.0.0-beta.14.1", + "requires": { + "bignumber.js": "^9.0.2" + } + }, + "@defichain/jellyfish-testing": { + "version": "4.0.0-beta.14.1", + "requires": { + "@defichain/jellyfish-api-jsonrpc": "4.0.0-beta.14.1", + "@defichain/jellyfish-crypto": "4.0.0-beta.14.1", + "@defichain/jellyfish-network": "4.0.0-beta.14.1", + "@defichain/testcontainers": "4.0.0-beta.14.1", + "cross-fetch": "^3.1.5" + } + }, + "@defichain/jellyfish-transaction": { + "version": "4.0.0-beta.14.1", + "requires": { + "@defichain/jellyfish-buffer": "4.0.0-beta.14.1", + "@defichain/jellyfish-crypto": "4.0.0-beta.14.1" + } + }, + "@defichain/jellyfish-transaction-builder": { + "version": "4.0.0-beta.14.1", + "requires": { + "@defichain/jellyfish-crypto": "4.0.0-beta.14.1", + "@defichain/jellyfish-transaction": "4.0.0-beta.14.1", + "@defichain/jellyfish-transaction-signature": "4.0.0-beta.14.1", + "ethers": "^6.7.1" + }, + "dependencies": { + "@noble/curves": { + "version": "1.2.0", + "requires": { + "@noble/hashes": "1.3.2" + } + }, + "@types/node": { + "version": "18.15.13" + }, + "ethers": { + "version": "6.8.0", + "requires": { + "@adraffy/ens-normalize": "1.10.0", + "@noble/curves": "1.2.0", + "@noble/hashes": "1.3.2", + "@types/node": "18.15.13", + "aes-js": "4.0.0-beta.5", + "tslib": "2.4.0", + "ws": "8.5.0" + } + }, + "ws": { + "version": "8.5.0", + "requires": {} + } + } + }, + "@defichain/jellyfish-transaction-signature": { + "version": "4.0.0-beta.14.1", + "requires": { + "@defichain/jellyfish-buffer": "4.0.0-beta.14.1", + "@defichain/jellyfish-crypto": "4.0.0-beta.14.1", + "@defichain/jellyfish-transaction": "4.0.0-beta.14.1" + } + }, + "@defichain/jellyfish-wallet": { + "version": "4.0.0-beta.14.1", + "requires": { + "@defichain/jellyfish-address": "4.0.0-beta.14.1", + "@defichain/jellyfish-crypto": "4.0.0-beta.14.1", + "@defichain/jellyfish-network": "4.0.0-beta.14.1", + "@defichain/jellyfish-transaction": "4.0.0-beta.14.1", + "@defichain/jellyfish-transaction-builder": "4.0.0-beta.14.1", + "@defichain/jellyfish-transaction-signature": "4.0.0-beta.14.1" + } + }, + "@defichain/jellyfish-wallet-encrypted": { + "version": "4.0.0-beta.14.1", + "requires": { + "@defichain/jellyfish-wallet-mnemonic": "4.0.0-beta.14.1", + "scrypt-js": "^3.0.1" + } + }, + "@defichain/jellyfish-wallet-mnemonic": { + "version": "4.0.0-beta.14.1", + "requires": { + "@defichain/jellyfish-transaction": "4.0.0-beta.14.1", + "@defichain/jellyfish-wallet": "4.0.0-beta.14.1", + "bip32": "^2.0.6", + "bip39": "^3.0.4", + "create-hmac": "^1.1.7" + } + }, + "@defichain/ocean-api-client": { + "version": "4.0.0-beta.14.1", + "requires": { + "abort-controller": "^3.0.0", + "cross-fetch": "^3.1.5", + "url-search-params-polyfill": "8.1.1" + } + }, + "@defichain/playground-api-client": { + "version": "4.0.0-beta.14.1", + "requires": { + "@defichain/jellyfish-api-core": "4.0.0-beta.14.1", + "@defichain/ocean-api-client": "4.0.0-beta.14.1" + } + }, + "@defichain/testcontainers": { + "version": "4.0.0-beta.14.1", + "requires": { + "@defichain/jellyfish-network": "4.0.0-beta.14.1", + "cross-fetch": "^3.1.5", + "dockerode": "^3.3.5", + "tar-fs": "^2.1.1", + "testcontainers": "^9.9.0", + "uuid": "^9.0.0" + } + }, + "@defichain/whale-api-client": { + "version": "4.0.0-beta.14.1", + "requires": { + "@defichain/jellyfish-api-core": "4.0.0-beta.14.1", + "@defichain/jellyfish-api-jsonrpc": "4.0.0-beta.14.1", + "abort-controller": "^3.0.0", + "cross-fetch": "^3.1.5", + "url-search-params-polyfill": "8.1.1" + } + }, + "@defichain/whale-api-wallet": { + "version": "4.0.0-beta.14.1", + "requires": { + "@defichain/jellyfish-transaction-builder": "4.0.0-beta.14.1", + "@defichain/jellyfish-wallet": "4.0.0-beta.14.1", + "@defichain/whale-api-client": "4.0.0-beta.14.1" + } + }, + "@egjs/hammerjs": { + "version": "2.0.17", + "requires": { + "@types/hammerjs": "^2.0.36" + } + }, + "@electron/get": { + "version": "2.0.2", + "requires": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "global-agent": "^3.0.0", + "got": "^11.8.5", + "progress": "^2.0.3", + "semver": "^6.2.0", + "sumchecker": "^3.0.1" + }, + "dependencies": { + "fs-extra": { + "version": "8.1.0", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "semver": { + "version": "6.3.1" + }, + "universalify": { + "version": "0.1.2" + } + } + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.7.0" + }, + "@eslint/eslintrc": { + "version": "2.1.2", + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "globals": { + "version": "13.21.0", + "requires": { + "type-fest": "^0.20.2" + } + }, + "type-fest": { + "version": "0.20.2" + } + } + }, + "@eslint/js": { + "version": "8.51.0" + }, + "@ethersproject/abi": { + "version": "5.7.0", + "requires": { + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "@ethersproject/abstract-provider": { + "version": "5.7.0", + "requires": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/networks": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0" + } + }, + "@ethersproject/abstract-signer": { + "version": "5.7.0", + "requires": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0" + } + }, + "@ethersproject/address": { + "version": "5.7.0", + "requires": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/rlp": "^5.7.0" + } + }, + "@ethersproject/base64": { + "version": "5.7.0", + "requires": { + "@ethersproject/bytes": "^5.7.0" + } + }, + "@ethersproject/basex": { + "version": "5.7.0", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/properties": "^5.7.0" + } + }, + "@ethersproject/bignumber": { + "version": "5.7.0", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "bn.js": "^5.2.1" + } + }, + "@ethersproject/bytes": { + "version": "5.7.0", + "requires": { + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/constants": { + "version": "5.7.0", + "requires": { + "@ethersproject/bignumber": "^5.7.0" + } + }, + "@ethersproject/contracts": { + "version": "5.7.0", + "requires": { + "@ethersproject/abi": "^5.7.0", + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/transactions": "^5.7.0" + } + }, + "@ethersproject/hash": { + "version": "5.7.0", + "requires": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/base64": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "@ethersproject/hdnode": { + "version": "5.7.0", + "requires": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/basex": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/pbkdf2": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/wordlists": "^5.7.0" + } + }, + "@ethersproject/json-wallets": { + "version": "5.7.0", + "requires": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hdnode": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/pbkdf2": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "aes-js": "3.0.0", + "scrypt-js": "3.0.1" + }, + "dependencies": { + "aes-js": { + "version": "3.0.0" + } + } + }, + "@ethersproject/keccak256": { + "version": "5.7.0", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "js-sha3": "0.8.0" + } + }, + "@ethersproject/logger": { + "version": "5.7.0" + }, + "@ethersproject/networks": { + "version": "5.7.1", + "requires": { + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/pbkdf2": { + "version": "5.7.0", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/sha2": "^5.7.0" + } + }, + "@ethersproject/properties": { + "version": "5.7.0", + "requires": { + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/providers": { + "version": "5.7.2", + "requires": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/base64": "^5.7.0", + "@ethersproject/basex": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/networks": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0", + "bech32": "1.1.4", + "ws": "7.4.6" + }, + "dependencies": { + "bech32": { + "version": "1.1.4" + } + } + }, + "@ethersproject/random": { + "version": "5.7.0", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/rlp": { + "version": "5.7.0", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/sha2": { + "version": "5.7.0", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "hash.js": "1.1.7" + } + }, + "@ethersproject/shims": { + "version": "5.7.0" + }, + "@ethersproject/signing-key": { + "version": "5.7.0", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "bn.js": "^5.2.1", + "elliptic": "6.5.4", + "hash.js": "1.1.7" + } + }, + "@ethersproject/solidity": { + "version": "5.7.0", + "requires": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "@ethersproject/strings": { + "version": "5.7.0", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/transactions": { + "version": "5.7.0", + "requires": { + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0" + } + }, + "@ethersproject/units": { + "version": "5.7.0", + "requires": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/wallet": { + "version": "5.7.0", + "requires": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/hdnode": "^5.7.0", + "@ethersproject/json-wallets": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/wordlists": "^5.7.0" + } + }, + "@ethersproject/web": { + "version": "5.7.1", + "requires": { + "@ethersproject/base64": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "@ethersproject/wordlists": { + "version": "5.7.0", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "@expo-google-fonts/ibm-plex-sans": { + "version": "0.2.3" + }, + "@expo-google-fonts/sora": { + "version": "0.2.3" + }, + "@expo/bunyan": { + "version": "4.0.0", + "requires": { + "mv": "~2", + "safe-json-stringify": "~1", + "uuid": "^8.0.0" + }, + "dependencies": { + "uuid": { + "version": "8.3.2" + } + } + }, + "@expo/cli": { + "version": "0.10.11", + "requires": { + "@babel/runtime": "^7.20.0", + "@expo/code-signing-certificates": "0.0.5", + "@expo/config": "~8.1.0", + "@expo/config-plugins": "~7.2.0", + "@expo/dev-server": "0.5.5", + "@expo/devcert": "^1.0.0", + "@expo/env": "0.0.5", + "@expo/json-file": "^8.2.37", + "@expo/metro-config": "~0.10.0", + "@expo/osascript": "^2.0.31", + "@expo/package-manager": "~1.0.0", + "@expo/plist": "^0.0.20", + "@expo/prebuild-config": "6.2.6", + "@expo/rudder-sdk-node": "1.1.1", + "@expo/spawn-async": "1.5.0", + "@expo/xcpretty": "^4.2.1", + "@urql/core": "2.3.6", + "@urql/exchange-retry": "0.3.0", + "accepts": "^1.3.8", + "arg": "4.1.0", + "better-opn": "~3.0.2", + "bplist-parser": "^0.3.1", + "cacache": "^15.3.0", + "chalk": "^4.0.0", + "ci-info": "^3.3.0", + "debug": "^4.3.4", + "env-editor": "^0.4.1", + "form-data": "^3.0.1", + "freeport-async": "2.0.0", + "fs-extra": "~8.1.0", + "getenv": "^1.0.0", + "graphql": "15.8.0", + "graphql-tag": "^2.10.1", + "https-proxy-agent": "^5.0.1", + "internal-ip": "4.3.0", + "is-root": "^2.1.0", + "js-yaml": "^3.13.1", + "json-schema-deref-sync": "^0.13.0", + "md5-file": "^3.2.3", + "md5hex": "^1.0.0", + "minipass": "3.1.6", + "node-fetch": "^2.6.7", + "node-forge": "^1.3.1", + "npm-package-arg": "^7.0.0", + "ora": "3.4.0", + "pretty-bytes": "5.6.0", + "progress": "2.0.3", + "prompts": "^2.3.2", + "qrcode-terminal": "0.11.0", + "require-from-string": "^2.0.2", + "requireg": "^0.2.2", + "resolve-from": "^5.0.0", + "semver": "^7.5.3", + "send": "^0.18.0", + "slugify": "^1.3.4", + "structured-headers": "^0.4.1", + "tar": "^6.0.5", + "tempy": "^0.7.1", + "terminal-link": "^2.1.1", + "text-table": "^0.2.0", + "url-join": "4.0.0", + "wrap-ansi": "^7.0.0", + "ws": "^8.12.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "arg": { + "version": "4.1.0" + }, + "argparse": { + "version": "1.0.10", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "form-data": { + "version": "3.0.1", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "fs-extra": { + "version": "8.1.0", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "has-flag": { + "version": "4.0.0" + }, + "js-yaml": { + "version": "3.14.1", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "sprintf-js": { + "version": "1.0.3" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + }, + "universalify": { + "version": "0.1.2" + }, + "ws": { + "version": "8.13.0", + "requires": {} + } + } + }, + "@expo/code-signing-certificates": { + "version": "0.0.5", + "requires": { + "node-forge": "^1.2.1", + "nullthrows": "^1.1.1" + } + }, + "@expo/config": { + "version": "8.1.2", + "requires": { + "@babel/code-frame": "~7.10.4", + "@expo/config-plugins": "~7.2.0", + "@expo/config-types": "^49.0.0-alpha.1", + "@expo/json-file": "^8.2.37", + "getenv": "^1.0.0", + "glob": "7.1.6", + "require-from-string": "^2.0.2", + "resolve-from": "^5.0.0", + "semver": "7.5.3", + "slugify": "^1.3.4", + "sucrase": "^3.20.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.4", + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "lru-cache": { + "version": "6.0.0", + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.3", + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "@expo/config-plugins": { + "version": "7.2.5", + "requires": { + "@expo/config-types": "^49.0.0-alpha.1", + "@expo/json-file": "~8.2.37", + "@expo/plist": "^0.0.20", + "@expo/sdk-runtime-versions": "^1.0.0", + "@react-native/normalize-color": "^2.0.0", + "chalk": "^4.1.2", + "debug": "^4.3.1", + "find-up": "~5.0.0", + "getenv": "^1.0.0", + "glob": "7.1.6", + "resolve-from": "^5.0.0", + "semver": "^7.5.3", + "slash": "^3.0.0", + "xcode": "^3.0.1", + "xml2js": "0.6.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@expo/config-types": { + "version": "49.0.0" + }, + "@expo/configure-splash-screen": { + "version": "0.4.0", + "dev": true, + "requires": { + "color-string": "^1.5.3", + "commander": "^5.1.0", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "lodash": "^4.17.15", + "pngjs": "^5.0.0", + "xcode": "^3.0.0", + "xml-js": "^1.6.11" + }, + "dependencies": { + "fs-extra": { + "version": "9.1.0", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "pngjs": { + "version": "5.0.0", + "dev": true + } + } + }, + "@expo/dev-server": { + "version": "0.5.5", + "requires": { + "@expo/bunyan": "4.0.0", + "@expo/metro-config": "~0.10.0", + "@expo/osascript": "2.0.33", + "@expo/spawn-async": "^1.5.0", + "body-parser": "^1.20.1", + "chalk": "^4.0.0", + "connect": "^3.7.0", + "fs-extra": "9.0.0", + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1", + "node-fetch": "^2.6.0", + "open": "^8.3.0", + "resolve-from": "^5.0.0", + "serialize-error": "6.0.0", + "temp-dir": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "fs-extra": { + "version": "9.0.0", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + } + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + }, + "universalify": { + "version": "1.0.0" + } + } + }, + "@expo/devcert": { + "version": "1.1.0", + "requires": { + "application-config-path": "^0.1.0", + "command-exists": "^1.2.4", + "debug": "^3.1.0", + "eol": "^0.9.1", + "get-port": "^3.2.0", + "glob": "^7.1.2", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "password-prompt": "^1.0.4", + "rimraf": "^2.6.2", + "sudo-prompt": "^8.2.0", + "tmp": "^0.0.33", + "tslib": "^2.4.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "requires": { + "ms": "^2.1.1" + } + }, + "mkdirp": { + "version": "0.5.6", + "requires": { + "minimist": "^1.2.6" + } + }, + "tmp": { + "version": "0.0.33", + "requires": { + "os-tmpdir": "~1.0.2" + } + } + } + }, + "@expo/env": { + "version": "0.0.5", + "requires": { + "chalk": "^4.0.0", + "debug": "^4.3.4", + "dotenv": "~16.0.3", + "dotenv-expand": "~10.0.0", + "getenv": "^1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@expo/image-utils": { + "version": "0.3.22", + "requires": { + "@expo/spawn-async": "1.5.0", + "chalk": "^4.0.0", + "fs-extra": "9.0.0", + "getenv": "^1.0.0", + "jimp-compact": "0.16.1", + "mime": "^2.4.4", + "node-fetch": "^2.6.0", + "parse-png": "^2.1.0", + "resolve-from": "^5.0.0", + "semver": "7.3.2", + "tempy": "0.3.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "crypto-random-string": { + "version": "1.0.0" + }, + "fs-extra": { + "version": "9.0.0", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + } + }, + "has-flag": { + "version": "4.0.0" + }, + "semver": { + "version": "7.3.2" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + }, + "temp-dir": { + "version": "1.0.0" + }, + "tempy": { + "version": "0.3.0", + "requires": { + "temp-dir": "^1.0.0", + "type-fest": "^0.3.1", + "unique-string": "^1.0.0" + } + }, + "type-fest": { + "version": "0.3.1" + }, + "unique-string": { + "version": "1.0.0", + "requires": { + "crypto-random-string": "^1.0.0" + } + }, + "universalify": { + "version": "1.0.0" + } + } + }, + "@expo/json-file": { + "version": "8.2.37", + "requires": { + "@babel/code-frame": "~7.10.4", + "json5": "^2.2.2", + "write-file-atomic": "^2.3.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.4", + "requires": { + "@babel/highlight": "^7.10.4" + } + } + } + }, + "@expo/metro-config": { + "version": "0.10.7", + "requires": { + "@expo/config": "~8.1.0", + "@expo/env": "0.0.5", + "@expo/json-file": "~8.2.37", + "chalk": "^4.1.0", + "debug": "^4.3.2", + "find-yarn-workspace-root": "~2.0.0", + "getenv": "^1.0.0", + "jsc-safe-url": "^0.2.4", + "lightningcss": "~1.19.0", + "postcss": "~8.4.21", + "resolve-from": "^5.0.0", + "sucrase": "^3.20.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@expo/osascript": { + "version": "2.0.33", + "requires": { + "@expo/spawn-async": "^1.5.0", + "exec-async": "^2.2.0" + } + }, + "@expo/package-manager": { + "version": "1.0.2", + "requires": { + "@expo/json-file": "^8.2.37", + "@expo/spawn-async": "^1.5.0", + "ansi-regex": "^5.0.0", + "chalk": "^4.0.0", + "find-up": "^5.0.0", + "find-yarn-workspace-root": "~2.0.0", + "js-yaml": "^3.13.1", + "micromatch": "^4.0.2", + "npm-package-arg": "^7.0.0", + "split": "^1.0.1", + "sudo-prompt": "9.1.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "1.0.10", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "js-yaml": { + "version": "3.14.1", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3" + }, + "sudo-prompt": { + "version": "9.1.1" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@expo/plist": { + "version": "0.0.20", + "requires": { + "@xmldom/xmldom": "~0.7.7", + "base64-js": "^1.2.3", + "xmlbuilder": "^14.0.0" + } + }, + "@expo/prebuild-config": { + "version": "6.2.6", + "requires": { + "@expo/config": "~8.1.0", + "@expo/config-plugins": "~7.2.0", + "@expo/config-types": "^49.0.0-alpha.1", + "@expo/image-utils": "0.3.22", + "@expo/json-file": "^8.2.37", + "debug": "^4.3.1", + "fs-extra": "^9.0.0", + "resolve-from": "^5.0.0", + "semver": "7.5.3", + "xml2js": "0.6.0" + }, + "dependencies": { + "fs-extra": { + "version": "9.1.0", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.3", + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "@expo/rudder-sdk-node": { + "version": "1.1.1", + "requires": { + "@expo/bunyan": "^4.0.0", + "@segment/loosely-validate-event": "^2.0.0", + "fetch-retry": "^4.1.1", + "md5": "^2.2.1", + "node-fetch": "^2.6.1", + "remove-trailing-slash": "^0.1.0", + "uuid": "^8.3.2" + }, + "dependencies": { + "uuid": { + "version": "8.3.2" + } + } + }, + "@expo/sdk-runtime-versions": { + "version": "1.0.0" + }, + "@expo/spawn-async": { + "version": "1.5.0", + "requires": { + "cross-spawn": "^6.0.5" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "path-key": { + "version": "2.0.1" + }, + "semver": { + "version": "5.7.2" + }, + "shebang-command": { + "version": "1.2.0", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0" + }, + "which": { + "version": "1.3.1", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "@expo/vector-icons": { + "version": "13.0.0" + }, + "@expo/xcpretty": { + "version": "4.2.2", + "requires": { + "@babel/code-frame": "7.10.4", + "chalk": "^4.1.0", + "find-up": "^5.0.0", + "js-yaml": "^4.1.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.4", + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@fastify/accept-negotiator": { + "version": "1.1.0" + }, + "@gar/promisify": { + "version": "1.1.3" + }, + "@gorhom/bottom-sheet": { + "version": "4.4.7", + "requires": { + "@gorhom/portal": "1.0.14", + "invariant": "^2.2.4" + } + }, + "@gorhom/portal": { + "version": "1.0.14", + "requires": { + "nanoid": "^3.3.1" + } + }, + "@graphql-typed-document-node/core": { + "version": "3.2.0", + "requires": {} + }, + "@hapi/hoek": { + "version": "9.3.0" + }, + "@hapi/topo": { + "version": "5.1.0", + "requires": { + "@hapi/hoek": "^9.0.0" + } + }, + "@humanwhocodes/config-array": { + "version": "0.11.11", + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1" + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1" + }, + "@hutson/parse-repository-url": { + "version": "3.0.2", + "dev": true + }, + "@ioredis/commands": { + "version": "1.2.0" + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "find-up": { + "version": "4.1.0", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "js-yaml": { + "version": "3.14.1", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "requires": { + "p-limit": "^2.2.0" + } + }, + "sprintf-js": { + "version": "1.0.3" + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.3" + }, + "@jest/console": { + "version": "29.6.4", + "requires": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.6.3", + "jest-util": "^29.6.3", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/core": { + "version": "29.6.4", + "requires": { + "@jest/console": "^29.6.4", + "@jest/reporters": "^29.6.4", + "@jest/test-result": "^29.6.4", + "@jest/transform": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.6.3", + "jest-config": "^29.6.4", + "jest-haste-map": "^29.6.4", + "jest-message-util": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.6.4", + "jest-resolve-dependencies": "^29.6.4", + "jest-runner": "^29.6.4", + "jest-runtime": "^29.6.4", + "jest-snapshot": "^29.6.4", + "jest-util": "^29.6.3", + "jest-validate": "^29.6.3", + "jest-watcher": "^29.6.4", + "micromatch": "^4.0.4", + "pretty-format": "^29.6.3", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "pretty-format": { + "version": "29.6.3", + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0" + } + } + }, + "react-is": { + "version": "18.2.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/create-cache-key-function": { + "version": "29.6.3", + "requires": { + "@jest/types": "^29.6.3" + } + }, + "@jest/environment": { + "version": "29.6.4", + "requires": { + "@jest/fake-timers": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.6.3" + } + }, + "@jest/expect": { + "version": "29.6.4", + "requires": { + "expect": "^29.6.4", + "jest-snapshot": "^29.6.4" + } + }, + "@jest/expect-utils": { + "version": "29.6.4", + "requires": { + "jest-get-type": "^29.6.3" + } + }, + "@jest/fake-timers": { + "version": "29.6.4", + "requires": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.6.3", + "jest-mock": "^29.6.3", + "jest-util": "^29.6.3" + } + }, + "@jest/globals": { + "version": "29.6.4", + "requires": { + "@jest/environment": "^29.6.4", + "@jest/expect": "^29.6.4", + "@jest/types": "^29.6.3", + "jest-mock": "^29.6.3" + } + }, + "@jest/reporters": { + "version": "29.6.4", + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.6.4", + "@jest/test-result": "^29.6.4", + "@jest/transform": "^29.6.4", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.6.3", + "jest-util": "^29.6.3", + "jest-worker": "^29.6.4", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "istanbul-lib-coverage": { + "version": "3.2.0" + }, + "istanbul-lib-instrument": { + "version": "6.0.0", + "requires": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + } + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/schemas": { + "version": "29.6.3", + "requires": { + "@sinclair/typebox": "^0.27.8" + } + }, + "@jest/source-map": { + "version": "29.6.3", + "requires": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + } + }, + "@jest/test-result": { + "version": "29.6.4", + "requires": { + "@jest/console": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "29.6.4", + "requires": { + "@jest/test-result": "^29.6.4", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.4", + "slash": "^3.0.0" + } + }, + "@jest/transform": { + "version": "29.6.4", + "requires": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.4", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.6.3", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "convert-source-map": { + "version": "2.0.0" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + }, + "write-file-atomic": { + "version": "4.0.2", + "requires": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + } + } + } + }, + "@jest/types": { + "version": "29.6.3", + "requires": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jimp/bmp": { + "version": "0.12.1", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.12.1", + "bmp-js": "^0.1.0" + } + }, + "@jimp/core": { + "version": "0.12.1", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.12.1", + "any-base": "^1.1.0", + "buffer": "^5.2.0", + "exif-parser": "^0.1.12", + "file-type": "^9.0.0", + "load-bmfont": "^1.3.1", + "mkdirp": "^0.5.1", + "phin": "^2.9.1", + "pixelmatch": "^4.0.2", + "tinycolor2": "^1.4.1" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "mkdirp": { + "version": "0.5.6", + "dev": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "pixelmatch": { + "version": "4.0.2", + "dev": true, + "requires": { + "pngjs": "^3.0.0" + } + } + } + }, + "@jimp/custom": { + "version": "0.12.1", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/core": "^0.12.1" + } + }, + "@jimp/gif": { + "version": "0.12.1", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.12.1", + "omggif": "^1.0.9" + } + }, + "@jimp/jpeg": { + "version": "0.12.1", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.12.1", + "jpeg-js": "^0.4.0" + } + }, + "@jimp/plugin-blit": { + "version": "0.12.1", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.12.1" + } + }, + "@jimp/plugin-blur": { + "version": "0.12.1", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.12.1" + } + }, + "@jimp/plugin-circle": { + "version": "0.12.1", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.12.1" + } + }, + "@jimp/plugin-color": { + "version": "0.12.1", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.12.1", + "tinycolor2": "^1.4.1" + } + }, + "@jimp/plugin-contain": { + "version": "0.12.1", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.12.1" + } + }, + "@jimp/plugin-cover": { + "version": "0.12.1", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.12.1" + } + }, + "@jimp/plugin-crop": { + "version": "0.12.1", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.12.1" + } + }, + "@jimp/plugin-displace": { + "version": "0.12.1", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.12.1" + } + }, + "@jimp/plugin-dither": { + "version": "0.12.1", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.12.1" + } + }, + "@jimp/plugin-fisheye": { + "version": "0.12.1", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.12.1" + } + }, + "@jimp/plugin-flip": { + "version": "0.12.1", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.12.1" + } + }, + "@jimp/plugin-gaussian": { + "version": "0.12.1", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.12.1" + } + }, + "@jimp/plugin-invert": { + "version": "0.12.1", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.12.1" + } + }, + "@jimp/plugin-mask": { + "version": "0.12.1", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.12.1" + } + }, + "@jimp/plugin-normalize": { + "version": "0.12.1", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.12.1" + } + }, + "@jimp/plugin-print": { + "version": "0.12.1", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.12.1", + "load-bmfont": "^1.4.0" + } + }, + "@jimp/plugin-resize": { + "version": "0.12.1", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.12.1" + } + }, + "@jimp/plugin-rotate": { + "version": "0.12.1", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.12.1" + } + }, + "@jimp/plugin-scale": { + "version": "0.12.1", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.12.1" + } + }, + "@jimp/plugin-shadow": { + "version": "0.12.1", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.12.1" + } + }, + "@jimp/plugin-threshold": { + "version": "0.12.1", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.12.1" + } + }, + "@jimp/plugins": { + "version": "0.12.1", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/plugin-blit": "^0.12.1", + "@jimp/plugin-blur": "^0.12.1", + "@jimp/plugin-circle": "^0.12.1", + "@jimp/plugin-color": "^0.12.1", + "@jimp/plugin-contain": "^0.12.1", + "@jimp/plugin-cover": "^0.12.1", + "@jimp/plugin-crop": "^0.12.1", + "@jimp/plugin-displace": "^0.12.1", + "@jimp/plugin-dither": "^0.12.1", + "@jimp/plugin-fisheye": "^0.12.1", + "@jimp/plugin-flip": "^0.12.1", + "@jimp/plugin-gaussian": "^0.12.1", + "@jimp/plugin-invert": "^0.12.1", + "@jimp/plugin-mask": "^0.12.1", + "@jimp/plugin-normalize": "^0.12.1", + "@jimp/plugin-print": "^0.12.1", + "@jimp/plugin-resize": "^0.12.1", + "@jimp/plugin-rotate": "^0.12.1", + "@jimp/plugin-scale": "^0.12.1", + "@jimp/plugin-shadow": "^0.12.1", + "@jimp/plugin-threshold": "^0.12.1", + "timm": "^1.6.1" + } + }, + "@jimp/png": { + "version": "0.12.1", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.12.1", + "pngjs": "^3.3.3" + } + }, + "@jimp/tiff": { + "version": "0.12.1", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "utif": "^2.0.1" + } + }, + "@jimp/types": { + "version": "0.12.1", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/bmp": "^0.12.1", + "@jimp/gif": "^0.12.1", + "@jimp/jpeg": "^0.12.1", + "@jimp/png": "^0.12.1", + "@jimp/tiff": "^0.12.1", + "timm": "^1.6.1" + } + }, + "@jimp/utils": { + "version": "0.12.1", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "regenerator-runtime": "^0.13.3" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.11", + "dev": true + } + } + }, + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.1" + }, + "@jridgewell/set-array": { + "version": "1.1.2" + }, + "@jridgewell/source-map": { + "version": "0.3.5", + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.19", + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@mealection/react-native-boring-avatars": { + "version": "1.1.2", + "requires": {} + }, + "@netlify/functions": { + "version": "2.3.0", + "requires": { + "@netlify/serverless-functions-api": "1.9.0", + "is-promise": "^4.0.0" + } + }, + "@netlify/ipx": { + "version": "1.4.5", + "requires": { + "@netlify/functions": "^2.1.0", + "etag": "^1.8.1", + "fs-extra": "^11.0.0", + "ipx": "^1.3.1", + "micromatch": "^4.0.5", + "mkdirp": "^3.0.0", + "murmurhash": "^2.0.0", + "node-fetch": "^2.0.0", + "ufo": "^1.0.0", + "unstorage": "^1.0.0" + } + }, + "@netlify/node-cookies": { + "version": "0.1.0" + }, + "@netlify/serverless-functions-api": { + "version": "1.9.0", + "requires": { + "@netlify/node-cookies": "^0.1.0", + "urlpattern-polyfill": "8.0.2" + } + }, + "@next/env": { + "version": "13.5.4" + }, + "@next/eslint-plugin-next": { + "version": "13.5.4", + "requires": { + "glob": "7.1.7" + }, + "dependencies": { + "glob": { + "version": "7.1.7", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "@next/swc-darwin-arm64": { + "version": "13.5.4", + "optional": true + }, + "@noble/hashes": { + "version": "1.3.2" + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5" + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@npmcli/fs": { + "version": "1.1.1", + "requires": { + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" + } + }, + "@npmcli/move-file": { + "version": "1.1.2", + "requires": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4" + }, + "rimraf": { + "version": "3.0.2", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "@parcel/watcher": { + "version": "2.3.0", + "requires": { + "@parcel/watcher-android-arm64": "2.3.0", + "@parcel/watcher-darwin-arm64": "2.3.0", + "@parcel/watcher-darwin-x64": "2.3.0", + "@parcel/watcher-freebsd-x64": "2.3.0", + "@parcel/watcher-linux-arm-glibc": "2.3.0", + "@parcel/watcher-linux-arm64-glibc": "2.3.0", + "@parcel/watcher-linux-arm64-musl": "2.3.0", + "@parcel/watcher-linux-x64-glibc": "2.3.0", + "@parcel/watcher-linux-x64-musl": "2.3.0", + "@parcel/watcher-win32-arm64": "2.3.0", + "@parcel/watcher-win32-ia32": "2.3.0", + "@parcel/watcher-win32-x64": "2.3.0", + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "dependencies": { + "node-addon-api": { + "version": "7.0.0" + } + } + }, + "@parcel/watcher-darwin-arm64": { + "version": "2.3.0", + "optional": true + }, + "@parcel/watcher-wasm": { + "version": "2.3.0", + "requires": { + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "napi-wasm": "^1.1.0" + }, + "dependencies": { + "napi-wasm": { + "version": "1.1.0", + "bundled": true + } + } + }, + "@pkgr/utils": { + "version": "2.4.2", + "requires": { + "cross-spawn": "^7.0.3", + "fast-glob": "^3.3.0", + "is-glob": "^4.0.3", + "open": "^9.1.0", + "picocolors": "^1.0.0", + "tslib": "^2.6.0" + }, + "dependencies": { + "define-lazy-prop": { + "version": "3.0.0" + }, + "open": { + "version": "9.1.0", + "requires": { + "default-browser": "^4.0.0", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^2.2.0" + } + }, + "tslib": { + "version": "2.6.2" + } + } + }, + "@popperjs/core": { + "version": "2.11.8" + }, + "@react-native-async-storage/async-storage": { + "version": "1.18.2", + "requires": { + "merge-options": "^3.0.4" + } + }, + "@react-native-community/cli": { + "version": "11.3.7", + "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-11.3.7.tgz", + "integrity": "sha512-Ou8eDlF+yh2rzXeCTpMPYJ2fuqsusNOhmpYPYNQJQ2h6PvaF30kPomflgRILems+EBBuggRtcT+I+1YH4o/q6w==", + "requires": { + "@react-native-community/cli-clean": "11.3.7", + "@react-native-community/cli-config": "11.3.7", + "@react-native-community/cli-debugger-ui": "11.3.7", + "@react-native-community/cli-doctor": "11.3.7", + "@react-native-community/cli-hermes": "11.3.7", + "@react-native-community/cli-plugin-metro": "11.3.7", + "@react-native-community/cli-server-api": "11.3.7", + "@react-native-community/cli-tools": "11.3.7", + "@react-native-community/cli-types": "11.3.7", + "chalk": "^4.1.2", + "commander": "^9.4.1", + "execa": "^5.0.0", + "find-up": "^4.1.0", + "fs-extra": "^8.1.0", + "graceful-fs": "^4.1.3", + "prompts": "^2.4.0", + "semver": "^7.5.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==" + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + } + } + }, + "@react-native-community/cli-clean": { + "version": "11.3.7", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-11.3.7.tgz", + "integrity": "sha512-twtsv54ohcRyWVzPXL3F9VHGb4Qhn3slqqRs3wEuRzjR7cTmV2TIO2b1VhaqF4HlCgNd+cGuirvLtK2JJyaxMg==", + "requires": { + "@react-native-community/cli-tools": "11.3.7", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "prompts": "^2.4.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@react-native-community/cli-config": { + "version": "11.3.7", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-11.3.7.tgz", + "integrity": "sha512-FDBLku9xskS+bx0YFJFLCmUJhEZ4/MMSC9qPYOGBollWYdgE7k/TWI0IeYFmMALAnbCdKQAYP5N29N55Tad8lg==", + "requires": { + "@react-native-community/cli-tools": "11.3.7", + "chalk": "^4.1.2", + "cosmiconfig": "^5.1.0", + "deepmerge": "^4.3.0", + "glob": "^7.1.3", + "joi": "^17.2.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==" + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@react-native-community/cli-debugger-ui": { + "version": "11.3.7", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-11.3.7.tgz", + "integrity": "sha512-aVmKuPKHZENR8SrflkMurZqeyLwbKieHdOvaZCh1Nn/0UC5CxWcyST2DB2XQboZwsvr3/WXKJkSUO+SZ1J9qTQ==", + "requires": { + "serve-static": "^1.13.1" + } + }, + "@react-native-community/cli-doctor": { + "version": "11.3.7", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-11.3.7.tgz", + "integrity": "sha512-YEHUqWISOHnsl5+NM14KHelKh68Sr5/HeEZvvNdIcvcKtZic3FU7Xd1WcbNdo3gCq5JvzGFfufx02Tabh5zmrg==", + "requires": { + "@react-native-community/cli-config": "11.3.7", + "@react-native-community/cli-platform-android": "11.3.7", + "@react-native-community/cli-platform-ios": "11.3.7", + "@react-native-community/cli-tools": "11.3.7", + "chalk": "^4.1.2", + "command-exists": "^1.2.8", + "envinfo": "^7.7.2", + "execa": "^5.0.0", + "hermes-profile-transformer": "^0.0.6", + "ip": "^1.1.5", + "node-stream-zip": "^1.9.1", + "ora": "^5.4.1", + "prompts": "^2.4.0", + "semver": "^7.5.2", + "strip-ansi": "^5.2.0", + "sudo-prompt": "^9.0.0", + "wcwidth": "^1.0.1", + "yaml": "^2.2.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" + }, + "ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "requires": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" + } + } + }, + "sudo-prompt": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz", + "integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@react-native-community/cli-hermes": { + "version": "11.3.7", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-11.3.7.tgz", + "integrity": "sha512-chkKd8n/xeZkinRvtH6QcYA8rjNOKU3S3Lw/3Psxgx+hAYV0Gyk95qJHTalx7iu+PwjOOqqvCkJo5jCkYLkoqw==", + "requires": { + "@react-native-community/cli-platform-android": "11.3.7", + "@react-native-community/cli-tools": "11.3.7", + "chalk": "^4.1.2", + "hermes-profile-transformer": "^0.0.6", + "ip": "^1.1.5" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@react-native-community/cli-platform-android": { + "version": "11.3.7", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-11.3.7.tgz", + "integrity": "sha512-WGtXI/Rm178UQb8bu1TAeFC/RJvYGnbHpULXvE20GkmeJ1HIrMjkagyk6kkY3Ej25JAP2R878gv+TJ/XiRhaEg==", + "requires": { + "@react-native-community/cli-tools": "11.3.7", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "glob": "^7.1.3", + "logkitty": "^0.7.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@react-native-community/cli-platform-ios": { + "version": "11.3.7", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-11.3.7.tgz", + "integrity": "sha512-Z/8rseBput49EldX7MogvN6zJlWzZ/4M97s2P+zjS09ZoBU7I0eOKLi0N9wx+95FNBvGQQ/0P62bB9UaFQH2jw==", + "requires": { + "@react-native-community/cli-tools": "11.3.7", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "fast-xml-parser": "^4.0.12", + "glob": "^7.1.3", + "ora": "^5.4.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" + }, + "ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "requires": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@react-native-community/cli-plugin-metro": { + "version": "11.3.7", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-11.3.7.tgz", + "integrity": "sha512-0WhgoBVGF1f9jXcuagQmtxpwpfP+2LbLZH4qMyo6OtYLWLG13n2uRep+8tdGzfNzl1bIuUTeE9yZSAdnf9LfYQ==", + "requires": { + "@react-native-community/cli-server-api": "11.3.7", + "@react-native-community/cli-tools": "11.3.7", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "metro": "0.76.8", + "metro-config": "0.76.8", + "metro-core": "0.76.8", + "metro-react-native-babel-transformer": "0.76.8", + "metro-resolver": "0.76.8", + "metro-runtime": "0.76.8", + "readline": "^1.3.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@react-native-community/cli-server-api": { + "version": "11.3.7", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-11.3.7.tgz", + "integrity": "sha512-yoFyGdvR3HxCnU6i9vFqKmmSqFzCbnFSnJ29a+5dppgPRetN+d//O8ard/YHqHzToFnXutAFf2neONn23qcJAg==", + "requires": { + "@react-native-community/cli-debugger-ui": "11.3.7", + "@react-native-community/cli-tools": "11.3.7", + "compression": "^1.7.1", + "connect": "^3.6.5", + "errorhandler": "^1.5.1", + "nocache": "^3.0.1", + "pretty-format": "^26.6.2", + "serve-static": "^1.13.1", + "ws": "^7.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "15.0.16", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.16.tgz", + "integrity": "sha512-2FeD5qezW3FvLpZ0JpfuaEWepgNLl9b2gQYiz/ce0NhoB1W/D+VZu98phITXkADYerfr/jb7JcDcVhITsc9bwg==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "requires": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + } + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "requires": {} + } + } + }, + "@react-native-community/cli-tools": { + "version": "11.3.7", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-11.3.7.tgz", + "integrity": "sha512-peyhP4TV6Ps1hk+MBHTFaIR1eI3u+OfGBvr5r0wPwo3FAJvldRinMgcB/TcCcOBXVORu7ba1XYjkubPeYcqAyA==", + "requires": { + "appdirsjs": "^1.2.4", + "chalk": "^4.1.2", + "find-up": "^5.0.0", + "mime": "^2.4.1", + "node-fetch": "^2.6.0", + "open": "^6.2.0", + "ora": "^5.4.1", + "semver": "^7.5.2", + "shell-quote": "^1.7.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==" + }, + "open": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", + "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", + "requires": { + "is-wsl": "^1.1.0" + } + }, + "ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "requires": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@react-native-community/cli-types": { + "version": "11.3.7", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-11.3.7.tgz", + "integrity": "sha512-OhSr/TiDQkXjL5YOs8+hvGSB+HltLn5ZI0+A3DCiMsjUgTTsYh+Z63OtyMpNjrdCEFcg0MpfdU2uxstCS6Dc5g==", + "requires": { + "joi": "^17.2.1" + } + }, + "@react-native-community/netinfo": { + "version": "9.3.10", + "requires": {} + }, + "@react-native-community/slider": { + "version": "4.4.2" + }, + "@react-native-masked-view/masked-view": { + "version": "0.2.9", + "requires": {} + }, + "@react-native/assets-registry": { + "version": "0.72.0" + }, + "@react-native/codegen": { + "version": "0.72.7", + "requires": { + "@babel/parser": "^7.20.0", + "flow-parser": "^0.206.0", + "jscodeshift": "^0.14.0", + "nullthrows": "^1.1.1" + } + }, + "@react-native/gradle-plugin": { + "version": "0.72.11" + }, + "@react-native/js-polyfills": { + "version": "0.72.1" + }, + "@react-native/normalize-color": { + "version": "2.1.0" + }, + "@react-native/normalize-colors": { + "version": "0.72.0" + }, + "@react-native/virtualized-lists": { + "version": "0.72.8", + "requires": { + "invariant": "^2.2.4", + "nullthrows": "^1.1.1" + } + }, + "@react-navigation/bottom-tabs": { + "version": "6.5.8", + "requires": { + "@react-navigation/elements": "^1.3.18", + "color": "^4.2.3", + "warn-once": "^0.1.0" + } + }, + "@react-navigation/core": { + "version": "6.4.9", + "requires": { + "@react-navigation/routers": "^6.1.9", + "escape-string-regexp": "^4.0.0", + "nanoid": "^3.1.23", + "query-string": "^7.1.3", + "react-is": "^16.13.0", + "use-latest-callback": "^0.1.5" + } + }, + "@react-navigation/elements": { + "version": "1.3.18", + "requires": {} + }, + "@react-navigation/native": { + "version": "6.1.7", + "requires": { + "@react-navigation/core": "^6.4.9", + "escape-string-regexp": "^4.0.0", + "fast-deep-equal": "^3.1.3", + "nanoid": "^3.1.23" + } + }, + "@react-navigation/routers": { + "version": "6.1.9", + "requires": { + "nanoid": "^3.1.23" + } + }, + "@react-navigation/stack": { + "version": "6.3.17", + "requires": { + "@react-navigation/elements": "^1.3.18", + "color": "^4.2.3", + "warn-once": "^0.1.0" + } + }, + "@reduxjs/toolkit": { + "version": "1.9.7", + "requires": { + "immer": "^9.0.21", + "redux": "^4.2.1", + "redux-thunk": "^2.4.2", + "reselect": "^4.1.8" + } + }, + "@restart/hooks": { + "version": "0.4.11", + "requires": { + "dequal": "^2.0.3" + } + }, + "@rushstack/eslint-patch": { + "version": "1.5.1" + }, + "@segment/loosely-validate-event": { + "version": "2.0.0", + "requires": { + "component-type": "^1.2.1", + "join-component": "^1.1.0" + } + }, + "@shopify/flash-list": { + "version": "1.4.3", + "requires": { + "recyclerlistview": "4.2.0", + "tslib": "2.4.0" + } + }, + "@sideway/address": { + "version": "4.1.4", + "requires": { + "@hapi/hoek": "^9.0.0" + } + }, + "@sideway/formula": { + "version": "3.0.1" + }, + "@sideway/pinpoint": { + "version": "2.0.0" + }, + "@sinclair/typebox": { + "version": "0.27.8" + }, + "@sindresorhus/is": { + "version": "4.6.0" + }, + "@sinonjs/commons": { + "version": "3.0.0", + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "10.3.0", + "requires": { + "@sinonjs/commons": "^3.0.0" + } + }, + "@stickyjs/jest": { + "version": "1.3.2", + "requires": { + "@types/jest": "^29.5.4", + "jest": "29.6.4", + "jest-extended": "4.0.1", + "ts-jest": "29.1.1", + "wait-for-expect": "^3.0.2" + } + }, + "@swc/helpers": { + "version": "0.5.2", + "requires": { + "tslib": "^2.4.0" + } + }, + "@szmarczak/http-timer": { + "version": "4.0.6", + "requires": { + "defer-to-connect": "^2.0.0" + } + }, + "@tanstack/query-core": { + "version": "5.0.0-rc.12" + }, + "@tanstack/react-query": { + "version": "5.0.0-rc.12", + "requires": { + "@tanstack/query-core": "5.0.0-rc.12", + "client-only": "0.0.1" + } + }, + "@testing-library/cypress": { + "version": "8.0.7", + "dev": true, + "requires": { + "@babel/runtime": "^7.14.6", + "@testing-library/dom": "^8.1.0" + } + }, + "@testing-library/dom": { + "version": "8.20.1", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.1.3", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@testing-library/react-native": { + "version": "11.5.4", + "dev": true, + "requires": { + "pretty-format": "^29.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "dev": true + }, + "pretty-format": { + "version": "29.6.3", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + }, + "react-is": { + "version": "18.2.0", + "dev": true + } + } + }, + "@tootallnate/once": { + "version": "2.0.0", + "dev": true + }, + "@tsconfig/node10": { + "version": "1.0.9", + "devOptional": true + }, + "@tsconfig/node12": { + "version": "1.0.11", + "devOptional": true + }, + "@tsconfig/node14": { + "version": "1.0.3", + "devOptional": true + }, + "@tsconfig/node16": { + "version": "1.0.4", + "devOptional": true + }, + "@types/archiver": { + "version": "5.3.3", + "requires": { + "@types/readdir-glob": "*" + } + }, + "@types/aria-query": { + "version": "5.0.1", + "dev": true + }, + "@types/babel__core": { + "version": "7.20.1", + "requires": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.4", + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.1", + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.20.1", + "requires": { + "@babel/types": "^7.20.7" + } + }, + "@types/cacheable-request": { + "version": "6.0.3", + "requires": { + "@types/http-cache-semantics": "*", + "@types/keyv": "^3.1.4", + "@types/node": "*", + "@types/responselike": "^1.0.0" + } + }, + "@types/docker-modem": { + "version": "3.0.4", + "requires": { + "@types/node": "*", + "@types/ssh2": "*" + } + }, + "@types/dockerode": { + "version": "3.3.20", + "requires": { + "@types/docker-modem": "*", + "@types/node": "*" + } + }, + "@types/eslint": { + "version": "8.44.2", + "devOptional": true, + "peer": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.4", + "dev": true, + "peer": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "1.0.1", + "devOptional": true, + "peer": true + }, + "@types/find-in-files": { + "version": "0.5.1", + "dev": true + }, + "@types/graceful-fs": { + "version": "4.1.6", + "requires": { + "@types/node": "*" + } + }, + "@types/hammerjs": { + "version": "2.0.41" + }, + "@types/hoist-non-react-statics": { + "version": "3.3.1", + "requires": { + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" + } + }, + "@types/http-cache-semantics": { + "version": "4.0.1" + }, + "@types/i18n-js": { + "version": "3.8.4", + "dev": true + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.4" + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.1", + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "29.5.4", + "requires": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0" + }, + "pretty-format": { + "version": "29.6.3", + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + }, + "react-is": { + "version": "18.2.0" + } + } + }, + "@types/jsdom": { + "version": "20.0.1", + "dev": true, + "requires": { + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" + } + }, + "@types/json-schema": { + "version": "7.0.12" + }, + "@types/json5": { + "version": "0.0.29" + }, + "@types/keyv": { + "version": "3.1.4", + "requires": { + "@types/node": "*" + } + }, + "@types/lodash": { + "version": "4.14.197", + "dev": true + }, + "@types/lossless-json": { + "version": "1.0.2" + }, + "@types/minimist": { + "version": "1.2.2" + }, + "@types/node": { + "version": "20.5.1" + }, + "@types/normalize-package-data": { + "version": "2.4.1" + }, + "@types/nprogress": { + "version": "0.2.1" + }, + "@types/parse-json": { + "version": "4.0.0" + }, + "@types/prop-types": { + "version": "15.7.5" + }, + "@types/qs": { + "version": "6.9.7" + }, + "@types/randomcolor": { + "version": "0.5.7", + "dev": true + }, + "@types/react": { + "version": "18.2.28", + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-dom": { + "version": "18.2.13", + "requires": { + "@types/react": "*" + } + }, + "@types/react-native": { + "version": "0.72.2", + "devOptional": true, + "requires": { + "@react-native/virtualized-lists": "^0.72.4", + "@types/react": "*" + } + }, + "@types/react-native-loading-spinner-overlay": { + "version": "0.5.3", + "dev": true, + "requires": { + "@types/react": "*", + "@types/react-native": "*" + } + }, + "@types/react-test-renderer": { + "version": "18.0.0", + "dev": true, + "requires": { + "@types/react": "*" + } + }, + "@types/readdir-glob": { + "version": "1.1.2", + "requires": { + "@types/node": "*" + } + }, + "@types/responselike": { + "version": "1.0.0", + "requires": { + "@types/node": "*" + } + }, + "@types/scheduler": { + "version": "0.16.3" + }, + "@types/semver": { + "version": "7.5.0" + }, + "@types/sinonjs__fake-timers": { + "version": "8.1.1", + "dev": true + }, + "@types/sizzle": { + "version": "2.3.3", + "dev": true + }, + "@types/ssh2": { + "version": "1.11.14", + "requires": { + "@types/node": "^18.11.18" + }, + "dependencies": { + "@types/node": { + "version": "18.18.5" + } + } + }, + "@types/ssh2-streams": { + "version": "0.1.10", + "requires": { + "@types/node": "*" + } + }, + "@types/stack-utils": { + "version": "2.0.1" + }, + "@types/tar-fs": { + "version": "2.0.2", + "peer": true, + "requires": { + "@types/node": "*", + "@types/tar-stream": "*" + } + }, + "@types/tar-stream": { + "version": "3.1.1", + "peer": true, + "requires": { + "@types/node": "*" + } + }, + "@types/tough-cookie": { + "version": "4.0.2", + "dev": true + }, + "@types/use-sync-external-store": { + "version": "0.0.3" + }, + "@types/warning": { + "version": "3.0.0" + }, + "@types/yargs": { + "version": "17.0.24", + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "21.0.0" + }, + "@types/yauzl": { + "version": "2.10.0", + "optional": true, + "requires": { + "@types/node": "*" + } + }, + "@typescript-eslint/eslint-plugin": { + "version": "6.4.1", + "peer": true, + "requires": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.4.1", + "@typescript-eslint/type-utils": "6.4.1", + "@typescript-eslint/utils": "6.4.1", + "@typescript-eslint/visitor-keys": "6.4.1", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + } + }, + "@typescript-eslint/parser": { + "version": "6.4.1", + "requires": { + "@typescript-eslint/scope-manager": "6.4.1", + "@typescript-eslint/types": "6.4.1", + "@typescript-eslint/typescript-estree": "6.4.1", + "@typescript-eslint/visitor-keys": "6.4.1", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "6.4.1", + "requires": { + "@typescript-eslint/types": "6.4.1", + "@typescript-eslint/visitor-keys": "6.4.1" + } + }, + "@typescript-eslint/type-utils": { + "version": "6.4.1", + "peer": true, + "requires": { + "@typescript-eslint/typescript-estree": "6.4.1", + "@typescript-eslint/utils": "6.4.1", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + } + }, + "@typescript-eslint/types": { + "version": "6.4.1" + }, + "@typescript-eslint/typescript-estree": { + "version": "6.4.1", + "requires": { + "@typescript-eslint/types": "6.4.1", + "@typescript-eslint/visitor-keys": "6.4.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "dependencies": { + "globby": { + "version": "11.1.0", + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + } + } + }, + "@typescript-eslint/utils": { + "version": "6.4.1", + "peer": true, + "requires": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.4.1", + "@typescript-eslint/types": "6.4.1", + "@typescript-eslint/typescript-estree": "6.4.1", + "semver": "^7.5.4" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "6.4.1", + "requires": { + "@typescript-eslint/types": "6.4.1", + "eslint-visitor-keys": "^3.4.1" + } + }, + "@urql/core": { + "version": "2.3.6", + "requires": { + "@graphql-typed-document-node/core": "^3.1.0", + "wonka": "^4.0.14" + } + }, + "@urql/exchange-retry": { + "version": "0.3.0", + "requires": { + "@urql/core": ">=2.3.1", + "wonka": "^4.0.14" + } + }, + "@waveshq/standard-defichain-jellyfishsdk": { + "version": "2.14.0", + "requires": { + "@defichain/jellyfish-address": "4.0.0-beta.14.1", + "@defichain/jellyfish-api-core": "4.0.0-beta.14.1", + "@defichain/jellyfish-network": "4.0.0-beta.14.1", + "@defichain/jellyfish-testing": "4.0.0-beta.14.1", + "@defichain/jellyfish-transaction": "4.0.0-beta.14.1", + "@defichain/jellyfish-transaction-builder": "4.0.0-beta.14.1", + "@defichain/jellyfish-wallet": "4.0.0-beta.14.1", + "@defichain/jellyfish-wallet-encrypted": "4.0.0-beta.14.1", + "@defichain/jellyfish-wallet-mnemonic": "4.0.0-beta.14.1", + "@defichain/playground-api-client": "4.0.0-beta.14.1", + "@defichain/testcontainers": "4.0.0-beta.14.1", + "@defichain/whale-api-client": "4.0.0-beta.14.1", + "@defichain/whale-api-wallet": "4.0.0-beta.14.1", + "defichain": "4.0.0-beta.14.1" + } + }, + "@waveshq/standard-web": { + "version": "2.14.0", + "requires": { + "@netlify/ipx": "^1.4.5", + "@reduxjs/toolkit": "^1.9.7", + "@tanstack/react-query": "^5.0.0-rc.12", + "@types/react": "18.2.28", + "@types/react-dom": "18.2.13", + "follow-redirects": "^1.15.3", + "next": "13.5.4", + "next-sitemap": "^4.2.3", + "nextjs-progressbar": "^0.0.16", + "react": "18.2.0", + "react-dom": "18.2.0", + "react-icons": "^4.11.0", + "react-redux": "^8.1.3", + "react-responsive": "^9.0.2", + "typescript": "*" + } + }, + "@waveshq/standard-web-linter": { + "version": "2.14.0", + "requires": { + "eslint": "^8.51.0", + "eslint-config-airbnb": "^19.0.4", + "eslint-config-airbnb-typescript": "^17.1.0", + "eslint-config-next": "13.5.4", + "eslint-config-prettier": "^9.0.0", + "eslint-plugin-cypress": "^2.15.1", + "eslint-plugin-import": "^2.28.1", + "eslint-plugin-jsx-a11y": "^6.7.1", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-prettier": "^5.0.1", + "eslint-plugin-react": "^7.33.2", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-simple-import-sort": "^10.0.0", + "husky": "^8.0.3", + "lint-staged": "^14.0.1", + "next": "13.5.4", + "prettier": "^3.0.3", + "typescript": "^5.2.2" + } + }, + "@waveshq/walletkit-core": { + "version": "1.3.7", + "requires": { + "bignumber.js": "^9.1.2", + "ethers": "^5.7.2" + } + }, + "@waveshq/walletkit-ui": { + "version": "1.3.7", + "requires": { + "@stickyjs/jest": "^1.3.2", + "@waveshq/standard-defichain-jellyfishsdk": "^2.14.0", + "@waveshq/standard-web": "^2.14.0", + "@waveshq/standard-web-linter": "^2.14.0", + "@waveshq/walletkit-core": "1.3.7", + "bignumber.js": "^9.1.2", + "dayjs": "^1.11.10", + "immer": "^9.0.21", + "reselect": "^4.1.8", + "smart-buffer": "^4.2.0" + }, + "dependencies": { + "dayjs": { + "version": "1.11.10" + } + } + }, + "@webassemblyjs/ast": { + "version": "1.11.6", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "dev": true, + "peer": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "dev": true, + "peer": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "dev": true, + "peer": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "dev": true, + "peer": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.6", + "dev": true, + "peer": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.6", + "dev": true, + "peer": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.6", + "dev": true, + "peer": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.6", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@xmldom/xmldom": { + "version": "0.7.13" + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "dev": true, + "peer": true + }, + "@xtuc/long": { + "version": "4.2.2", + "dev": true, + "peer": true + }, + "abab": { + "version": "2.0.6", + "dev": true + }, + "abort-controller": { + "version": "3.0.0", + "requires": { + "event-target-shim": "^5.0.0" + } + }, + "abs-svg-path": { + "version": "0.1.1" + }, + "accepts": { + "version": "1.3.8", + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "acorn": { + "version": "8.10.0" + }, + "acorn-globals": { + "version": "7.0.1", + "dev": true, + "requires": { + "acorn": "^8.1.0", + "acorn-walk": "^8.0.2" + } + }, + "acorn-import-assertions": { + "version": "1.9.0", + "dev": true, + "peer": true, + "requires": {} + }, + "acorn-jsx": { + "version": "5.3.2", + "requires": {} + }, + "acorn-node": { + "version": "1.8.2", + "requires": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + }, + "dependencies": { + "acorn": { + "version": "7.4.1" + }, + "acorn-walk": { + "version": "7.2.0" + } + } + }, + "acorn-walk": { + "version": "8.2.0", + "devOptional": true + }, + "add-stream": { + "version": "1.0.0", + "dev": true + }, + "address": { + "version": "1.2.2", + "dev": true + }, + "aes-js": { + "version": "4.0.0-beta.5" + }, + "agent-base": { + "version": "6.0.2", + "requires": { + "debug": "4" + } + }, + "aggregate-error": { + "version": "3.1.0", + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "6.12.6", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-formats": { + "version": "2.1.1", + "dev": true, + "peer": true, + "requires": { + "ajv": "^8.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "dev": true, + "peer": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "dev": true, + "peer": true + } + } + }, + "ajv-keywords": { + "version": "3.5.2", + "dev": true, + "requires": {} + }, + "anser": { + "version": "1.4.10" + }, + "ansi-align": { + "version": "2.0.0", + "requires": { + "string-width": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.1" + }, + "is-fullwidth-code-point": { + "version": "2.0.0" + }, + "string-width": { + "version": "2.1.1", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "ansi-colors": { + "version": "4.1.3", + "devOptional": true + }, + "ansi-escapes": { + "version": "4.3.2", + "requires": { + "type-fest": "^0.21.3" + } + }, + "ansi-fragments": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansi-fragments/-/ansi-fragments-0.2.1.tgz", + "integrity": "sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==", + "requires": { + "colorette": "^1.0.7", + "slice-ansi": "^2.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==" + }, + "colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "ansi-regex": { + "version": "5.0.1" + }, + "ansi-styles": { + "version": "3.2.1", + "requires": { + "color-convert": "^1.9.0" + } + }, + "any-base": { + "version": "1.1.0", + "dev": true + }, + "any-promise": { + "version": "1.3.0" + }, + "anymatch": { + "version": "3.1.3", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "appdirsjs": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/appdirsjs/-/appdirsjs-1.2.7.tgz", + "integrity": "sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==" + }, + "append-transform": { + "version": "2.0.0", + "dev": true, + "requires": { + "default-require-extensions": "^3.0.0" + } + }, + "application-config-path": { + "version": "0.1.1" + }, + "arch": { + "version": "2.2.0" + }, + "archiver": { + "version": "5.3.2", + "requires": { + "archiver-utils": "^2.1.0", + "async": "^3.2.4", + "buffer-crc32": "^0.2.1", + "readable-stream": "^3.6.0", + "readdir-glob": "^1.1.2", + "tar-stream": "^2.2.0", + "zip-stream": "^4.1.0" + } + }, + "archiver-utils": { + "version": "2.1.0", + "requires": { + "glob": "^7.1.4", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^2.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0" + }, + "readable-stream": { + "version": "2.3.8", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2" + }, + "string_decoder": { + "version": "1.1.1", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "archy": { + "version": "1.0.0", + "dev": true + }, + "arg": { + "version": "4.1.3", + "devOptional": true + }, + "argparse": { + "version": "2.0.1" + }, + "aria-query": { + "version": "5.1.3", + "requires": { + "deep-equal": "^2.0.5" + } + }, + "array-buffer-byte-length": { + "version": "1.0.0", + "requires": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + } + }, + "array-ify": { + "version": "1.0.0", + "dev": true + }, + "array-includes": { + "version": "3.1.6", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + } + }, + "array-union": { + "version": "2.1.0" + }, + "array.prototype.findlastindex": { + "version": "1.2.2", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" + } + }, + "array.prototype.flat": { + "version": "1.3.1", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.flatmap": { + "version": "1.3.1", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.tosorted": { + "version": "1.1.1", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" + } + }, + "arraybuffer.prototype.slice": { + "version": "1.0.1", + "requires": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + } + }, + "arrify": { + "version": "1.0.1" + }, + "asap": { + "version": "2.0.6" + }, + "asn1": { + "version": "0.2.6", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "5.4.1", + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0" + } + } + }, + "assert-plus": { + "version": "1.0.0", + "dev": true + }, + "ast-types": { + "version": "0.15.2", + "requires": { + "tslib": "^2.0.1" + } + }, + "ast-types-flow": { + "version": "0.0.7" + }, + "astral-regex": { + "version": "2.0.0", + "dev": true + }, + "async": { + "version": "3.2.4" + }, + "async-limiter": { + "version": "1.0.1" + }, + "async-lock": { + "version": "1.4.0" + }, + "asynciterator.prototype": { + "version": "1.0.0", + "requires": { + "has-symbols": "^1.0.3" + } + }, + "asynckit": { + "version": "0.4.0" + }, + "at-least-node": { + "version": "1.0.0" + }, + "atob": { + "version": "2.1.2" + }, + "autoprefixer": { + "version": "10.4.15", + "peer": true, + "requires": { + "browserslist": "^4.21.10", + "caniuse-lite": "^1.0.30001520", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "available-typed-arrays": { + "version": "1.0.5" + }, + "aws-sign2": { + "version": "0.7.0", + "dev": true + }, + "aws4": { + "version": "1.12.0", + "dev": true + }, + "axe-core": { + "version": "4.7.2" + }, + "axios": { + "version": "0.25.0", + "dev": true, + "requires": { + "follow-redirects": "^1.14.7" + } + }, + "axobject-query": { + "version": "3.2.1", + "requires": { + "dequal": "^2.0.3" + } + }, + "b4a": { + "version": "1.6.4" + }, + "babel-core": { + "version": "7.0.0-bridge.0", + "requires": {} + }, + "babel-eslint": { + "version": "10.1.0", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.0", + "@babel/traverse": "^7.7.0", + "@babel/types": "^7.7.0", + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "dev": true + } + } + }, + "babel-jest": { + "version": "29.6.4", + "requires": { + "@jest/transform": "^29.6.4", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "babel-loader": { + "version": "9.1.3", + "dev": true, + "peer": true, + "requires": { + "find-cache-dir": "^4.0.0", + "schema-utils": "^4.0.0" + } + }, + "babel-plugin-istanbul": { + "version": "6.1.1", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "29.6.3", + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-plugin-module-resolver": { + "version": "5.0.0", + "requires": { + "find-babel-config": "^2.0.0", + "glob": "^8.0.3", + "pkg-up": "^3.1.0", + "reselect": "^4.1.7", + "resolve": "^1.22.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "glob": { + "version": "8.1.0", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + } + }, + "minimatch": { + "version": "5.1.6", + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.4.5", + "requires": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.2", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1" + } + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.8.3", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.4.2", + "core-js-compat": "^3.31.0" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.5.2", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.4.2" + } + }, + "babel-plugin-react-native-web": { + "version": "0.18.12" + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "7.0.0-beta.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz", + "integrity": "sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==" + }, + "babel-plugin-transform-flow-enums": { + "version": "0.0.2", + "requires": { + "@babel/plugin-syntax-flow": "^7.12.1" + } + }, + "babel-plugin-transform-remove-console": { + "version": "6.9.4", + "dev": true + }, + "babel-preset-current-node-syntax": { + "version": "1.0.1", + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + } + }, + "babel-preset-expo": { + "version": "9.5.1", + "requires": { + "@babel/plugin-proposal-decorators": "^7.12.9", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-object-rest-spread": "^7.12.13", + "@babel/plugin-transform-react-jsx": "^7.12.17", + "@babel/preset-env": "^7.20.0", + "babel-plugin-module-resolver": "^5.0.0", + "babel-plugin-react-native-web": "~0.18.10", + "metro-react-native-babel-preset": "0.76.7" + } + }, + "babel-preset-fbjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.4.0.tgz", + "integrity": "sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==", + "requires": { + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-syntax-class-properties": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoped-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-member-expression-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-super": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-property-literals": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "babel-plugin-syntax-trailing-function-commas": "^7.0.0-beta.0" + } + }, + "babel-preset-jest": { + "version": "29.6.3", + "requires": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "balanced-match": { + "version": "1.0.2" + }, + "base-64": { + "version": "1.0.0" + }, + "base-x": { + "version": "3.0.9", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "base64-js": { + "version": "1.5.1" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bech32": { + "version": "2.0.0" + }, + "better-opn": { + "version": "3.0.2", + "requires": { + "open": "^8.0.4" + } + }, + "big-integer": { + "version": "1.6.51" + }, + "bignumber.js": { + "version": "9.1.2" + }, + "binary-extensions": { + "version": "2.2.0" + }, + "bindings": { + "version": "1.5.0", + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "bip32": { + "version": "2.0.6", + "requires": { + "@types/node": "10.12.18", + "bs58check": "^2.1.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "tiny-secp256k1": "^1.1.3", + "typeforce": "^1.11.5", + "wif": "^2.0.6" + }, + "dependencies": { + "@types/node": { + "version": "10.12.18" + } + } + }, + "bip39": { + "version": "3.1.0", + "requires": { + "@noble/hashes": "^1.2.0" + } + }, + "bip66": { + "version": "1.1.5", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "bl": { + "version": "4.1.0", + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + } + } + }, + "blob-util": { + "version": "2.0.2", + "dev": true + }, + "bluebird": { + "version": "3.7.1", + "dev": true + }, + "blueimp-md5": { + "version": "2.19.0" + }, + "bmp-js": { + "version": "0.1.0", + "dev": true + }, + "bn.js": { + "version": "5.2.1" + }, + "body-parser": { + "version": "1.20.2", + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0" + }, + "qs": { + "version": "6.11.0", + "requires": { + "side-channel": "^1.0.4" + } + } + } + }, + "boolbase": { + "version": "1.0.0" + }, + "boolean": { + "version": "3.2.0", + "optional": true + }, + "boxen": { + "version": "1.3.0", + "requires": { + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^2.0.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.1" + }, + "camelcase": { + "version": "4.1.0" + }, + "is-fullwidth-code-point": { + "version": "2.0.0" + }, + "string-width": { + "version": "2.1.1", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "bplist-creator": { + "version": "0.1.0", + "requires": { + "stream-buffers": "2.2.x" + } + }, + "bplist-parser": { + "version": "0.3.2", + "requires": { + "big-integer": "1.6.x" + } + }, + "brace-expansion": { + "version": "1.1.11", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "requires": { + "fill-range": "^7.0.1" + } + }, + "brorand": { + "version": "1.1.0" + }, + "browserify-aes": { + "version": "1.2.0", + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.1.0", + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.2.1", + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, + "browserslist": { + "version": "4.21.10", + "requires": { + "caniuse-lite": "^1.0.30001517", + "electron-to-chromium": "^1.4.477", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.11" + } + }, + "bs-logger": { + "version": "0.2.6", + "requires": { + "fast-json-stable-stringify": "2.x" + } + }, + "bs58": { + "version": "4.0.1", + "requires": { + "base-x": "^3.0.2" + } + }, + "bs58check": { + "version": "2.1.2", + "requires": { + "bs58": "^4.0.0", + "create-hash": "^1.1.0", + "safe-buffer": "^5.1.2" + } + }, + "bser": { + "version": "2.1.1", + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer": { + "version": "6.0.3", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "buffer-alloc": { + "version": "1.2.0", + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0" + }, + "buffer-crc32": { + "version": "0.2.13" + }, + "buffer-equal": { + "version": "0.0.1", + "dev": true + }, + "buffer-fill": { + "version": "1.0.0" + }, + "buffer-from": { + "version": "1.1.2" + }, + "buffer-xor": { + "version": "1.0.3" + }, + "buildcheck": { + "version": "0.0.6", + "optional": true + }, + "builtin-status-codes": { + "version": "3.0.0" + }, + "builtins": { + "version": "1.0.3" + }, + "bundle-name": { + "version": "3.0.0", + "requires": { + "run-applescript": "^5.0.0" + } + }, + "busboy": { + "version": "1.6.0", + "requires": { + "streamsearch": "^1.1.0" + } + }, + "byline": { + "version": "5.0.0" + }, + "bytes": { + "version": "3.1.2" + }, + "cacache": { + "version": "15.3.0", + "requires": { + "@npmcli/fs": "^1.0.0", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "requires": { + "yallist": "^4.0.0" + } + }, + "mkdirp": { + "version": "1.0.4" + }, + "rimraf": { + "version": "3.0.2", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "cacheable-lookup": { + "version": "5.0.4" + }, + "cacheable-request": { + "version": "7.0.4", + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + }, + "dependencies": { + "normalize-url": { + "version": "6.1.0" + } + } + }, + "cachedir": { + "version": "2.4.0", + "dev": true + }, + "caching-transform": { + "version": "4.0.0", + "dev": true, + "requires": { + "hasha": "^5.0.0", + "make-dir": "^3.0.0", + "package-hash": "^4.0.0", + "write-file-atomic": "^3.0.0" + }, + "dependencies": { + "make-dir": { + "version": "3.1.0", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "semver": { + "version": "6.3.1", + "dev": true + }, + "write-file-atomic": { + "version": "3.0.3", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + } + } + }, + "call-bind": { + "version": "1.0.2", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", + "requires": { + "callsites": "^2.0.0" + }, + "dependencies": { + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==" + } + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsites": { + "version": "3.1.0" + }, + "camelcase": { + "version": "5.3.1" + }, + "camelcase-css": { + "version": "2.0.1" + }, + "camelcase-keys": { + "version": "6.2.2", + "requires": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + }, + "dependencies": { + "quick-lru": { + "version": "4.0.1" + } + } + }, + "camelize": { + "version": "1.0.1" + }, + "caniuse-lite": { + "version": "1.0.30001522" + }, + "capture-stack-trace": { + "version": "1.0.2" + }, + "caseless": { + "version": "0.12.0", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "1.0.5" + } + } + }, + "char-regex": { + "version": "1.0.2" + }, + "chardet": { + "version": "0.7.0", + "dev": true + }, + "charenc": { + "version": "0.0.2" + }, + "check-more-types": { + "version": "2.24.0", + "dev": true + }, + "chokidar": { + "version": "3.5.3", + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "chownr": { + "version": "2.0.0" + }, + "chrome-trace-event": { + "version": "1.0.3", + "dev": true, + "peer": true + }, + "ci-info": { + "version": "3.8.0" + }, + "cipher-base": { + "version": "1.0.4", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "citty": { + "version": "0.1.4", + "requires": { + "consola": "^3.2.3" + } + }, + "cjs-module-lexer": { + "version": "1.2.3" + }, + "classnames": { + "version": "2.3.2" + }, + "clean-stack": { + "version": "2.2.0" + }, + "cli-boxes": { + "version": "1.0.0" + }, + "cli-cursor": { + "version": "3.1.0", + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-spinners": { + "version": "2.9.0" + }, + "cli-table3": { + "version": "0.6.3", + "dev": true, + "requires": { + "@colors/colors": "1.5.0", + "string-width": "^4.2.0" + } + }, + "cli-truncate": { + "version": "2.1.0", + "dev": true, + "requires": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + } + }, + "cli-width": { + "version": "3.0.0", + "dev": true + }, + "client-only": { + "version": "0.0.1" + }, + "clipboardy": { + "version": "3.0.0", + "requires": { + "arch": "^2.2.0", + "execa": "^5.1.1", + "is-wsl": "^2.2.0" + }, + "dependencies": { + "execa": { + "version": "5.1.1", + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "6.0.1" + }, + "human-signals": { + "version": "2.1.0" + } + } + }, + "cliui": { + "version": "8.0.1", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + } + }, + "clone": { + "version": "2.1.2" + }, + "clone-deep": { + "version": "4.0.1", + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "clone-response": { + "version": "1.0.3", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "cluster-key-slot": { + "version": "1.1.2" + }, + "co": { + "version": "4.6.0" + }, + "collect-v8-coverage": { + "version": "1.0.2" + }, + "color": { + "version": "4.2.3", + "requires": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "dependencies": { + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + } + } + }, + "color-convert": { + "version": "1.9.3", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3" + }, + "color-string": { + "version": "1.9.1", + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "colorette": { + "version": "2.0.20" + }, + "colors": { + "version": "1.4.0", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "command-exists": { + "version": "1.2.9" + }, + "commander": { + "version": "5.1.0", + "dev": true + }, + "common-path-prefix": { + "version": "3.0.0", + "dev": true, + "peer": true + }, + "common-tags": { + "version": "1.8.2", + "dev": true + }, + "commondir": { + "version": "1.0.1" + }, + "compare-func": { + "version": "2.0.0", + "dev": true, + "requires": { + "array-ify": "^1.0.0", + "dot-prop": "^5.1.0" + } + }, + "compare-urls": { + "version": "2.0.0", + "requires": { + "normalize-url": "^2.0.1" + } + }, + "compare-versions": { + "version": "3.6.0" + }, + "component-type": { + "version": "1.2.1" + }, + "compress-commons": { + "version": "4.1.2", + "requires": { + "buffer-crc32": "^0.2.13", + "crc32-stream": "^4.0.2", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + } + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "concat-map": { + "version": "0.0.1" + }, + "concat-stream": { + "version": "2.0.0", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "configstore": { + "version": "3.1.5", + "requires": { + "dot-prop": "^4.2.1", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" + }, + "dependencies": { + "crypto-random-string": { + "version": "1.0.0" + }, + "dot-prop": { + "version": "4.2.1", + "requires": { + "is-obj": "^1.0.0" + } + }, + "is-obj": { + "version": "1.0.1" + }, + "make-dir": { + "version": "1.3.0", + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0" + }, + "unique-string": { + "version": "1.0.0", + "requires": { + "crypto-random-string": "^1.0.0" + } + } + } + }, + "confusing-browser-globals": { + "version": "1.0.11" + }, + "connect": { + "version": "3.7.0", + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0" + } + } + }, + "consola": { + "version": "3.2.3" + }, + "content-type": { + "version": "1.0.5" + }, + "conventional-changelog": { + "version": "3.1.25", + "dev": true, + "requires": { + "conventional-changelog-angular": "^5.0.12", + "conventional-changelog-atom": "^2.0.8", + "conventional-changelog-codemirror": "^2.0.8", + "conventional-changelog-conventionalcommits": "^4.5.0", + "conventional-changelog-core": "^4.2.1", + "conventional-changelog-ember": "^2.0.9", + "conventional-changelog-eslint": "^3.0.9", + "conventional-changelog-express": "^2.0.6", + "conventional-changelog-jquery": "^3.0.11", + "conventional-changelog-jshint": "^2.0.9", + "conventional-changelog-preset-loader": "^2.3.4" + } + }, + "conventional-changelog-angular": { + "version": "5.0.13", + "dev": true, + "requires": { + "compare-func": "^2.0.0", + "q": "^1.5.1" + } + }, + "conventional-changelog-atom": { + "version": "2.0.8", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-codemirror": { + "version": "2.0.8", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-config-spec": { + "version": "2.1.0", + "dev": true + }, + "conventional-changelog-conventionalcommits": { + "version": "4.6.3", + "dev": true, + "requires": { + "compare-func": "^2.0.0", + "lodash": "^4.17.15", + "q": "^1.5.1" + } + }, + "conventional-changelog-core": { + "version": "4.2.4", + "dev": true, + "requires": { + "add-stream": "^1.0.0", + "conventional-changelog-writer": "^5.0.0", + "conventional-commits-parser": "^3.2.0", + "dateformat": "^3.0.0", + "get-pkg-repo": "^4.0.0", + "git-raw-commits": "^2.0.8", + "git-remote-origin-url": "^2.0.0", + "git-semver-tags": "^4.1.1", + "lodash": "^4.17.15", + "normalize-package-data": "^3.0.0", + "q": "^1.5.1", + "read-pkg": "^3.0.0", + "read-pkg-up": "^3.0.0", + "through2": "^4.0.0" + }, + "dependencies": { + "through2": { + "version": "4.0.2", + "dev": true, + "requires": { + "readable-stream": "3" + } + } + } + }, + "conventional-changelog-ember": { + "version": "2.0.9", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-eslint": { + "version": "3.0.9", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-express": { + "version": "2.0.6", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-jquery": { + "version": "3.0.11", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-jshint": { + "version": "2.0.9", + "dev": true, + "requires": { + "compare-func": "^2.0.0", + "q": "^1.5.1" + } + }, + "conventional-changelog-preset-loader": { + "version": "2.3.4", + "dev": true + }, + "conventional-changelog-writer": { + "version": "5.0.1", + "dev": true, + "requires": { + "conventional-commits-filter": "^2.0.7", + "dateformat": "^3.0.0", + "handlebars": "^4.7.7", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "semver": "^6.0.0", + "split": "^1.0.0", + "through2": "^4.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "dev": true + }, + "through2": { + "version": "4.0.2", + "dev": true, + "requires": { + "readable-stream": "3" + } + } + } + }, + "conventional-commits-filter": { + "version": "2.0.7", + "dev": true, + "requires": { + "lodash.ismatch": "^4.4.0", + "modify-values": "^1.0.0" + } + }, + "conventional-commits-parser": { + "version": "3.2.4", + "dev": true, + "requires": { + "is-text-path": "^1.0.1", + "JSONStream": "^1.0.4", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "dependencies": { + "through2": { + "version": "4.0.2", + "dev": true, + "requires": { + "readable-stream": "3" + } + } + } + }, + "conventional-recommended-bump": { + "version": "6.1.0", + "dev": true, + "requires": { + "concat-stream": "^2.0.0", + "conventional-changelog-preset-loader": "^2.3.4", + "conventional-commits-filter": "^2.0.7", + "conventional-commits-parser": "^3.2.0", + "git-raw-commits": "^2.0.8", + "git-semver-tags": "^4.1.1", + "meow": "^8.0.0", + "q": "^1.5.1" + } + }, + "convert-source-map": { + "version": "1.9.0" + }, + "cookie-es": { + "version": "1.0.0" + }, + "core-js-compat": { + "version": "3.32.1", + "requires": { + "browserslist": "^4.21.10" + } + }, + "core-util-is": { + "version": "1.0.2" + }, + "cosmiconfig": { + "version": "6.0.0", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "dependencies": { + "yaml": { + "version": "1.10.2", + "dev": true + } + } + }, + "cpu-features": { + "version": "0.0.9", + "optional": true, + "requires": { + "buildcheck": "~0.0.6", + "nan": "^2.17.0" + } + }, + "crc-32": { + "version": "1.2.2" + }, + "crc32-stream": { + "version": "4.0.3", + "requires": { + "crc-32": "^1.2.0", + "readable-stream": "^3.4.0" + } + }, + "create-ecdh": { + "version": "4.0.4", + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0" + } + } + }, + "create-error-class": { + "version": "3.0.2", + "requires": { + "capture-stack-trace": "^1.0.0" + } + }, + "create-hash": { + "version": "1.2.0", + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "create-require": { + "version": "1.1.1", + "devOptional": true + }, + "cross-fetch": { + "version": "3.1.8", + "requires": { + "node-fetch": "^2.6.12" + } + }, + "cross-spawn": { + "version": "7.0.3", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "crypt": { + "version": "0.0.2" + }, + "crypto-browserify": { + "version": "3.12.0", + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "crypto-random-string": { + "version": "2.0.0" + }, + "css": { + "version": "2.2.4", + "requires": { + "inherits": "^2.0.3", + "source-map": "^0.6.1", + "source-map-resolve": "^0.5.2", + "urix": "^0.1.0" + } + }, + "css-color-keywords": { + "version": "1.0.0" + }, + "css-color-names": { + "version": "0.0.4" + }, + "css-in-js-utils": { + "version": "3.1.0", + "requires": { + "hyphenate-style-name": "^1.0.3" + } + }, + "css-mediaquery": { + "version": "0.1.2" + }, + "css-select": { + "version": "5.1.0", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + } + }, + "css-to-react-native": { + "version": "3.2.0", + "requires": { + "camelize": "^1.0.0", + "css-color-keywords": "^1.0.0", + "postcss-value-parser": "^4.0.2" + } + }, + "css-tree": { + "version": "1.1.3", + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "css-unit-converter": { + "version": "1.1.2" + }, + "css-what": { + "version": "6.1.0" + }, + "cssesc": { + "version": "3.0.0" + }, + "cssfilter": { + "version": "0.0.10" + }, + "cssom": { + "version": "0.5.0", + "dev": true + }, + "cssstyle": { + "version": "2.3.0", + "dev": true, + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "dev": true + } + } + }, + "csstype": { + "version": "3.1.2" + }, + "cypress": { + "version": "10.11.0", + "dev": true, + "requires": { + "@cypress/request": "^2.88.10", + "@cypress/xvfb": "^1.2.4", + "@types/node": "^14.14.31", + "@types/sinonjs__fake-timers": "8.1.1", + "@types/sizzle": "^2.3.2", + "arch": "^2.2.0", + "blob-util": "^2.0.2", + "bluebird": "^3.7.2", + "buffer": "^5.6.0", + "cachedir": "^2.3.0", + "chalk": "^4.1.0", + "check-more-types": "^2.24.0", + "cli-cursor": "^3.1.0", + "cli-table3": "~0.6.1", + "commander": "^5.1.0", + "common-tags": "^1.8.0", + "dayjs": "^1.10.4", + "debug": "^4.3.2", + "enquirer": "^2.3.6", + "eventemitter2": "6.4.7", + "execa": "4.1.0", + "executable": "^4.1.1", + "extract-zip": "2.0.1", + "figures": "^3.2.0", + "fs-extra": "^9.1.0", + "getos": "^3.2.1", + "is-ci": "^3.0.0", + "is-installed-globally": "~0.4.0", + "lazy-ass": "^1.6.0", + "listr2": "^3.8.3", + "lodash": "^4.17.21", + "log-symbols": "^4.0.0", + "minimist": "^1.2.6", + "ospath": "^1.2.2", + "pretty-bytes": "^5.6.0", + "proxy-from-env": "1.0.0", + "request-progress": "^3.0.0", + "semver": "^7.3.2", + "supports-color": "^8.1.1", + "tmp": "~0.2.1", + "untildify": "^4.0.0", + "yauzl": "^2.10.0" + }, + "dependencies": { + "@types/node": { + "version": "14.18.54", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "bluebird": { + "version": "3.7.2", + "dev": true + }, + "buffer": { + "version": "5.7.1", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "fs-extra": { + "version": "9.1.0", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "8.1.1", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "cypress-image-diff-js": { + "version": "1.27.3", + "dev": true, + "requires": { + "@babel/runtime": "^7.12.5", + "@colors/colors": "^1.5.0", + "arg": "^4.1.1", + "cypress-recurse": "^1.13.1", + "fs-extra": "^9.0.1", + "handlebars": "^4.7.7", + "pixelmatch": "^5.1.0", + "pngjs": "^3.4.0" + }, + "dependencies": { + "fs-extra": { + "version": "9.1.0", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + } + } + }, + "cypress-recurse": { + "version": "1.35.2", + "dev": true, + "requires": { + "humanize-duration": "^3.27.3" + } + }, + "dag-map": { + "version": "1.0.2" + }, + "damerau-levenshtein": { + "version": "1.0.8" + }, + "dargs": { + "version": "7.0.0", + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-urls": { + "version": "3.0.2", + "dev": true, + "requires": { + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" + } + }, + "dateformat": { + "version": "3.0.3", + "dev": true + }, + "dayjs": { + "version": "1.11.9" + }, + "debug": { + "version": "4.3.4", + "requires": { + "ms": "2.1.2" + } + }, + "decamelize": { + "version": "1.2.0" + }, + "decamelize-keys": { + "version": "1.1.1", + "requires": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "map-obj": { + "version": "1.0.1" + } + } + }, + "decimal.js": { + "version": "10.4.3", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.2" + }, + "decompress-response": { + "version": "6.0.0", + "requires": { + "mimic-response": "^3.1.0" + }, + "dependencies": { + "mimic-response": { + "version": "3.1.0" + } + } + }, + "dedent": { + "version": "1.5.1", + "requires": {} + }, + "deep-equal": { + "version": "2.2.2", + "requires": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.1", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.2", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.0", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + } + }, + "deep-extend": { + "version": "0.6.0" + }, + "deep-is": { + "version": "0.1.4" + }, + "deepmerge": { + "version": "4.3.1" + }, + "default-browser": { + "version": "4.0.0", + "requires": { + "bundle-name": "^3.0.0", + "default-browser-id": "^3.0.0", + "execa": "^7.1.1", + "titleize": "^3.0.0" + }, + "dependencies": { + "execa": { + "version": "7.2.0", + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + } + }, + "get-stream": { + "version": "6.0.1" + }, + "human-signals": { + "version": "4.3.1" + }, + "is-stream": { + "version": "3.0.0" + }, + "mimic-fn": { + "version": "4.0.0" + }, + "npm-run-path": { + "version": "5.1.0", + "requires": { + "path-key": "^4.0.0" + } + }, + "onetime": { + "version": "6.0.0", + "requires": { + "mimic-fn": "^4.0.0" + } + }, + "path-key": { + "version": "4.0.0" + }, + "strip-final-newline": { + "version": "3.0.0" + } + } + }, + "default-browser-id": { + "version": "3.0.0", + "requires": { + "bplist-parser": "^0.2.0", + "untildify": "^4.0.0" + }, + "dependencies": { + "bplist-parser": { + "version": "0.2.0", + "requires": { + "big-integer": "^1.6.44" + } + } + } + }, + "default-gateway": { + "version": "4.2.0", + "requires": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "1.0.0", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "1.1.0" + }, + "npm-run-path": { + "version": "2.0.2", + "requires": { + "path-key": "^2.0.0" + } + }, + "path-key": { + "version": "2.0.1" + }, + "semver": { + "version": "5.7.2" + }, + "shebang-command": { + "version": "1.2.0", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0" + }, + "which": { + "version": "1.3.1", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "default-require-extensions": { + "version": "3.0.1", + "dev": true, + "requires": { + "strip-bom": "^4.0.0" + } + }, + "defaults": { + "version": "1.0.4", + "requires": { + "clone": "^1.0.2" + }, + "dependencies": { + "clone": { + "version": "1.0.4" + } + } + }, + "defer-to-connect": { + "version": "2.0.1" + }, + "defichain": { + "version": "4.0.0-beta.14.1" + }, + "define-lazy-prop": { + "version": "2.0.0" + }, + "define-properties": { + "version": "1.2.0", + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "defined": { + "version": "1.0.1" + }, + "defu": { + "version": "6.1.2" + }, + "del": { + "version": "6.1.1", + "requires": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + }, + "dependencies": { + "rimraf": { + "version": "3.0.2", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "delayed-stream": { + "version": "1.0.0" + }, + "denodeify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", + "integrity": "sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==" + }, + "denque": { + "version": "2.1.0" + }, + "depd": { + "version": "2.0.0" + }, + "deprecated-react-native-prop-types": { + "version": "4.1.0", + "requires": { + "@react-native/normalize-colors": "*", + "invariant": "*", + "prop-types": "*" + } + }, + "dequal": { + "version": "2.0.3" + }, + "des.js": { + "version": "1.1.0", + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destr": { + "version": "2.0.1" + }, + "destroy": { + "version": "1.2.0" + }, + "detect-indent": { + "version": "6.1.0", + "dev": true + }, + "detect-libc": { + "version": "1.0.3" + }, + "detect-newline": { + "version": "3.1.0" + }, + "detect-node": { + "version": "2.1.0", + "optional": true + }, + "detect-port-alt": { + "version": "1.1.6", + "dev": true, + "requires": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "dev": true + } + } + }, + "detective": { + "version": "5.2.1", + "requires": { + "acorn-node": "^1.8.2", + "defined": "^1.0.0", + "minimist": "^1.2.6" + } + }, + "didyoumean": { + "version": "1.2.2" + }, + "diff": { + "version": "4.0.2", + "devOptional": true + }, + "diff-sequences": { + "version": "29.6.3" + }, + "diffie-hellman": { + "version": "5.0.3", + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0" + } + } + }, + "dir-glob": { + "version": "3.0.1", + "requires": { + "path-type": "^4.0.0" + } + }, + "dlv": { + "version": "1.1.3" + }, + "docker-compose": { + "version": "0.24.2", + "requires": { + "yaml": "^2.2.2" + } + }, + "docker-modem": { + "version": "3.0.8", + "requires": { + "debug": "^4.1.1", + "readable-stream": "^3.5.0", + "split-ca": "^1.0.1", + "ssh2": "^1.11.0" + } + }, + "dockerode": { + "version": "3.3.5", + "requires": { + "@balena/dockerignore": "^1.0.2", + "docker-modem": "^3.0.0", + "tar-fs": "~2.0.1" + }, + "dependencies": { + "chownr": { + "version": "1.1.4" + }, + "tar-fs": { + "version": "2.0.1", + "requires": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.0.0" + } + } + } + }, + "doctrine": { + "version": "3.0.0", + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-accessibility-api": { + "version": "0.5.16", + "dev": true + }, + "dom-helpers": { + "version": "5.2.1", + "requires": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, + "dom-serializer": { + "version": "2.0.0", + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + } + }, + "dom-walk": { + "version": "0.1.2", + "dev": true + }, + "domelementtype": { + "version": "2.3.0" + }, + "domexception": { + "version": "4.0.0", + "dev": true, + "requires": { + "webidl-conversions": "^7.0.0" + } + }, + "domhandler": { + "version": "5.0.3", + "requires": { + "domelementtype": "^2.3.0" + } + }, + "domutils": { + "version": "3.1.0", + "requires": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + } + }, + "dot-prop": { + "version": "5.3.0", + "dev": true, + "requires": { + "is-obj": "^2.0.0" + } + }, + "dotenv": { + "version": "16.0.3" + }, + "dotenv-expand": { + "version": "10.0.0" + }, + "dotgitignore": { + "version": "2.1.0", + "dev": true, + "requires": { + "find-up": "^3.0.0", + "minimatch": "^3.0.4" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "dev": true + } + } + }, + "duplexer": { + "version": "0.1.2", + "dev": true + }, + "duplexer3": { + "version": "0.1.5" + }, + "eastasianwidth": { + "version": "0.2.0" + }, + "ecc-jsbn": { + "version": "0.1.2", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ee-first": { + "version": "1.1.1" + }, + "electron": { + "version": "23.3.13", + "requires": { + "@electron/get": "^2.0.0", + "@types/node": "^16.11.26", + "extract-zip": "^2.0.1" + }, + "dependencies": { + "@types/node": { + "version": "16.18.41" + } + } + }, + "electron-to-chromium": { + "version": "1.4.498" + }, + "elliptic": { + "version": "6.5.4", + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0" + } + } + }, + "emittery": { + "version": "0.13.1" + }, + "emoji-regex": { + "version": "9.2.2" + }, + "encodeurl": { + "version": "1.0.2" + }, + "end-of-stream": { + "version": "1.4.4", + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "5.15.0", + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "enquirer": { + "version": "2.4.1", + "devOptional": true, + "requires": { + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" + } + }, + "entities": { + "version": "4.5.0" + }, + "env-editor": { + "version": "0.4.2" + }, + "env-paths": { + "version": "2.2.1" + }, + "envinfo": { + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", + "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==" + }, + "eol": { + "version": "0.9.1" + }, + "error-ex": { + "version": "1.3.2", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "requires": { + "stackframe": "^1.3.4" + } + }, + "errorhandler": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz", + "integrity": "sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==", + "requires": { + "accepts": "~1.3.7", + "escape-html": "~1.0.3" + } + }, + "es-abstract": { + "version": "1.22.1", + "requires": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.1", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.2.1", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.0", + "safe-array-concat": "^1.0.0", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.10" + } + }, + "es-get-iterator": { + "version": "1.1.3", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" + } + }, + "es-iterator-helpers": { + "version": "1.0.13", + "requires": { + "asynciterator.prototype": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.21.3", + "es-set-tostringtag": "^2.0.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.2.1", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "iterator.prototype": "^1.1.0", + "safe-array-concat": "^1.0.0" + } + }, + "es-module-lexer": { + "version": "1.3.0", + "dev": true, + "peer": true + }, + "es-set-tostringtag": { + "version": "2.0.1", + "requires": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + } + }, + "es-shim-unscopables": { + "version": "1.0.0", + "requires": { + "has": "^1.0.3" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es6-error": { + "version": "4.1.1", + "devOptional": true + }, + "escalade": { + "version": "3.1.1" + }, + "escape-html": { + "version": "1.0.3" + }, + "escape-string-regexp": { + "version": "4.0.0" + }, + "escodegen": { + "version": "2.1.0", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "source-map": "~0.6.1" + } + }, + "eslint": { + "version": "8.51.0", + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "8.51.0", + "@humanwhocodes/config-array": "^0.11.11", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "globals": { + "version": "13.21.0", + "requires": { + "type-fest": "^0.20.2" + } + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.20.2" + } + } + }, + "eslint-config-airbnb": { + "version": "19.0.4", + "requires": { + "eslint-config-airbnb-base": "^15.0.0", + "object.assign": "^4.1.2", + "object.entries": "^1.1.5" + } + }, + "eslint-config-airbnb-base": { + "version": "15.0.0", + "requires": { + "confusing-browser-globals": "^1.0.10", + "object.assign": "^4.1.2", + "object.entries": "^1.1.5", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.1" + } + } + }, + "eslint-config-airbnb-typescript": { + "version": "17.1.0", + "requires": { + "eslint-config-airbnb-base": "^15.0.0" + } + }, + "eslint-config-esnext": { + "version": "4.1.0", + "dev": true, + "requires": { + "babel-eslint": "^10.0.1", + "eslint": "^6.8.0", + "eslint-plugin-babel": "^5.2.1", + "eslint-plugin-import": "^2.14.0" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "dev": true + }, + "ansi-regex": { + "version": "4.1.1", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "cross-spawn": { + "version": "6.0.5", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "dev": true + } + } + }, + "eslint": { + "version": "6.8.0", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + } + }, + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "1.4.3", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "dev": true + }, + "espree": { + "version": "6.2.1", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + }, + "file-entry-cache": { + "version": "5.0.1", + "dev": true, + "requires": { + "flat-cache": "^2.0.1" + } + }, + "flat-cache": { + "version": "2.0.1", + "dev": true, + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + } + }, + "flatted": { + "version": "2.0.2", + "dev": true + }, + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "12.4.0", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "ignore": { + "version": "4.0.6", + "dev": true + }, + "js-yaml": { + "version": "3.14.1", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "levn": { + "version": "0.3.0", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "mkdirp": { + "version": "0.5.6", + "dev": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "optionator": { + "version": "0.8.3", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "path-key": { + "version": "2.0.1", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "dev": true + }, + "regexpp": { + "version": "2.0.1", + "dev": true + }, + "rimraf": { + "version": "2.6.3", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "6.3.1", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "dev": true + }, + "sprintf-js": { + "version": "1.0.3", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "type-check": { + "version": "0.3.2", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-fest": { + "version": "0.8.1", + "dev": true + }, + "which": { + "version": "1.3.1", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "eslint-config-next": { + "version": "13.5.4", + "requires": { + "@next/eslint-plugin-next": "13.5.4", + "@rushstack/eslint-patch": "^1.3.3", + "@typescript-eslint/parser": "^5.4.2 || ^6.0.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-import-resolver-typescript": "^3.5.2", + "eslint-plugin-import": "^2.28.1", + "eslint-plugin-jsx-a11y": "^6.7.1", + "eslint-plugin-react": "^7.33.2", + "eslint-plugin-react-hooks": "^4.5.0 || 5.0.0-canary-7118f5dd7-20230705" + } + }, + "eslint-config-node": { + "version": "4.1.0", + "dev": true, + "requires": { + "eslint": "^6.8.0", + "eslint-config-esnext": "^4.1.0" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "dev": true + }, + "ansi-regex": { + "version": "4.1.1", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "cross-spawn": { + "version": "6.0.5", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "dev": true + } + } + }, + "eslint": { + "version": "6.8.0", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + } + }, + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "1.4.3", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "dev": true + }, + "espree": { + "version": "6.2.1", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + }, + "file-entry-cache": { + "version": "5.0.1", + "dev": true, + "requires": { + "flat-cache": "^2.0.1" + } + }, + "flat-cache": { + "version": "2.0.1", + "dev": true, + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + } + }, + "flatted": { + "version": "2.0.2", + "dev": true + }, + "glob-parent": { + "version": "5.1.2", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "12.4.0", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "ignore": { + "version": "4.0.6", + "dev": true + }, + "js-yaml": { + "version": "3.14.1", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "levn": { + "version": "0.3.0", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "mkdirp": { + "version": "0.5.6", + "dev": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "optionator": { + "version": "0.8.3", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "path-key": { + "version": "2.0.1", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "dev": true + }, + "regexpp": { + "version": "2.0.1", + "dev": true + }, + "rimraf": { + "version": "2.6.3", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "6.3.1", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "dev": true + }, + "sprintf-js": { + "version": "1.0.3", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "type-check": { + "version": "0.3.2", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-fest": { + "version": "0.8.1", + "dev": true + }, + "which": { + "version": "1.3.1", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "eslint-config-prettier": { + "version": "9.0.0", + "requires": {} + }, + "eslint-import-resolver-node": { + "version": "0.3.9", + "requires": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-import-resolver-typescript": { + "version": "3.6.1", + "requires": { + "debug": "^4.3.4", + "enhanced-resolve": "^5.12.0", + "eslint-module-utils": "^2.7.4", + "fast-glob": "^3.3.1", + "get-tsconfig": "^4.5.0", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3" + } + }, + "eslint-module-utils": { + "version": "2.8.0", + "requires": { + "debug": "^3.2.7" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-plugin-babel": { + "version": "5.3.1", + "dev": true, + "requires": { + "eslint-rule-composer": "^0.3.0" + } + }, + "eslint-plugin-cypress": { + "version": "2.15.1", + "requires": { + "globals": "^13.20.0" + }, + "dependencies": { + "globals": { + "version": "13.21.0", + "requires": { + "type-fest": "^0.20.2" + } + }, + "type-fest": { + "version": "0.20.2" + } + } + }, + "eslint-plugin-es": { + "version": "3.0.1", + "requires": { + "eslint-utils": "^2.0.0", + "regexpp": "^3.0.0" + } + }, + "eslint-plugin-import": { + "version": "2.28.1", + "requires": { + "array-includes": "^3.1.6", + "array.prototype.findlastindex": "^1.2.2", + "array.prototype.flat": "^1.3.1", + "array.prototype.flatmap": "^1.3.1", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.7", + "eslint-module-utils": "^2.8.0", + "has": "^1.0.3", + "is-core-module": "^2.13.0", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.6", + "object.groupby": "^1.0.0", + "object.values": "^1.1.6", + "semver": "^6.3.1", + "tsconfig-paths": "^3.14.2" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "requires": { + "ms": "^2.1.1" + } + }, + "doctrine": { + "version": "2.1.0", + "requires": { + "esutils": "^2.0.2" + } + }, + "semver": { + "version": "6.3.1" + } + } + }, + "eslint-plugin-jest": { + "version": "27.2.3", + "dev": true, + "requires": { + "@typescript-eslint/utils": "^5.10.0" + }, + "dependencies": { + "@typescript-eslint/scope-manager": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + } + }, + "@typescript-eslint/types": { + "version": "5.62.0", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.62.0", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + } + }, + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true + }, + "globby": { + "version": "11.1.0", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + } + } + }, + "eslint-plugin-jsx-a11y": { + "version": "6.7.1", + "requires": { + "@babel/runtime": "^7.20.7", + "aria-query": "^5.1.3", + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.6.2", + "axobject-query": "^3.1.1", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "has": "^1.0.3", + "jsx-ast-utils": "^3.3.3", + "language-tags": "=1.0.5", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.1" + } + } + }, + "eslint-plugin-node": { + "version": "11.1.0", + "requires": { + "eslint-plugin-es": "^3.0.0", + "eslint-utils": "^2.0.0", + "ignore": "^5.1.1", + "minimatch": "^3.0.4", + "resolve": "^1.10.1", + "semver": "^6.1.0" + }, + "dependencies": { + "semver": { + "version": "6.3.1" + } + } + }, + "eslint-plugin-prettier": { + "version": "5.0.1", + "requires": { + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.8.5" + } + }, + "eslint-plugin-react": { + "version": "7.33.2", + "requires": { + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.12", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "object.hasown": "^1.1.2", + "object.values": "^1.1.6", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.4", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.8" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "requires": { + "esutils": "^2.0.2" + } + }, + "resolve": { + "version": "2.0.0-next.4", + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "semver": { + "version": "6.3.1" + } + } + }, + "eslint-plugin-react-hooks": { + "version": "4.6.0", + "requires": {} + }, + "eslint-plugin-react-native": { + "version": "4.0.0", + "dev": true, + "requires": { + "@babel/traverse": "^7.7.4", + "eslint-plugin-react-native-globals": "^0.1.1" + } + }, + "eslint-plugin-react-native-globals": { + "version": "0.1.2", + "dev": true + }, + "eslint-plugin-simple-import-sort": { + "version": "10.0.0", + "requires": {} + }, + "eslint-rule-composer": { + "version": "0.3.0", + "dev": true + }, + "eslint-scope": { + "version": "7.2.2", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-utils": { + "version": "2.1.0", + "requires": { + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0" + } + } + }, + "eslint-visitor-keys": { + "version": "3.4.3" + }, + "espree": { + "version": "9.6.1", + "requires": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esprima": { + "version": "4.0.1" + }, + "esquery": { + "version": "1.5.0", + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0" + }, + "esutils": { + "version": "2.0.3" + }, + "etag": { + "version": "1.8.1" + }, + "ethers": { + "version": "5.7.2", + "requires": { + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" + } + }, + "event-target-shim": { + "version": "5.0.1" + }, + "eventemitter2": { + "version": "6.4.7", + "dev": true + }, + "eventemitter3": { + "version": "5.0.1" + }, + "events": { + "version": "3.3.0", + "dev": true, + "peer": true + }, + "evp_bytestokey": { + "version": "1.0.3", + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "exec-async": { + "version": "2.2.0" + }, + "execa": { + "version": "4.1.0", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "executable": { + "version": "4.1.1", + "dev": true, + "requires": { + "pify": "^2.2.0" + } + }, + "exif-parser": { + "version": "0.1.12", + "dev": true + }, + "exit": { + "version": "0.1.2" + }, + "expand-template": { + "version": "2.0.3" + }, + "expect": { + "version": "29.6.4", + "requires": { + "@jest/expect-utils": "^29.6.4", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.6.4", + "jest-message-util": "^29.6.3", + "jest-util": "^29.6.3" + } + }, + "expo": { + "version": "49.0.7", + "requires": { + "@babel/runtime": "^7.20.0", + "@expo/cli": "0.10.11", + "@expo/config": "8.1.2", + "@expo/config-plugins": "7.2.5", + "@expo/vector-icons": "^13.0.0", + "babel-preset-expo": "~9.5.1", + "expo-application": "~5.3.0", + "expo-asset": "~8.10.1", + "expo-constants": "~14.4.2", + "expo-file-system": "~15.4.3", + "expo-font": "~11.4.0", + "expo-keep-awake": "~12.3.0", + "expo-modules-autolinking": "1.5.0", + "expo-modules-core": "1.5.9", + "fbemitter": "^3.0.0", + "invariant": "^2.2.4", + "md5-file": "^3.2.3", + "node-fetch": "^2.6.7", + "pretty-format": "^26.5.2", + "uuid": "^3.4.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "15.0.15", + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "pretty-format": { + "version": "26.6.2", + "requires": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + } + }, + "react-is": { + "version": "17.0.2" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + }, + "uuid": { + "version": "3.4.0" + } + } + }, + "expo-application": { + "version": "5.3.0", + "requires": {} + }, + "expo-asset": { + "version": "8.10.1", + "requires": { + "blueimp-md5": "^2.10.0", + "expo-constants": "~14.4.2", + "expo-file-system": "~15.4.0", + "invariant": "^2.2.4", + "md5-file": "^3.2.3", + "path-browserify": "^1.0.0", + "url-parse": "^1.5.9" + } + }, + "expo-barcode-scanner": { + "version": "12.5.3", + "requires": { + "expo-image-loader": "~4.3.0" + } + }, + "expo-checkbox": { + "version": "2.4.0" + }, + "expo-clipboard": { + "version": "4.3.1", + "requires": {} + }, + "expo-constants": { + "version": "14.4.2", + "requires": { + "@expo/config": "~8.1.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "uuid": { + "version": "3.4.0" + } + } + }, + "expo-crypto": { + "version": "12.4.1", + "requires": { + "base64-js": "^1.3.0" + } + }, + "expo-crypto-polyfills": { + "version": "1.1.0", + "requires": { + "base-64": "^1.0.0", + "crypto-browserify": "^3.12.0", + "expo-file-system": "~13.1.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "^1.0.1", + "react-native-get-random-values": "^1.7.2", + "react-native-tcp": "^4.0.0", + "readable-stream": "^3.6.0", + "stream-http": "^3.2.0", + "vm-browserify": "^1.1.2" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.4", + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@expo/config-plugins": { + "version": "4.1.5", + "requires": { + "@expo/config-types": "^45.0.0", + "@expo/json-file": "8.2.36", + "@expo/plist": "0.0.18", + "@expo/sdk-runtime-versions": "^1.0.0", + "@react-native/normalize-color": "^2.0.0", + "chalk": "^4.1.2", + "debug": "^4.3.1", + "find-up": "~5.0.0", + "getenv": "^1.0.0", + "glob": "7.1.6", + "resolve-from": "^5.0.0", + "semver": "^7.3.5", + "slash": "^3.0.0", + "xcode": "^3.0.1", + "xml2js": "0.4.23" + } + }, + "@expo/config-types": { + "version": "45.0.0" + }, + "@expo/json-file": { + "version": "8.2.36", + "requires": { + "@babel/code-frame": "~7.10.4", + "json5": "^1.0.1", + "write-file-atomic": "^2.3.0" + } + }, + "@expo/plist": { + "version": "0.0.18", + "requires": { + "@xmldom/xmldom": "~0.7.0", + "base64-js": "^1.2.3", + "xmlbuilder": "^14.0.0" + } + }, + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "expo-file-system": { + "version": "13.1.4", + "requires": { + "@expo/config-plugins": "^4.0.2", + "uuid": "^3.4.0" + } + }, + "has-flag": { + "version": "4.0.0" + }, + "json5": { + "version": "1.0.2", + "requires": { + "minimist": "^1.2.0" + } + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + }, + "uuid": { + "version": "3.4.0" + }, + "xml2js": { + "version": "0.4.23", + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "dependencies": { + "xmlbuilder": { + "version": "11.0.1" + } + } + } + } + }, + "expo-eas-client": { + "version": "0.6.0" + }, + "expo-file-system": { + "version": "15.4.4", + "requires": { + "uuid": "^3.4.0" + }, + "dependencies": { + "uuid": { + "version": "3.4.0" + } + } + }, + "expo-font": { + "version": "11.4.0", + "requires": { + "fontfaceobserver": "^2.1.0" + } + }, + "expo-image": { + "version": "1.3.4", + "requires": {} + }, + "expo-image-loader": { + "version": "4.3.0", + "requires": {} + }, + "expo-json-utils": { + "version": "0.7.1" + }, + "expo-keep-awake": { + "version": "12.3.0", + "requires": {} + }, + "expo-linear-gradient": { + "version": "12.3.0", + "requires": {} + }, + "expo-linking": { + "version": "5.0.2", + "requires": { + "@types/qs": "^6.9.7", + "expo-constants": "~14.4.2", + "invariant": "^2.2.4", + "qs": "^6.11.0", + "url-parse": "^1.5.9" + }, + "dependencies": { + "qs": { + "version": "6.11.2", + "requires": { + "side-channel": "^1.0.4" + } + } + } + }, + "expo-local-authentication": { + "version": "13.4.1", + "requires": { + "invariant": "^2.2.4" + } + }, + "expo-localization": { + "version": "14.3.0", + "requires": { + "rtl-detect": "^1.0.2" + } + }, + "expo-manifests": { + "version": "0.7.1", + "requires": { + "expo-json-utils": "~0.7.0" + } + }, + "expo-modules-autolinking": { + "version": "1.5.0", + "requires": { + "@expo/config": "~8.1.0", + "chalk": "^4.1.0", + "commander": "^7.2.0", + "fast-glob": "^3.2.5", + "find-up": "^5.0.0", + "fs-extra": "^9.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "commander": { + "version": "7.2.0" + }, + "fs-extra": { + "version": "9.1.0", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "expo-modules-core": { + "version": "1.5.9", + "requires": { + "compare-versions": "^3.4.0", + "invariant": "^2.2.4" + } + }, + "expo-secure-store": { + "version": "12.3.1", + "requires": {} + }, + "expo-splash-screen": { + "version": "0.20.5", + "requires": { + "@expo/prebuild-config": "6.2.6" + } + }, + "expo-status-bar": { + "version": "1.6.0" + }, + "expo-structured-headers": { + "version": "3.3.0" + }, + "expo-updates": { + "version": "0.18.16", + "resolved": "https://registry.npmjs.org/expo-updates/-/expo-updates-0.18.16.tgz", + "integrity": "sha512-5/3Yh6FHG8oRDz1pqpn7NEO6GQBH5GV/sygnkkn3JxsiXzlOsuOY7+x+gFr4CdKVyreaoJV863ZxKvxplVE4fA==", + "requires": { + "@expo/code-signing-certificates": "0.0.5", + "@expo/config": "~8.1.0", + "@expo/config-plugins": "~7.2.0", + "arg": "4.1.0", + "chalk": "^4.1.2", + "expo-eas-client": "~0.6.0", + "expo-manifests": "~0.7.0", + "expo-structured-headers": "~3.3.0", + "expo-updates-interface": "~0.10.0", + "fbemitter": "^3.0.0", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "arg": { + "version": "4.1.0" + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "expo-updates-interface": { + "version": "0.10.1", + "requires": {} + }, + "expo-web-browser": { + "version": "12.3.2", + "requires": { + "compare-urls": "^2.0.0", + "url": "^0.11.0" + } + }, + "extend": { + "version": "3.0.2", + "dev": true + }, + "external-editor": { + "version": "3.1.0", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "dependencies": { + "tmp": { + "version": "0.0.33", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + } + } + }, + "extract-zip": { + "version": "2.0.1", + "requires": { + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + } + }, + "extsprintf": { + "version": "1.3.0", + "dev": true + }, + "fast-base64-decode": { + "version": "1.0.0" + }, + "fast-deep-equal": { + "version": "3.1.3" + }, + "fast-diff": { + "version": "1.3.0" + }, + "fast-fifo": { + "version": "1.3.2" + }, + "fast-glob": { + "version": "3.3.1", + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0" + }, + "fast-levenshtein": { + "version": "2.0.6" + }, + "fast-loops": { + "version": "1.1.3" + }, + "fast-xml-parser": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.2.tgz", + "integrity": "sha512-rmrXUXwbJedoXkStenj1kkljNF7ugn5ZjR9FJcwmCfcCbtOMDghPajbc+Tck6vE6F5XsDmx+Pr2le9fw8+pXBg==", + "requires": { + "strnum": "^1.0.5" + } + }, + "fastq": { + "version": "1.15.0", + "requires": { + "reusify": "^1.0.4" + } + }, + "fb-watchman": { + "version": "2.0.2", + "requires": { + "bser": "2.1.1" + } + }, + "fbemitter": { + "version": "3.0.0", + "requires": { + "fbjs": "^3.0.0" + } + }, + "fbjs": { + "version": "3.0.5", + "requires": { + "cross-fetch": "^3.1.5", + "fbjs-css-vars": "^1.0.0", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^1.0.35" + } + }, + "fbjs-css-vars": { + "version": "1.0.2" + }, + "fd-slicer": { + "version": "1.1.0", + "requires": { + "pend": "~1.2.0" + } + }, + "fetch-retry": { + "version": "4.1.1" + }, + "figures": { + "version": "3.2.0", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + }, + "dependencies": { + "escape-string-regexp": { + "version": "1.0.5", + "dev": true + } + } + }, + "file-entry-cache": { + "version": "6.0.1", + "requires": { + "flat-cache": "^3.0.4" + } + }, + "file-type": { + "version": "9.0.0", + "dev": true + }, + "file-uri-to-path": { + "version": "1.0.0" + }, + "filesize": { + "version": "8.0.7", + "dev": true + }, + "fill-range": { + "version": "7.0.1", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "filter-obj": { + "version": "1.1.0" + }, + "finalhandler": { + "version": "1.1.2", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0" + }, + "on-finished": { + "version": "2.3.0", + "requires": { + "ee-first": "1.1.1" + } + } + } + }, + "find": { + "version": "0.1.7", + "dev": true, + "requires": { + "traverse-chain": "~0.1.0" + } + }, + "find-babel-config": { + "version": "2.0.0", + "requires": { + "json5": "^2.1.1", + "path-exists": "^4.0.0" + } + }, + "find-cache-dir": { + "version": "4.0.0", + "dev": true, + "peer": true, + "requires": { + "common-path-prefix": "^3.0.0", + "pkg-dir": "^7.0.0" + } + }, + "find-in-files": { + "version": "0.5.0", + "dev": true, + "requires": { + "find": "^0.1.5", + "q": "^1.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "find-yarn-workspace-root": { + "version": "2.0.0", + "requires": { + "micromatch": "^4.0.2" + } + }, + "flat-cache": { + "version": "3.0.4", + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "dependencies": { + "rimraf": { + "version": "3.0.2", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flatted": { + "version": "3.2.7" + }, + "flow-enums-runtime": { + "version": "0.0.5" + }, + "flow-parser": { + "version": "0.206.0" + }, + "follow-redirects": { + "version": "1.15.3" + }, + "fontfaceobserver": { + "version": "2.3.0" + }, + "for-each": { + "version": "0.3.3", + "requires": { + "is-callable": "^1.1.3" + } + }, + "foreground-child": { + "version": "2.0.0", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^3.0.2" + } + }, + "forever-agent": { + "version": "0.6.1", + "dev": true + }, + "fork-ts-checker-webpack-plugin": { + "version": "6.5.3", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "fs-extra": { + "version": "9.1.0", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "schema-utils": { + "version": "2.7.0", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + } + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "tapable": { + "version": "1.1.3", + "dev": true + } + } + }, + "form-data": { + "version": "2.3.3", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fraction.js": { + "version": "4.2.1", + "peer": true + }, + "freeport-async": { + "version": "2.0.0" + }, + "fresh": { + "version": "0.5.2" + }, + "fromentries": { + "version": "1.3.2", + "dev": true + }, + "fs-constants": { + "version": "1.0.0" + }, + "fs-extra": { + "version": "11.1.1", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs-minipass": { + "version": "2.1.0", + "requires": { + "minipass": "^3.0.0" + } + }, + "fs-monkey": { + "version": "1.0.4", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0" + }, + "fsevents": { + "version": "2.3.3", + "optional": true + }, + "function-bind": { + "version": "1.1.1" + }, + "function.prototype.name": { + "version": "1.1.5", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, + "functional-red-black-tree": { + "version": "1.0.1", + "dev": true + }, + "functions-have-names": { + "version": "1.2.3" + }, + "gensync": { + "version": "1.0.0-beta.2" + }, + "get-caller-file": { + "version": "2.0.5" + }, + "get-intrinsic": { + "version": "1.2.1", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + } + }, + "get-package-type": { + "version": "0.1.0" + }, + "get-pkg-repo": { + "version": "4.2.1", + "dev": true, + "requires": { + "@hutson/parse-repository-url": "^3.0.0", + "hosted-git-info": "^4.0.0", + "through2": "^2.0.0", + "yargs": "^16.2.0" + }, + "dependencies": { + "cliui": { + "version": "7.0.4", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "hosted-git-info": { + "version": "4.1.0", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yargs": { + "version": "16.2.0", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + } + } + }, + "get-port": { + "version": "3.2.0" + }, + "get-port-please": { + "version": "3.1.1" + }, + "get-stream": { + "version": "5.2.0", + "requires": { + "pump": "^3.0.0" + } + }, + "get-symbol-description": { + "version": "1.0.0", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "get-tsconfig": { + "version": "4.7.2", + "requires": { + "resolve-pkg-maps": "^1.0.0" + } + }, + "getenv": { + "version": "1.0.0" + }, + "getos": { + "version": "3.2.1", + "dev": true, + "requires": { + "async": "^3.2.0" + } + }, + "getpass": { + "version": "0.1.7", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "git-raw-commits": { + "version": "2.0.11", + "dev": true, + "requires": { + "dargs": "^7.0.0", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "dependencies": { + "through2": { + "version": "4.0.2", + "dev": true, + "requires": { + "readable-stream": "3" + } + } + } + }, + "git-remote-origin-url": { + "version": "2.0.0", + "dev": true, + "requires": { + "gitconfiglocal": "^1.0.0", + "pify": "^2.3.0" + } + }, + "git-semver-tags": { + "version": "4.1.1", + "dev": true, + "requires": { + "meow": "^8.0.0", + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "dev": true + } + } + }, + "gitconfiglocal": { + "version": "1.0.0", + "dev": true, + "requires": { + "ini": "^1.3.2" + }, + "dependencies": { + "ini": { + "version": "1.3.8", + "dev": true + } + } + }, + "github-from-package": { + "version": "0.0.0" + }, + "glob": { + "version": "7.1.6", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "requires": { + "is-glob": "^4.0.3" + } + }, + "glob-to-regexp": { + "version": "0.4.1" + }, + "global": { + "version": "4.4.0", + "dev": true, + "requires": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "global-agent": { + "version": "3.0.0", + "optional": true, + "requires": { + "boolean": "^3.0.1", + "es6-error": "^4.1.1", + "matcher": "^3.0.0", + "roarr": "^2.15.3", + "semver": "^7.3.2", + "serialize-error": "^7.0.1" + }, + "dependencies": { + "serialize-error": { + "version": "7.0.1", + "optional": true, + "requires": { + "type-fest": "^0.13.1" + } + }, + "type-fest": { + "version": "0.13.1", + "optional": true + } + } + }, + "global-dirs": { + "version": "3.0.1", + "dev": true, + "requires": { + "ini": "2.0.0" + } + }, + "global-modules": { + "version": "2.0.0", + "dev": true, + "requires": { + "global-prefix": "^3.0.0" + } + }, + "global-prefix": { + "version": "3.0.0", + "dev": true, + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "dependencies": { + "ini": { + "version": "1.3.8", + "dev": true + }, + "which": { + "version": "1.3.1", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "globals": { + "version": "11.12.0" + }, + "globalthis": { + "version": "1.0.3", + "requires": { + "define-properties": "^1.1.3" + } + }, + "globby": { + "version": "11.0.4", + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + }, + "gopd": { + "version": "1.0.1", + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "got": { + "version": "11.8.6", + "requires": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + } + }, + "graceful-fs": { + "version": "4.2.11" + }, + "graphemer": { + "version": "1.4.0" + }, + "graphql": { + "version": "15.8.0" + }, + "graphql-tag": { + "version": "2.12.6", + "requires": { + "tslib": "^2.1.0" + } + }, + "gzip-size": { + "version": "6.0.0", + "dev": true, + "requires": { + "duplexer": "^0.1.2" + } + }, + "h3": { + "version": "1.8.2", + "requires": { + "cookie-es": "^1.0.0", + "defu": "^6.1.2", + "destr": "^2.0.1", + "iron-webcrypto": "^0.10.1", + "radix3": "^1.1.0", + "ufo": "^1.3.0", + "uncrypto": "^0.1.3", + "unenv": "^1.7.4" + } + }, + "handlebars": { + "version": "4.7.8", + "dev": true, + "requires": { + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4", + "wordwrap": "^1.0.0" + } + }, + "hard-rejection": { + "version": "2.1.0" + }, + "has": { + "version": "1.0.3", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.2" + }, + "has-flag": { + "version": "3.0.0" + }, + "has-property-descriptors": { + "version": "1.0.0", + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-proto": { + "version": "1.0.1" + }, + "has-symbols": { + "version": "1.0.3" + }, + "has-tostringtag": { + "version": "1.0.0", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "hash-base": { + "version": "3.1.0", + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, + "hash.js": { + "version": "1.1.7", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hasha": { + "version": "5.2.2", + "dev": true, + "requires": { + "is-stream": "^2.0.0", + "type-fest": "^0.8.0" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "dev": true + } + } + }, + "hermes-estree": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.12.0.tgz", + "integrity": "sha512-+e8xR6SCen0wyAKrMT3UD0ZCCLymKhRgjEB5sS28rKiFir/fXgLoeRilRUssFCILmGHb+OvHDUlhxs0+IEyvQw==" + }, + "hermes-parser": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.12.0.tgz", + "integrity": "sha512-d4PHnwq6SnDLhYl3LHNHvOg7nQ6rcI7QVil418REYksv0Mh3cEkHDcuhGxNQ3vgnLSLl4QSvDrFCwQNYdpWlzw==", + "requires": { + "hermes-estree": "0.12.0" + } + }, + "hermes-profile-transformer": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/hermes-profile-transformer/-/hermes-profile-transformer-0.0.6.tgz", + "integrity": "sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ==", + "requires": { + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" + } + } + }, + "hex-color-regex": { + "version": "1.1.0" + }, + "hmac-drbg": { + "version": "1.0.1", + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hoist-non-react-statics": { + "version": "3.3.2", + "requires": { + "react-is": "^16.7.0" + } + }, + "hosted-git-info": { + "version": "3.0.8", + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "requires": { + "yallist": "^4.0.0" + } + } + } + }, + "hsl-regex": { + "version": "1.0.0" + }, + "hsla-regex": { + "version": "1.0.0" + }, + "html-encoding-sniffer": { + "version": "3.0.0", + "dev": true, + "requires": { + "whatwg-encoding": "^2.0.0" + } + }, + "html-escaper": { + "version": "2.0.2" + }, + "html-tags": { + "version": "3.3.1" + }, + "http-cache-semantics": { + "version": "4.1.1" + }, + "http-errors": { + "version": "2.0.0", + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "dependencies": { + "statuses": { + "version": "2.0.1" + } + } + }, + "http-proxy-agent": { + "version": "5.0.0", + "dev": true, + "requires": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + } + }, + "http-shutdown": { + "version": "1.2.2" + }, + "http-signature": { + "version": "1.3.6", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2", + "sshpk": "^1.14.1" + } + }, + "http2-wrapper": { + "version": "1.0.3", + "requires": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.0.0" + } + }, + "https-browserify": { + "version": "1.0.0" + }, + "https-proxy-agent": { + "version": "5.0.1", + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "human-signals": { + "version": "1.1.1", + "dev": true + }, + "humanize-duration": { + "version": "3.29.0", + "dev": true + }, + "husky": { + "version": "8.0.3" + }, + "hyphenate-style-name": { + "version": "1.0.4" + }, + "i18n-js": { + "version": "3.9.2" + }, + "iconv-lite": { + "version": "0.4.24", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ieee754": { + "version": "1.2.1" + }, + "ignore": { + "version": "5.2.4" + }, + "image-meta": { + "version": "0.1.1" + }, + "image-size": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", + "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", + "requires": { + "queue": "6.0.2" + } + }, + "immer": { + "version": "9.0.21" + }, + "import-fresh": { + "version": "3.3.0", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "4.0.0" + } + } + }, + "import-lazy": { + "version": "2.1.0" + }, + "import-local": { + "version": "3.1.0", + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "requires": { + "p-limit": "^2.2.0" + } + }, + "pkg-dir": { + "version": "4.2.0", + "requires": { + "find-up": "^4.0.0" + } + } + } + }, + "imurmurhash": { + "version": "0.1.4" + }, + "indent-string": { + "version": "4.0.0" + }, + "infer-owner": { + "version": "1.0.4" + }, + "inflight": { + "version": "1.0.6", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4" + }, + "ini": { + "version": "2.0.0", + "dev": true + }, + "inline-style-prefixer": { + "version": "6.0.4", + "requires": { + "css-in-js-utils": "^3.1.0", + "fast-loops": "^1.1.3" + } + }, + "inquirer": { + "version": "7.3.3", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "rxjs": { + "version": "6.6.7", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "dev": true + } + } + }, + "install": { + "version": "0.13.0" + }, + "internal-ip": { + "version": "4.3.0", + "requires": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + } + }, + "internal-slot": { + "version": "1.0.5", + "requires": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "invariant": { + "version": "2.2.4", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "ioredis": { + "version": "5.3.2", + "requires": { + "@ioredis/commands": "^1.1.1", + "cluster-key-slot": "^1.1.0", + "debug": "^4.3.4", + "denque": "^2.1.0", + "lodash.defaults": "^4.2.0", + "lodash.isarguments": "^3.1.0", + "redis-errors": "^1.2.0", + "redis-parser": "^3.0.0", + "standard-as-callback": "^2.1.0" + } + }, + "ip": { + "version": "1.1.8" + }, + "ip-regex": { + "version": "2.1.0" + }, + "ipaddr.js": { + "version": "1.9.1" + }, + "ipx": { + "version": "1.3.1", + "requires": { + "@fastify/accept-negotiator": "^1.1.0", + "consola": "^3.2.3", + "defu": "^6.1.2", + "destr": "^2.0.1", + "etag": "^1.8.1", + "image-meta": "^0.1.1", + "listhen": "^1.5.5", + "node-fetch-native": "^1.4.0", + "pathe": "^1.1.1", + "sharp": "^0.32.6", + "ufo": "^1.3.1", + "xss": "^1.0.14" + } + }, + "iron-webcrypto": { + "version": "0.10.1" + }, + "is-arguments": { + "version": "1.1.1", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-array-buffer": { + "version": "3.0.2", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + } + }, + "is-arrayish": { + "version": "0.2.1" + }, + "is-async-function": { + "version": "2.0.0", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-bigint": { + "version": "1.0.4", + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6" + }, + "is-callable": { + "version": "1.2.7" + }, + "is-ci": { + "version": "3.0.1", + "dev": true, + "requires": { + "ci-info": "^3.2.0" + } + }, + "is-color-stop": { + "version": "1.1.0", + "requires": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, + "is-core-module": { + "version": "2.13.0", + "requires": { + "has": "^1.0.3" + } + }, + "is-date-object": { + "version": "1.0.5", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==" + }, + "is-docker": { + "version": "2.2.1" + }, + "is-extglob": { + "version": "2.1.1" + }, + "is-finalizationregistry": { + "version": "1.0.2", + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0" + }, + "is-function": { + "version": "1.0.2", + "dev": true + }, + "is-generator-fn": { + "version": "2.1.0" + }, + "is-generator-function": { + "version": "1.0.10", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-glob": { + "version": "4.0.3", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-inside-container": { + "version": "1.0.0", + "requires": { + "is-docker": "^3.0.0" + }, + "dependencies": { + "is-docker": { + "version": "3.0.0" + } + } + }, + "is-installed-globally": { + "version": "0.4.0", + "dev": true, + "requires": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + } + }, + "is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" + }, + "is-invalid-path": { + "version": "0.1.0", + "requires": { + "is-glob": "^2.0.0" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0" + }, + "is-glob": { + "version": "2.0.1", + "requires": { + "is-extglob": "^1.0.0" + } + } + } + }, + "is-map": { + "version": "2.0.2" + }, + "is-negative-zero": { + "version": "2.0.2" + }, + "is-npm": { + "version": "1.0.0" + }, + "is-number": { + "version": "7.0.0" + }, + "is-number-object": { + "version": "1.0.7", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-obj": { + "version": "2.0.0", + "dev": true + }, + "is-path-cwd": { + "version": "2.2.0" + }, + "is-path-inside": { + "version": "3.0.3" + }, + "is-plain-obj": { + "version": "2.1.0" + }, + "is-plain-object": { + "version": "2.0.4", + "requires": { + "isobject": "^3.0.1" + } + }, + "is-potential-custom-element-name": { + "version": "1.0.1", + "dev": true + }, + "is-promise": { + "version": "4.0.0" + }, + "is-redirect": { + "version": "1.0.0" + }, + "is-regex": { + "version": "1.1.4", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-retry-allowed": { + "version": "1.2.0" + }, + "is-root": { + "version": "2.1.0" + }, + "is-set": { + "version": "2.0.2" + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-stream": { + "version": "2.0.1" + }, + "is-string": { + "version": "1.0.7", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-text-path": { + "version": "1.0.1", + "dev": true, + "requires": { + "text-extensions": "^1.0.0" + } + }, + "is-typed-array": { + "version": "1.1.12", + "requires": { + "which-typed-array": "^1.1.11" + } + }, + "is-typedarray": { + "version": "1.0.0", + "dev": true + }, + "is-unicode-supported": { + "version": "0.1.0" + }, + "is-valid-path": { + "version": "0.1.1", + "requires": { + "is-invalid-path": "^0.1.0" + } + }, + "is-weakmap": { + "version": "2.0.1" + }, + "is-weakref": { + "version": "1.0.2", + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-weakset": { + "version": "2.0.2", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "is-windows": { + "version": "1.0.2", + "dev": true + }, + "is-wsl": { + "version": "2.2.0", + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "2.0.5" + }, + "isexe": { + "version": "2.0.0" + }, + "isobject": { + "version": "3.0.1" + }, + "isstream": { + "version": "0.1.2", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.0.0" + }, + "istanbul-lib-hook": { + "version": "3.0.0", + "dev": true, + "requires": { + "append-transform": "^2.0.0" + } + }, + "istanbul-lib-instrument": { + "version": "5.2.1", + "requires": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "dependencies": { + "istanbul-lib-coverage": { + "version": "3.2.0" + }, + "semver": { + "version": "6.3.1" + } + } + }, + "istanbul-lib-processinfo": { + "version": "2.0.3", + "dev": true, + "requires": { + "archy": "^1.0.0", + "cross-spawn": "^7.0.3", + "istanbul-lib-coverage": "^3.2.0", + "p-map": "^3.0.0", + "rimraf": "^3.0.0", + "uuid": "^8.3.2" + }, + "dependencies": { + "istanbul-lib-coverage": { + "version": "3.2.0", + "dev": true + }, + "p-map": { + "version": "3.0.0", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "rimraf": { + "version": "3.0.2", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "uuid": { + "version": "8.3.2", + "dev": true + } + } + }, + "istanbul-lib-report": { + "version": "3.0.1", + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.1", + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + } + }, + "istanbul-reports": { + "version": "3.1.6", + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "iterator.prototype": { + "version": "1.1.0", + "requires": { + "define-properties": "^1.1.4", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "has-tostringtag": "^1.0.0", + "reflect.getprototypeof": "^1.0.3" + } + }, + "jest": { + "version": "29.6.4", + "requires": { + "@jest/core": "^29.6.4", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.6.4" + } + }, + "jest-changed-files": { + "version": "29.6.3", + "requires": { + "execa": "^5.0.0", + "jest-util": "^29.6.3", + "p-limit": "^3.1.0" + }, + "dependencies": { + "execa": { + "version": "5.1.1", + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "6.0.1" + }, + "human-signals": { + "version": "2.1.0" + } + } + }, + "jest-circus": { + "version": "29.6.4", + "requires": { + "@jest/environment": "^29.6.4", + "@jest/expect": "^29.6.4", + "@jest/test-result": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.6.3", + "jest-matcher-utils": "^29.6.4", + "jest-message-util": "^29.6.3", + "jest-runtime": "^29.6.4", + "jest-snapshot": "^29.6.4", + "jest-util": "^29.6.3", + "p-limit": "^3.1.0", + "pretty-format": "^29.6.3", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "pretty-format": { + "version": "29.6.3", + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0" + } + } + }, + "react-is": { + "version": "18.2.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-cli": { + "version": "29.6.4", + "requires": { + "@jest/core": "^29.6.4", + "@jest/test-result": "^29.6.4", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^29.6.4", + "jest-util": "^29.6.3", + "jest-validate": "^29.6.3", + "prompts": "^2.0.1", + "yargs": "^17.3.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-config": { + "version": "29.6.4", + "requires": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.6.4", + "@jest/types": "^29.6.3", + "babel-jest": "^29.6.4", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.6.4", + "jest-environment-node": "^29.6.4", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.6.4", + "jest-runner": "^29.6.4", + "jest-util": "^29.6.3", + "jest-validate": "^29.6.3", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.6.3", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "pretty-format": { + "version": "29.6.3", + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0" + } + } + }, + "react-is": { + "version": "18.2.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-diff": { + "version": "29.6.4", + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.6.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "pretty-format": { + "version": "29.6.3", + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0" + } + } + }, + "react-is": { + "version": "18.2.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-docblock": { + "version": "29.6.3", + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "29.6.3", + "requires": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.6.3", + "pretty-format": "^29.6.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "pretty-format": { + "version": "29.6.3", + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0" + } + } + }, + "react-is": { + "version": "18.2.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-environment-jsdom": { + "version": "29.6.3", + "dev": true, + "requires": { + "@jest/environment": "^29.6.3", + "@jest/fake-timers": "^29.6.3", + "@jest/types": "^29.6.3", + "@types/jsdom": "^20.0.0", + "@types/node": "*", + "jest-mock": "^29.6.3", + "jest-util": "^29.6.3", + "jsdom": "^20.0.0" + } + }, + "jest-environment-node": { + "version": "29.6.4", + "requires": { + "@jest/environment": "^29.6.4", + "@jest/fake-timers": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.6.3", + "jest-util": "^29.6.3" + } + }, + "jest-expo": { + "version": "49.0.0", + "dev": true, + "requires": { + "@expo/config": "~8.1.0", + "@jest/create-cache-key-function": "^29.2.1", + "babel-jest": "^29.2.1", + "find-up": "^5.0.0", + "jest-environment-jsdom": "^29.2.1", + "jest-watch-select-projects": "^2.0.0", + "jest-watch-typeahead": "2.2.1", + "json5": "^2.2.3", + "lodash": "^4.17.19", + "react-test-renderer": "18.2.0" + }, + "dependencies": { + "react-is": { + "version": "18.2.0", + "dev": true + }, + "react-test-renderer": { + "version": "18.2.0", + "dev": true, + "requires": { + "react-is": "^18.2.0", + "react-shallow-renderer": "^16.15.0", + "scheduler": "^0.23.0" + } + } + } + }, + "jest-extended": { + "version": "4.0.1", + "requires": { + "jest-diff": "^29.0.0", + "jest-get-type": "^29.0.0" + } + }, + "jest-get-type": { + "version": "29.6.3" + }, + "jest-haste-map": { + "version": "29.6.4", + "requires": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.6.3", + "jest-worker": "^29.6.4", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + } + }, + "jest-leak-detector": { + "version": "29.6.3", + "requires": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.6.3" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0" + }, + "pretty-format": { + "version": "29.6.3", + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + }, + "react-is": { + "version": "18.2.0" + } + } + }, + "jest-matcher-utils": { + "version": "29.6.4", + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^29.6.4", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.6.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "pretty-format": { + "version": "29.6.3", + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0" + } + } + }, + "react-is": { + "version": "18.2.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-message-util": { + "version": "29.6.3", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.6.3", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "pretty-format": { + "version": "29.6.3", + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0" + } + } + }, + "react-is": { + "version": "18.2.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-mock": { + "version": "29.6.3", + "requires": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.6.3" + } + }, + "jest-pnp-resolver": { + "version": "1.2.3", + "requires": {} + }, + "jest-regex-util": { + "version": "29.6.3" + }, + "jest-resolve": { + "version": "29.6.4", + "requires": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.6.3", + "jest-validate": "^29.6.3", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-resolve-dependencies": { + "version": "29.6.4", + "requires": { + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.6.4" + } + }, + "jest-runner": { + "version": "29.6.4", + "requires": { + "@jest/console": "^29.6.4", + "@jest/environment": "^29.6.4", + "@jest/test-result": "^29.6.4", + "@jest/transform": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.6.3", + "jest-environment-node": "^29.6.4", + "jest-haste-map": "^29.6.4", + "jest-leak-detector": "^29.6.3", + "jest-message-util": "^29.6.3", + "jest-resolve": "^29.6.4", + "jest-runtime": "^29.6.4", + "jest-util": "^29.6.3", + "jest-watcher": "^29.6.4", + "jest-worker": "^29.6.4", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-runtime": { + "version": "29.6.4", + "requires": { + "@jest/environment": "^29.6.4", + "@jest/fake-timers": "^29.6.4", + "@jest/globals": "^29.6.4", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.6.4", + "@jest/transform": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.4", + "jest-message-util": "^29.6.3", + "jest-mock": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.6.4", + "jest-snapshot": "^29.6.4", + "jest-util": "^29.6.3", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-snapshot": { + "version": "29.6.4", + "requires": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.6.4", + "@jest/transform": "^29.6.4", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.6.4", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.6.4", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.6.4", + "jest-message-util": "^29.6.3", + "jest-util": "^29.6.3", + "natural-compare": "^1.4.0", + "pretty-format": "^29.6.3", + "semver": "^7.5.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "pretty-format": { + "version": "29.6.3", + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0" + } + } + }, + "react-is": { + "version": "18.2.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-util": { + "version": "29.6.3", + "requires": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-validate": { + "version": "29.6.3", + "requires": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.6.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "camelcase": { + "version": "6.3.0" + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "pretty-format": { + "version": "29.6.3", + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0" + } + } + }, + "react-is": { + "version": "18.2.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-watch-select-projects": { + "version": "2.0.0", + "dev": true, + "requires": { + "ansi-escapes": "^4.3.0", + "chalk": "^3.0.0", + "prompts": "^2.2.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-watch-typeahead": { + "version": "2.2.1", + "dev": true, + "requires": { + "ansi-escapes": "^6.0.0", + "chalk": "^4.0.0", + "jest-regex-util": "^29.0.0", + "jest-watcher": "^29.0.0", + "slash": "^5.0.0", + "string-length": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "ansi-escapes": { + "version": "6.2.0", + "dev": true, + "requires": { + "type-fest": "^3.0.0" + } + }, + "ansi-regex": { + "version": "6.0.1", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "char-regex": { + "version": "2.0.1", + "dev": true + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "slash": { + "version": "5.1.0", + "dev": true + }, + "string-length": { + "version": "5.0.1", + "dev": true, + "requires": { + "char-regex": "^2.0.0", + "strip-ansi": "^7.0.1" + } + }, + "strip-ansi": { + "version": "7.1.0", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "3.13.1", + "dev": true + } + } + }, + "jest-watcher": { + "version": "29.6.4", + "requires": { + "@jest/test-result": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.6.3", + "string-length": "^4.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-worker": { + "version": "29.6.4", + "requires": { + "@types/node": "*", + "jest-util": "^29.6.3", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "8.1.1", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jimp": { + "version": "0.12.1", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/custom": "^0.12.1", + "@jimp/plugins": "^0.12.1", + "@jimp/types": "^0.12.1", + "regenerator-runtime": "^0.13.3" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.11", + "dev": true + } + } + }, + "jimp-compact": { + "version": "0.16.1" + }, + "jiti": { + "version": "1.20.0" + }, + "joi": { + "version": "17.9.2", + "requires": { + "@hapi/hoek": "^9.0.0", + "@hapi/topo": "^5.0.0", + "@sideway/address": "^4.1.3", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, + "join-component": { + "version": "1.1.0" + }, + "jpeg-js": { + "version": "0.4.4", + "dev": true + }, + "js-sha3": { + "version": "0.8.0" + }, + "js-tokens": { + "version": "4.0.0" + }, + "js-yaml": { + "version": "4.1.0", + "requires": { + "argparse": "^2.0.1" + } + }, + "jsbn": { + "version": "0.1.1", + "dev": true + }, + "jsc-android": { + "version": "250231.0.0" + }, + "jsc-safe-url": { + "version": "0.2.4" + }, + "jscodeshift": { + "version": "0.14.0", + "requires": { + "@babel/core": "^7.13.16", + "@babel/parser": "^7.13.16", + "@babel/plugin-proposal-class-properties": "^7.13.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", + "@babel/plugin-proposal-optional-chaining": "^7.13.12", + "@babel/plugin-transform-modules-commonjs": "^7.13.8", + "@babel/preset-flow": "^7.13.13", + "@babel/preset-typescript": "^7.13.0", + "@babel/register": "^7.13.16", + "babel-core": "^7.0.0-bridge.0", + "chalk": "^4.1.2", + "flow-parser": "0.*", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "neo-async": "^2.5.0", + "node-dir": "^0.1.17", + "recast": "^0.21.0", + "temp": "^0.8.4", + "write-file-atomic": "^2.3.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jsdom": { + "version": "20.0.3", + "dev": true, + "requires": { + "abab": "^2.0.6", + "acorn": "^8.8.1", + "acorn-globals": "^7.0.0", + "cssom": "^0.5.0", + "cssstyle": "^2.3.0", + "data-urls": "^3.0.2", + "decimal.js": "^10.4.2", + "domexception": "^4.0.0", + "escodegen": "^2.0.0", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.1", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.2", + "parse5": "^7.1.1", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.2", + "w3c-xmlserializer": "^4.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0", + "ws": "^8.11.0", + "xml-name-validator": "^4.0.0" + }, + "dependencies": { + "form-data": { + "version": "4.0.0", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "ws": { + "version": "8.13.0", + "dev": true, + "requires": {} + } + } + }, + "jsesc": { + "version": "2.5.2" + }, + "json-buffer": { + "version": "3.0.1" + }, + "json-parse-better-errors": { + "version": "1.0.2" + }, + "json-parse-even-better-errors": { + "version": "2.3.1" + }, + "json-schema": { + "version": "0.4.0", + "dev": true + }, + "json-schema-deref-sync": { + "version": "0.13.0", + "requires": { + "clone": "^2.1.2", + "dag-map": "~1.0.0", + "is-valid-path": "^0.1.1", + "lodash": "^4.17.13", + "md5": "~2.2.0", + "memory-cache": "~0.2.0", + "traverse": "~0.6.6", + "valid-url": "~1.0.9" + }, + "dependencies": { + "md5": { + "version": "2.2.1", + "requires": { + "charenc": "~0.0.1", + "crypt": "~0.0.1", + "is-buffer": "~1.1.1" + } + } + } + }, + "json-schema-traverse": { + "version": "0.4.1" + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1" + }, + "json-stringify-safe": { + "version": "5.0.1", + "devOptional": true + }, + "json5": { + "version": "2.2.3" + }, + "jsonc-parser": { + "version": "3.2.0" + }, + "jsonfile": { + "version": "6.1.0", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "jsonparse": { + "version": "1.3.1", + "dev": true + }, + "JSONStream": { + "version": "1.3.5", + "dev": true, + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + }, + "jsprim": { + "version": "2.0.2", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "jsx-ast-utils": { + "version": "3.3.5", + "requires": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + } + }, + "keccak": { + "version": "3.0.4", + "requires": { + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0", + "readable-stream": "^3.6.0" + } + }, + "keyv": { + "version": "4.5.3", + "requires": { + "json-buffer": "3.0.1" + } + }, + "kind-of": { + "version": "6.0.3" + }, + "kleur": { + "version": "3.0.3" + }, + "language-subtag-registry": { + "version": "0.3.22" + }, + "language-tags": { + "version": "1.0.5", + "requires": { + "language-subtag-registry": "~0.3.2" + } + }, + "latest-version": { + "version": "3.1.0", + "requires": { + "package-json": "^4.0.0" + } + }, + "lazy-ass": { + "version": "1.6.0", + "dev": true + }, + "lazystream": { + "version": "1.0.1", + "requires": { + "readable-stream": "^2.0.5" + }, + "dependencies": { + "isarray": { + "version": "1.0.0" + }, + "readable-stream": { + "version": "2.3.8", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2" + }, + "string_decoder": { + "version": "1.1.1", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "leven": { + "version": "3.1.0" + }, + "levn": { + "version": "0.4.1", + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lightningcss": { + "version": "1.19.0", + "requires": { + "detect-libc": "^1.0.3", + "lightningcss-darwin-arm64": "1.19.0", + "lightningcss-darwin-x64": "1.19.0", + "lightningcss-linux-arm-gnueabihf": "1.19.0", + "lightningcss-linux-arm64-gnu": "1.19.0", + "lightningcss-linux-arm64-musl": "1.19.0", + "lightningcss-linux-x64-gnu": "1.19.0", + "lightningcss-linux-x64-musl": "1.19.0", + "lightningcss-win32-x64-msvc": "1.19.0" + } + }, + "lightningcss-darwin-arm64": { + "version": "1.19.0", + "optional": true + }, + "lilconfig": { + "version": "2.1.0" + }, + "lines-and-columns": { + "version": "1.2.4" + }, + "lint-staged": { + "version": "14.0.1", + "requires": { + "chalk": "5.3.0", + "commander": "11.0.0", + "debug": "4.3.4", + "execa": "7.2.0", + "lilconfig": "2.1.0", + "listr2": "6.6.1", + "micromatch": "4.0.5", + "pidtree": "0.6.0", + "string-argv": "0.3.2", + "yaml": "2.3.1" + }, + "dependencies": { + "ansi-escapes": { + "version": "5.0.0", + "requires": { + "type-fest": "^1.0.2" + } + }, + "ansi-regex": { + "version": "6.0.1" + }, + "ansi-styles": { + "version": "6.2.1" + }, + "chalk": { + "version": "5.3.0" + }, + "cli-cursor": { + "version": "4.0.0", + "requires": { + "restore-cursor": "^4.0.0" + } + }, + "cli-truncate": { + "version": "3.1.0", + "requires": { + "slice-ansi": "^5.0.0", + "string-width": "^5.0.0" + } + }, + "commander": { + "version": "11.0.0" + }, + "execa": { + "version": "7.2.0", + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + } + }, + "get-stream": { + "version": "6.0.1" + }, + "human-signals": { + "version": "4.3.1" + }, + "is-fullwidth-code-point": { + "version": "4.0.0" + }, + "is-stream": { + "version": "3.0.0" + }, + "listr2": { + "version": "6.6.1", + "requires": { + "cli-truncate": "^3.1.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^5.0.1", + "rfdc": "^1.3.0", + "wrap-ansi": "^8.1.0" + } + }, + "log-update": { + "version": "5.0.1", + "requires": { + "ansi-escapes": "^5.0.0", + "cli-cursor": "^4.0.0", + "slice-ansi": "^5.0.0", + "strip-ansi": "^7.0.1", + "wrap-ansi": "^8.0.1" + } + }, + "mimic-fn": { + "version": "4.0.0" + }, + "npm-run-path": { + "version": "5.1.0", + "requires": { + "path-key": "^4.0.0" + } + }, + "onetime": { + "version": "6.0.0", + "requires": { + "mimic-fn": "^4.0.0" + } + }, + "path-key": { + "version": "4.0.0" + }, + "restore-cursor": { + "version": "4.0.0", + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "dependencies": { + "mimic-fn": { + "version": "2.1.0" + }, + "onetime": { + "version": "5.1.2", + "requires": { + "mimic-fn": "^2.1.0" + } + } + } + }, + "slice-ansi": { + "version": "5.0.0", + "requires": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + } + }, + "string-width": { + "version": "5.1.2", + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "strip-ansi": { + "version": "7.1.0", + "requires": { + "ansi-regex": "^6.0.1" + } + }, + "strip-final-newline": { + "version": "3.0.0" + }, + "type-fest": { + "version": "1.4.0" + }, + "wrap-ansi": { + "version": "8.1.0", + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + } + } + } + }, + "listhen": { + "version": "1.5.5", + "requires": { + "@parcel/watcher": "^2.3.0", + "@parcel/watcher-wasm": "2.3.0", + "citty": "^0.1.4", + "clipboardy": "^3.0.0", + "consola": "^3.2.3", + "defu": "^6.1.2", + "get-port-please": "^3.1.1", + "h3": "^1.8.1", + "http-shutdown": "^1.2.2", + "jiti": "^1.20.0", + "mlly": "^1.4.2", + "node-forge": "^1.3.1", + "pathe": "^1.1.1", + "std-env": "^3.4.3", + "ufo": "^1.3.0", + "untun": "^0.1.2", + "uqr": "^0.1.2" + } + }, + "listr2": { + "version": "3.14.0", + "dev": true, + "requires": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.16", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.5.1", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + } + }, + "load-bmfont": { + "version": "1.4.1", + "dev": true, + "requires": { + "buffer-equal": "0.0.1", + "mime": "^1.3.4", + "parse-bmfont-ascii": "^1.0.3", + "parse-bmfont-binary": "^1.0.5", + "parse-bmfont-xml": "^1.1.4", + "phin": "^2.9.1", + "xhr": "^2.0.1", + "xtend": "^4.0.0" + }, + "dependencies": { + "mime": { + "version": "1.6.0", + "dev": true + } + } + }, + "load-json-file": { + "version": "4.0.0", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "parse-json": { + "version": "4.0.0", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "pify": { + "version": "3.0.0", + "dev": true + }, + "strip-bom": { + "version": "3.0.0", + "dev": true + } + } + }, + "loader-runner": { + "version": "4.3.0", + "dev": true, + "peer": true + }, + "loader-utils": { + "version": "3.2.1", + "dev": true + }, + "locate-path": { + "version": "6.0.0", + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash": { + "version": "4.17.21" + }, + "lodash.debounce": { + "version": "4.0.8" + }, + "lodash.defaults": { + "version": "4.2.0" + }, + "lodash.difference": { + "version": "4.5.0" + }, + "lodash.flatten": { + "version": "4.4.0" + }, + "lodash.flattendeep": { + "version": "4.4.0", + "dev": true + }, + "lodash.isarguments": { + "version": "3.1.0" + }, + "lodash.ismatch": { + "version": "4.4.0", + "dev": true + }, + "lodash.isplainobject": { + "version": "4.0.6" + }, + "lodash.memoize": { + "version": "4.1.2" + }, + "lodash.merge": { + "version": "4.6.2" + }, + "lodash.once": { + "version": "4.1.1", + "dev": true + }, + "lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==" + }, + "lodash.topath": { + "version": "4.5.2" + }, + "lodash.union": { + "version": "4.6.0" + }, + "log-symbols": { + "version": "4.1.0", + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "log-update": { + "version": "4.0.0", + "dev": true, + "requires": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "slice-ansi": { + "version": "4.0.0", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "logkitty": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/logkitty/-/logkitty-0.7.1.tgz", + "integrity": "sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==", + "requires": { + "ansi-fragments": "^0.2.1", + "dayjs": "^1.8.15", + "yargs": "^15.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "loose-envify": { + "version": "1.4.0", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lossless-json": { + "version": "1.0.5" + }, + "lowercase-keys": { + "version": "2.0.0" + }, + "lru-cache": { + "version": "7.18.3" + }, + "lz-string": { + "version": "1.5.0", + "dev": true + }, + "make-dir": { + "version": "4.0.0", + "requires": { + "semver": "^7.5.3" + } + }, + "make-error": { + "version": "1.3.6" + }, + "makeerror": { + "version": "1.0.12", + "requires": { + "tmpl": "1.0.5" + } + }, + "map-obj": { + "version": "4.3.0" + }, + "match-all": { + "version": "1.2.6" + }, + "matcher": { + "version": "3.0.0", + "optional": true, + "requires": { + "escape-string-regexp": "^4.0.0" + } + }, + "matchmediaquery": { + "version": "0.3.1", + "requires": { + "css-mediaquery": "^0.1.2" + } + }, + "md5": { + "version": "2.3.0", + "requires": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + } + }, + "md5-file": { + "version": "3.2.3", + "requires": { + "buffer-alloc": "^1.1.0" + } + }, + "md5.js": { + "version": "1.3.5", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "md5hex": { + "version": "1.0.0" + }, + "mdn-data": { + "version": "2.0.14" + }, + "media-typer": { + "version": "0.3.0" + }, + "memfs": { + "version": "3.5.3", + "dev": true, + "requires": { + "fs-monkey": "^1.0.4" + } + }, + "memoize-one": { + "version": "5.2.1" + }, + "memory-cache": { + "version": "0.2.0" + }, + "meow": { + "version": "8.1.2", + "dev": true, + "requires": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "hosted-git-info": { + "version": "2.8.9", + "dev": true + }, + "locate-path": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "read-pkg": { + "version": "5.2.0", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "normalize-package-data": { + "version": "2.5.0", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "type-fest": { + "version": "0.6.0", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "dev": true + } + } + }, + "semver": { + "version": "5.7.2", + "dev": true + }, + "type-fest": { + "version": "0.18.1", + "dev": true + } + } + }, + "merge-options": { + "version": "3.0.4", + "requires": { + "is-plain-obj": "^2.1.0" + } + }, + "merge-stream": { + "version": "2.0.0" + }, + "merge2": { + "version": "1.4.1" + }, + "metro": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.76.8.tgz", + "integrity": "sha512-oQA3gLzrrYv3qKtuWArMgHPbHu8odZOD9AoavrqSFllkPgOtmkBvNNDLCELqv5SjBfqjISNffypg+5UGG3y0pg==", + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/parser": "^7.20.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "accepts": "^1.3.7", + "async": "^3.2.2", + "chalk": "^4.0.0", + "ci-info": "^2.0.0", + "connect": "^3.6.5", + "debug": "^2.2.0", + "denodeify": "^1.2.1", + "error-stack-parser": "^2.0.6", + "graceful-fs": "^4.2.4", + "hermes-parser": "0.12.0", + "image-size": "^1.0.2", + "invariant": "^2.2.4", + "jest-worker": "^27.2.0", + "jsc-safe-url": "^0.2.2", + "lodash.throttle": "^4.1.1", + "metro-babel-transformer": "0.76.8", + "metro-cache": "0.76.8", + "metro-cache-key": "0.76.8", + "metro-config": "0.76.8", + "metro-core": "0.76.8", + "metro-file-map": "0.76.8", + "metro-inspector-proxy": "0.76.8", + "metro-minify-terser": "0.76.8", + "metro-minify-uglify": "0.76.8", + "metro-react-native-babel-preset": "0.76.8", + "metro-resolver": "0.76.8", + "metro-runtime": "0.76.8", + "metro-source-map": "0.76.8", + "metro-symbolicate": "0.76.8", + "metro-transform-plugins": "0.76.8", + "metro-transform-worker": "0.76.8", + "mime-types": "^2.1.27", + "node-fetch": "^2.2.0", + "nullthrows": "^1.1.1", + "rimraf": "^3.0.2", + "serialize-error": "^2.1.0", + "source-map": "^0.5.6", + "strip-ansi": "^6.0.0", + "throat": "^5.0.0", + "ws": "^7.5.1", + "yargs": "^17.6.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "metro-react-native-babel-preset": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.76.8.tgz", + "integrity": "sha512-Ptza08GgqzxEdK8apYsjTx2S8WDUlS2ilBlu9DR1CUcHmg4g3kOkFylZroogVAUKtpYQNYwAvdsjmrSdDNtiAg==", + "requires": { + "@babel/core": "^7.20.0", + "@babel/plugin-proposal-async-generator-functions": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.18.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", + "@babel/plugin-proposal-numeric-separator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.20.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.18.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-async-to-generator": "^7.20.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.20.0", + "@babel/plugin-transform-flow-strip-types": "^7.20.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.5.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "babel-plugin-transform-flow-enums": "^0.0.2", + "react-refresh": "^0.4.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + }, + "serialize-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", + "integrity": "sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "requires": {} + } + } + }, + "metro-babel-transformer": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.76.8.tgz", + "integrity": "sha512-Hh6PW34Ug/nShlBGxkwQJSgPGAzSJ9FwQXhUImkzdsDgVu6zj5bx258J8cJVSandjNoQ8nbaHK6CaHlnbZKbyA==", + "requires": { + "@babel/core": "^7.20.0", + "hermes-parser": "0.12.0", + "nullthrows": "^1.1.1" + } + }, + "metro-cache": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.76.8.tgz", + "integrity": "sha512-QBJSJIVNH7Hc/Yo6br/U/qQDUpiUdRgZ2ZBJmvAbmAKp2XDzsapnMwK/3BGj8JNWJF7OLrqrYHsRsukSbUBpvQ==", + "requires": { + "metro-core": "0.76.8", + "rimraf": "^3.0.2" + }, + "dependencies": { + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "metro-cache-key": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.76.8.tgz", + "integrity": "sha512-buKQ5xentPig9G6T37Ww/R/bC+/V1MA5xU/D8zjnhlelsrPG6w6LtHUS61ID3zZcMZqYaELWk5UIadIdDsaaLw==" + }, + "metro-config": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.76.8.tgz", + "integrity": "sha512-SL1lfKB0qGHALcAk2zBqVgQZpazDYvYFGwCK1ikz0S6Y/CM2i2/HwuZN31kpX6z3mqjv/6KvlzaKoTb1otuSAA==", + "requires": { + "connect": "^3.6.5", + "cosmiconfig": "^5.0.5", + "jest-validate": "^29.2.1", + "metro": "0.76.8", + "metro-cache": "0.76.8", + "metro-core": "0.76.8", + "metro-runtime": "0.76.8" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==" + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + } + } + }, + "metro-core": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.76.8.tgz", + "integrity": "sha512-sl2QLFI3d1b1XUUGxwzw/KbaXXU/bvFYrSKz6Sg19AdYGWFyzsgZ1VISRIDf+HWm4R/TJXluhWMEkEtZuqi3qA==", + "requires": { + "lodash.throttle": "^4.1.1", + "metro-resolver": "0.76.8" + } + }, + "metro-file-map": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.76.8.tgz", + "integrity": "sha512-A/xP1YNEVwO1SUV9/YYo6/Y1MmzhL4ZnVgcJC3VmHp/BYVOXVStzgVbWv2wILe56IIMkfXU+jpXrGKKYhFyHVw==", + "requires": { + "anymatch": "^3.0.3", + "debug": "^2.2.0", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.4", + "invariant": "^2.2.4", + "jest-regex-util": "^27.0.6", + "jest-util": "^27.2.0", + "jest-worker": "^27.2.0", + "micromatch": "^4.0.4", + "node-abort-controller": "^3.1.1", + "nullthrows": "^1.1.1", + "walker": "^1.0.7" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.6", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.6.tgz", + "integrity": "sha512-oTP7/Q13GSPrgcwEwdlnkoZSQ1Hg9THe644qq8PG6hhJzjZ3qj1JjEFPIwWV/IXVs5XGIVqtkNOS9kh63WIJ+A==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==" + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "metro-inspector-proxy": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.76.8.tgz", + "integrity": "sha512-Us5o5UEd4Smgn1+TfHX4LvVPoWVo9VsVMn4Ldbk0g5CQx3Gu0ygc/ei2AKPGTwsOZmKxJeACj7yMH2kgxQP/iw==", + "requires": { + "connect": "^3.6.5", + "debug": "^2.2.0", + "node-fetch": "^2.2.0", + "ws": "^7.5.1", + "yargs": "^17.6.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "requires": {} + } + } + }, + "metro-minify-terser": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.76.8.tgz", + "integrity": "sha512-Orbvg18qXHCrSj1KbaeSDVYRy/gkro2PC7Fy2tDSH1c9RB4aH8tuMOIXnKJE+1SXxBtjWmQ5Yirwkth2DyyEZA==", + "requires": { + "terser": "^5.15.0" + } + }, + "metro-minify-uglify": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.76.8.tgz", + "integrity": "sha512-6l8/bEvtVaTSuhG1FqS0+Mc8lZ3Bl4RI8SeRIifVLC21eeSDp4CEBUWSGjpFyUDfi6R5dXzYaFnSgMNyfxADiQ==", + "requires": { + "uglify-es": "^3.1.9" + } + }, + "metro-react-native-babel-preset": { + "version": "0.76.7", + "requires": { + "@babel/core": "^7.20.0", + "@babel/plugin-proposal-async-generator-functions": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.18.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", + "@babel/plugin-proposal-numeric-separator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.20.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.18.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-async-to-generator": "^7.20.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.20.0", + "@babel/plugin-transform-flow-strip-types": "^7.20.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.5.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "babel-plugin-transform-flow-enums": "^0.0.2", + "react-refresh": "^0.4.0" + } + }, + "metro-react-native-babel-transformer": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.76.8.tgz", + "integrity": "sha512-3h+LfS1WG1PAzhq8QF0kfXjxuXetbY/lgz8vYMQhgrMMp17WM1DNJD0gjx8tOGYbpbBC1qesJ45KMS4o5TA73A==", + "requires": { + "@babel/core": "^7.20.0", + "babel-preset-fbjs": "^3.4.0", + "hermes-parser": "0.12.0", + "metro-react-native-babel-preset": "0.76.8", + "nullthrows": "^1.1.1" + }, + "dependencies": { + "metro-react-native-babel-preset": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.76.8.tgz", + "integrity": "sha512-Ptza08GgqzxEdK8apYsjTx2S8WDUlS2ilBlu9DR1CUcHmg4g3kOkFylZroogVAUKtpYQNYwAvdsjmrSdDNtiAg==", + "requires": { + "@babel/core": "^7.20.0", + "@babel/plugin-proposal-async-generator-functions": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.18.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", + "@babel/plugin-proposal-numeric-separator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.20.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.18.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-async-to-generator": "^7.20.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.20.0", + "@babel/plugin-transform-flow-strip-types": "^7.20.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.5.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "babel-plugin-transform-flow-enums": "^0.0.2", + "react-refresh": "^0.4.0" + } + } + } + }, + "metro-resolver": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.76.8.tgz", + "integrity": "sha512-KccOqc10vrzS7ZhG2NSnL2dh3uVydarB7nOhjreQ7C4zyWuiW9XpLC4h47KtGQv3Rnv/NDLJYeDqaJ4/+140HQ==" + }, + "metro-runtime": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.8.tgz", + "integrity": "sha512-XKahvB+iuYJSCr3QqCpROli4B4zASAYpkK+j3a0CJmokxCDNbgyI4Fp88uIL6rNaZfN0Mv35S0b99SdFXIfHjg==", + "requires": { + "@babel/runtime": "^7.0.0", + "react-refresh": "^0.4.0" + } + }, + "metro-source-map": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.8.tgz", + "integrity": "sha512-Hh0ncPsHPVf6wXQSqJqB3K9Zbudht4aUtNpNXYXSxH+pteWqGAXnjtPsRAnCsCWl38wL0jYF0rJDdMajUI3BDw==", + "requires": { + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.76.8", + "nullthrows": "^1.1.1", + "ob1": "0.76.8", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" + } + } + }, + "metro-symbolicate": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.8.tgz", + "integrity": "sha512-LrRL3uy2VkzrIXVlxoPtqb40J6Bf1mlPNmUQewipc3qfKKFgtPHBackqDy1YL0njDsWopCKcfGtFYLn0PTUn3w==", + "requires": { + "invariant": "^2.2.4", + "metro-source-map": "0.76.8", + "nullthrows": "^1.1.1", + "source-map": "^0.5.6", + "through2": "^2.0.1", + "vlq": "^1.0.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" + } + } + }, + "metro-transform-plugins": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.76.8.tgz", + "integrity": "sha512-PlkGTQNqS51Bx4vuufSQCdSn2R2rt7korzngo+b5GCkeX5pjinPjnO2kNhQ8l+5bO0iUD/WZ9nsM2PGGKIkWFA==", + "requires": { + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.20.0", + "nullthrows": "^1.1.1" + } + }, + "metro-transform-worker": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.76.8.tgz", + "integrity": "sha512-mE1fxVAnJKmwwJyDtThildxxos9+DGs9+vTrx2ktSFMEVTtXS/bIv2W6hux1pqivqAfyJpTeACXHk5u2DgGvIQ==", + "requires": { + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/parser": "^7.20.0", + "@babel/types": "^7.20.0", + "babel-preset-fbjs": "^3.4.0", + "metro": "0.76.8", + "metro-babel-transformer": "0.76.8", + "metro-cache": "0.76.8", + "metro-cache-key": "0.76.8", + "metro-source-map": "0.76.8", + "metro-transform-plugins": "0.76.8", + "nullthrows": "^1.1.1" + } + }, + "micromatch": { + "version": "4.0.5", + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "miller-rabin": { + "version": "4.0.1", + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0" + } + } + }, + "mime": { + "version": "2.6.0" + }, + "mime-db": { + "version": "1.52.0" + }, + "mime-types": { + "version": "2.1.35", + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0" + }, + "mimic-response": { + "version": "1.0.1" + }, + "min-document": { + "version": "2.19.0", + "dev": true, + "requires": { + "dom-walk": "^0.1.0" + } + }, + "min-indent": { + "version": "1.0.1" + }, + "minimalistic-assert": { + "version": "1.0.1" + }, + "minimalistic-crypto-utils": { + "version": "1.0.1" + }, + "minimatch": { + "version": "3.1.2", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8" + }, + "minimist-options": { + "version": "4.1.0", + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "dependencies": { + "is-plain-obj": { + "version": "1.1.0" + } + } + }, + "minipass": { + "version": "3.1.6", + "requires": { + "yallist": "^4.0.0" + } + }, + "minipass-collect": { + "version": "1.0.2", + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-flush": { + "version": "1.0.5", + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-pipeline": { + "version": "1.2.4", + "requires": { + "minipass": "^3.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + } + }, + "mkdirp": { + "version": "3.0.1" + }, + "mkdirp-classic": { + "version": "0.5.3" + }, + "mlly": { + "version": "1.4.2", + "requires": { + "acorn": "^8.10.0", + "pathe": "^1.1.1", + "pkg-types": "^1.0.3", + "ufo": "^1.3.0" + } + }, + "modern-normalize": { + "version": "1.1.0" + }, + "modify-values": { + "version": "1.0.1", + "dev": true + }, + "mri": { + "version": "1.2.0" + }, + "ms": { + "version": "2.1.2" + }, + "murmurhash": { + "version": "2.0.1" + }, + "mute-stream": { + "version": "0.0.8", + "dev": true + }, + "mv": { + "version": "2.1.1", + "optional": true, + "requires": { + "mkdirp": "~0.5.1", + "ncp": "~2.0.0", + "rimraf": "~2.4.0" + }, + "dependencies": { + "glob": { + "version": "6.0.4", + "optional": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "mkdirp": { + "version": "0.5.6", + "optional": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "rimraf": { + "version": "2.4.5", + "optional": true, + "requires": { + "glob": "^6.0.1" + } + } + } + }, + "mz": { + "version": "2.7.0", + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "nan": { + "version": "2.18.0" + }, + "nanoid": { + "version": "3.3.6" + }, + "napi-build-utils": { + "version": "1.0.2" + }, + "natural-compare": { + "version": "1.4.0" + }, + "ncp": { + "version": "2.0.0", + "optional": true + }, + "negotiator": { + "version": "0.6.3" + }, + "neo-async": { + "version": "2.6.2" + }, + "nested-error-stacks": { + "version": "2.0.1" + }, + "next": { + "version": "13.5.4", + "requires": { + "@next/env": "13.5.4", + "@next/swc-darwin-arm64": "13.5.4", + "@next/swc-darwin-x64": "13.5.4", + "@next/swc-linux-arm64-gnu": "13.5.4", + "@next/swc-linux-arm64-musl": "13.5.4", + "@next/swc-linux-x64-gnu": "13.5.4", + "@next/swc-linux-x64-musl": "13.5.4", + "@next/swc-win32-arm64-msvc": "13.5.4", + "@next/swc-win32-ia32-msvc": "13.5.4", + "@next/swc-win32-x64-msvc": "13.5.4", + "@swc/helpers": "0.5.2", + "busboy": "1.6.0", + "caniuse-lite": "^1.0.30001406", + "postcss": "8.4.31", + "styled-jsx": "5.1.1", + "watchpack": "2.4.0" + } + }, + "next-sitemap": { + "version": "4.2.3", + "requires": { + "@corex/deepmerge": "^4.0.43", + "@next/env": "^13.4.3", + "fast-glob": "^3.2.12", + "minimist": "^1.2.8" + } + }, + "nextjs-progressbar": { + "version": "0.0.16", + "requires": { + "@types/nprogress": "^0.2.0", + "nprogress": "^0.2.0", + "prop-types": "^15.8.1" + } + }, + "nice-try": { + "version": "1.0.5" + }, + "nocache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/nocache/-/nocache-3.0.4.tgz", + "integrity": "sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==" + }, + "node-abi": { + "version": "3.50.0", + "requires": { + "semver": "^7.3.5" + } + }, + "node-abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", + "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==" + }, + "node-addon-api": { + "version": "2.0.2" + }, + "node-dir": { + "version": "0.1.17", + "requires": { + "minimatch": "^3.0.2" + } + }, + "node-emoji": { + "version": "1.11.0", + "requires": { + "lodash": "^4.17.21" + } + }, + "node-fetch": { + "version": "2.6.13", + "requires": { + "whatwg-url": "^5.0.0" + }, + "dependencies": { + "tr46": { + "version": "0.0.3" + }, + "webidl-conversions": { + "version": "3.0.1" + }, + "whatwg-url": { + "version": "5.0.0", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + } + } + }, + "node-fetch-native": { + "version": "1.4.0" + }, + "node-forge": { + "version": "1.3.1" + }, + "node-gyp-build": { + "version": "4.6.1" + }, + "node-int64": { + "version": "0.4.0" + }, + "node-preload": { + "version": "0.2.1", + "dev": true, + "requires": { + "process-on-spawn": "^1.0.0" + } + }, + "node-releases": { + "version": "2.0.13" + }, + "node-stream-zip": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz", + "integrity": "sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==" + }, + "normalize-package-data": { + "version": "3.0.3", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "hosted-git-info": { + "version": "4.1.0", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + } + } + }, + "normalize-path": { + "version": "3.0.0" + }, + "normalize-range": { + "version": "0.1.2", + "peer": true + }, + "normalize-svg-path": { + "version": "1.1.0", + "requires": { + "svg-arc-to-cubic-bezier": "^3.0.0" + } + }, + "normalize-url": { + "version": "2.0.1", + "requires": { + "prepend-http": "^2.0.0", + "query-string": "^5.0.1", + "sort-keys": "^2.0.0" + }, + "dependencies": { + "query-string": { + "version": "5.1.1", + "requires": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "strict-uri-encode": { + "version": "1.1.0" + } + } + }, + "npm-package-arg": { + "version": "7.0.0", + "requires": { + "hosted-git-info": "^3.0.2", + "osenv": "^0.1.5", + "semver": "^5.6.0", + "validate-npm-package-name": "^3.0.0" + }, + "dependencies": { + "semver": { + "version": "5.7.2" + } + } + }, + "npm-run-path": { + "version": "4.0.1", + "requires": { + "path-key": "^3.0.0" + } + }, + "nprogress": { + "version": "0.2.0" + }, + "nth-check": { + "version": "2.1.1", + "requires": { + "boolbase": "^1.0.0" + } + }, + "nullthrows": { + "version": "1.1.1" + }, + "nwsapi": { + "version": "2.2.7", + "dev": true + }, + "nyc": { + "version": "15.1.0", + "dev": true, + "requires": { + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "caching-transform": "^4.0.0", + "convert-source-map": "^1.7.0", + "decamelize": "^1.2.0", + "find-cache-dir": "^3.2.0", + "find-up": "^4.1.0", + "foreground-child": "^2.0.0", + "get-package-type": "^0.1.0", + "glob": "^7.1.6", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-hook": "^3.0.0", + "istanbul-lib-instrument": "^4.0.0", + "istanbul-lib-processinfo": "^2.0.2", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "make-dir": "^3.0.0", + "node-preload": "^0.2.1", + "p-map": "^3.0.0", + "process-on-spawn": "^1.0.0", + "resolve-from": "^5.0.0", + "rimraf": "^3.0.0", + "signal-exit": "^3.0.2", + "spawn-wrap": "^2.0.0", + "test-exclude": "^6.0.0", + "yargs": "^15.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "cliui": { + "version": "6.0.0", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "find-cache-dir": { + "version": "3.3.2", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-up": { + "version": "4.1.0", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "istanbul-lib-instrument": { + "version": "4.0.3", + "dev": true, + "requires": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + } + }, + "locate-path": { + "version": "5.0.0", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "make-dir": { + "version": "3.1.0", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-map": { + "version": "3.0.0", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "pkg-dir": { + "version": "4.2.0", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "rimraf": { + "version": "3.0.2", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "6.3.1", + "dev": true + }, + "wrap-ansi": { + "version": "6.2.0", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "4.0.3", + "dev": true + }, + "yargs": { + "version": "15.4.1", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } + }, + "yargs-parser": { + "version": "18.1.3", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "ob1": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.8.tgz", + "integrity": "sha512-dlBkJJV5M/msj9KYA9upc+nUWVwuOFFTbu28X6kZeGwcuW+JxaHSBZ70SYQnk5M+j5JbNLR6yKHmgW4M5E7X5g==" + }, + "object-assign": { + "version": "4.1.1" + }, + "object-hash": { + "version": "2.2.0" + }, + "object-inspect": { + "version": "1.12.3" + }, + "object-is": { + "version": "1.1.5", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "object-keys": { + "version": "1.1.1" + }, + "object.assign": { + "version": "4.1.4", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.entries": { + "version": "1.1.6", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.fromentries": { + "version": "2.0.6", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.groupby": { + "version": "1.0.0", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.21.2", + "get-intrinsic": "^1.2.1" + } + }, + "object.hasown": { + "version": "1.1.2", + "requires": { + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.values": { + "version": "1.1.6", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "ofetch": { + "version": "1.3.3", + "requires": { + "destr": "^2.0.1", + "node-fetch-native": "^1.4.0", + "ufo": "^1.3.0" + } + }, + "omggif": { + "version": "1.0.10", + "dev": true + }, + "on-finished": { + "version": "2.4.1", + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + }, + "once": { + "version": "1.4.0", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "8.4.2", + "requires": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + } + }, + "optionator": { + "version": "0.9.3", + "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + } + }, + "ora": { + "version": "3.4.0", + "requires": { + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-spinners": "^2.0.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^5.2.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1" + }, + "cli-cursor": { + "version": "2.1.0", + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "log-symbols": { + "version": "2.2.0", + "requires": { + "chalk": "^2.0.1" + } + }, + "mimic-fn": { + "version": "1.2.0" + }, + "onetime": { + "version": "2.0.1", + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "restore-cursor": { + "version": "2.0.0", + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "strip-ansi": { + "version": "5.2.0", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "os-browserify": { + "version": "0.3.0" + }, + "os-homedir": { + "version": "1.0.2" + }, + "os-tmpdir": { + "version": "1.0.2" + }, + "osenv": { + "version": "0.1.5", + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "ospath": { + "version": "1.2.2", + "dev": true + }, + "p-cancelable": { + "version": "2.1.1" + }, + "p-finally": { + "version": "1.0.0" + }, + "p-limit": { + "version": "3.1.0", + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "requires": { + "p-limit": "^3.0.2" + } + }, + "p-map": { + "version": "4.0.0", + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-try": { + "version": "2.2.0" + }, + "package-hash": { + "version": "4.0.0", + "dev": true, + "requires": { + "graceful-fs": "^4.1.15", + "hasha": "^5.0.0", + "lodash.flattendeep": "^4.4.0", + "release-zalgo": "^1.0.0" + } + }, + "package-json": { + "version": "4.0.1", + "requires": { + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" + }, + "dependencies": { + "get-stream": { + "version": "3.0.0" + }, + "got": { + "version": "6.7.1", + "requires": { + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" + } + }, + "is-stream": { + "version": "1.1.0" + }, + "lowercase-keys": { + "version": "1.0.1" + }, + "semver": { + "version": "5.7.2" + } + } + }, + "pako": { + "version": "1.0.11", + "dev": true + }, + "parent-module": { + "version": "1.0.1", + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-asn1": { + "version": "5.1.6", + "requires": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-bmfont-ascii": { + "version": "1.0.6", + "dev": true + }, + "parse-bmfont-binary": { + "version": "1.0.6", + "dev": true + }, + "parse-bmfont-xml": { + "version": "1.1.4", + "dev": true, + "requires": { + "xml-parse-from-string": "^1.0.0", + "xml2js": "^0.4.5" + }, + "dependencies": { + "xml2js": { + "version": "0.4.23", + "dev": true, + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + } + }, + "xmlbuilder": { + "version": "11.0.1", + "dev": true + } + } + }, + "parse-headers": { + "version": "2.0.5", + "dev": true + }, + "parse-json": { + "version": "5.2.0", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parse-png": { + "version": "2.1.0", + "requires": { + "pngjs": "^3.3.0" + } + }, + "parse-svg-path": { + "version": "0.1.2" + }, + "parse5": { + "version": "7.1.2", + "dev": true, + "requires": { + "entities": "^4.4.0" + } + }, + "parseurl": { + "version": "1.3.3" + }, + "password-prompt": { + "version": "1.1.3", + "requires": { + "ansi-escapes": "^4.3.2", + "cross-spawn": "^7.0.3" + } + }, + "path-browserify": { + "version": "1.0.1" + }, + "path-exists": { + "version": "4.0.0" + }, + "path-is-absolute": { + "version": "1.0.1" + }, + "path-is-inside": { + "version": "1.0.2" + }, + "path-key": { + "version": "3.1.1" + }, + "path-parse": { + "version": "1.0.7" + }, + "path-type": { + "version": "4.0.0" + }, + "pathe": { + "version": "1.1.1" + }, + "pbkdf2": { + "version": "3.1.2", + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "pend": { + "version": "1.2.0" + }, + "performance-now": { + "version": "2.1.0", + "dev": true + }, + "phin": { + "version": "2.9.3", + "dev": true + }, + "picocolors": { + "version": "1.0.0" + }, + "picomatch": { + "version": "2.3.1" + }, + "pidtree": { + "version": "0.6.0" + }, + "pify": { + "version": "2.3.0", + "dev": true + }, + "pirates": { + "version": "4.0.6" + }, + "pixelmatch": { + "version": "5.3.0", + "dev": true, + "requires": { + "pngjs": "^6.0.0" + }, + "dependencies": { + "pngjs": { + "version": "6.0.0", + "dev": true + } + } + }, + "pkg-dir": { + "version": "7.0.0", + "dev": true, + "peer": true, + "requires": { + "find-up": "^6.3.0" + }, + "dependencies": { + "find-up": { + "version": "6.3.0", + "dev": true, + "peer": true, + "requires": { + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" + } + }, + "locate-path": { + "version": "7.2.0", + "dev": true, + "peer": true, + "requires": { + "p-locate": "^6.0.0" + } + }, + "p-limit": { + "version": "4.0.0", + "dev": true, + "peer": true, + "requires": { + "yocto-queue": "^1.0.0" + } + }, + "p-locate": { + "version": "6.0.0", + "dev": true, + "peer": true, + "requires": { + "p-limit": "^4.0.0" + } + }, + "path-exists": { + "version": "5.0.0", + "dev": true, + "peer": true + }, + "yocto-queue": { + "version": "1.0.0", + "dev": true, + "peer": true + } + } + }, + "pkg-types": { + "version": "1.0.3", + "requires": { + "jsonc-parser": "^3.2.0", + "mlly": "^1.2.0", + "pathe": "^1.1.0" + } + }, + "pkg-up": { + "version": "3.1.0", + "requires": { + "find-up": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0" + } + } + }, + "plist": { + "version": "3.1.0", + "requires": { + "@xmldom/xmldom": "^0.8.8", + "base64-js": "^1.5.1", + "xmlbuilder": "^15.1.1" + }, + "dependencies": { + "@xmldom/xmldom": { + "version": "0.8.10" + }, + "xmlbuilder": { + "version": "15.1.1" + } + } + }, + "pngjs": { + "version": "3.4.0" + }, + "postcss": { + "version": "8.4.31", + "requires": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-js": { + "version": "3.0.3", + "requires": { + "camelcase-css": "^2.0.1", + "postcss": "^8.1.6" + } + }, + "postcss-load-config": { + "version": "3.1.4", + "requires": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + }, + "dependencies": { + "yaml": { + "version": "1.10.2" + } + } + }, + "postcss-nested": { + "version": "5.0.6", + "requires": { + "postcss-selector-parser": "^6.0.6" + } + }, + "postcss-selector-parser": { + "version": "6.0.13", + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-value-parser": { + "version": "4.2.0" + }, + "prebuild-install": { + "version": "7.1.1", + "requires": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "dependencies": { + "detect-libc": { + "version": "2.0.2" + } + } + }, + "prelude-ls": { + "version": "1.2.1" + }, + "prepend-http": { + "version": "2.0.0" + }, + "prettier": { + "version": "3.0.3" + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "requires": { + "fast-diff": "^1.1.2" + } + }, + "pretty-bytes": { + "version": "5.6.0" + }, + "pretty-format": { + "version": "27.5.1", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "dev": true + }, + "react-is": { + "version": "17.0.2", + "dev": true + } + } + }, + "pretty-hrtime": { + "version": "1.0.3" + }, + "process": { + "version": "0.11.10" + }, + "process-nextick-args": { + "version": "2.0.1" + }, + "process-on-spawn": { + "version": "1.0.0", + "dev": true, + "requires": { + "fromentries": "^1.2.0" + } + }, + "progress": { + "version": "2.0.3" + }, + "promise": { + "version": "7.3.1", + "requires": { + "asap": "~2.0.3" + } + }, + "promise-inflight": { + "version": "1.0.1" + }, + "prompts": { + "version": "2.4.2", + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "prop-types": { + "version": "15.8.1", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "proper-lockfile": { + "version": "4.1.2", + "requires": { + "graceful-fs": "^4.2.4", + "retry": "^0.12.0", + "signal-exit": "^3.0.2" + } + }, + "properties-reader": { + "version": "2.3.0", + "requires": { + "mkdirp": "^1.0.4" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4" + } + } + }, + "proxy-from-env": { + "version": "1.0.0", + "dev": true + }, + "pseudomap": { + "version": "1.0.2" + }, + "psl": { + "version": "1.9.0", + "dev": true + }, + "public-encrypt": { + "version": "4.0.3", + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0" + } + } + }, + "pump": { + "version": "3.0.0", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.3.0" + }, + "pure-rand": { + "version": "6.0.2" + }, + "purgecss": { + "version": "4.1.3", + "requires": { + "commander": "^8.0.0", + "glob": "^7.1.7", + "postcss": "^8.3.5", + "postcss-selector-parser": "^6.0.6" + }, + "dependencies": { + "commander": { + "version": "8.3.0" + }, + "glob": { + "version": "7.2.3", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "q": { + "version": "1.5.1", + "dev": true + }, + "qr.js": { + "version": "0.0.0" + }, + "qrcode-terminal": { + "version": "0.11.0" + }, + "qs": { + "version": "6.10.4", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + }, + "query-string": { + "version": "7.1.3", + "requires": { + "decode-uri-component": "^0.2.2", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + } + }, + "querystringify": { + "version": "2.2.0" + }, + "queue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "requires": { + "inherits": "~2.0.3" + } + }, + "queue-microtask": { + "version": "1.2.3" + }, + "queue-tick": { + "version": "1.0.1" + }, + "quick-lru": { + "version": "5.1.1" + }, + "radix3": { + "version": "1.1.0" + }, + "randombytes": { + "version": "2.1.0", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomcolor": { + "version": "0.6.2", + "dev": true + }, + "randomfill": { + "version": "1.0.4", + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1" + }, + "raw-body": { + "version": "2.5.2", + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "rc": { + "version": "1.2.8", + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "ini": { + "version": "1.3.8" + }, + "strip-json-comments": { + "version": "2.0.1" + } + } + }, + "react": { + "version": "18.2.0", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "react-content-loader": { + "version": "6.2.1", + "requires": {} + }, + "react-dev-utils": { + "version": "12.0.1", + "dev": true, + "requires": { + "@babel/code-frame": "^7.16.0", + "address": "^1.1.2", + "browserslist": "^4.18.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "detect-port-alt": "^1.1.6", + "escape-string-regexp": "^4.0.0", + "filesize": "^8.0.6", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.5.0", + "global-modules": "^2.0.0", + "globby": "^11.0.4", + "gzip-size": "^6.0.0", + "immer": "^9.0.7", + "is-root": "^2.1.0", + "loader-utils": "^3.2.0", + "open": "^8.4.0", + "pkg-up": "^3.1.0", + "prompts": "^2.4.2", + "react-error-overlay": "^6.0.11", + "recursive-readdir": "^2.2.2", + "shell-quote": "^1.7.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "react-devtools": { + "version": "4.28.0", + "requires": { + "cross-spawn": "^5.0.1", + "electron": "^23.1.2", + "ip": "^1.1.4", + "minimist": "^1.2.3", + "react-devtools-core": "4.28.0", + "update-notifier": "^2.1.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "lru-cache": { + "version": "4.1.5", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "shebang-command": { + "version": "1.2.0", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0" + }, + "which": { + "version": "1.3.1", + "requires": { + "isexe": "^2.0.0" + } + }, + "yallist": { + "version": "2.1.2" + } + } + }, + "react-devtools-core": { + "version": "4.28.0", + "requires": { + "shell-quote": "^1.6.1", + "ws": "^7" + } + }, + "react-dom": { + "version": "18.2.0", + "requires": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + } + }, + "react-error-overlay": { + "version": "6.0.11", + "dev": true + }, + "react-freeze": { + "version": "1.0.3", + "requires": {} + }, + "react-hook-form": { + "version": "7.45.4", + "requires": {} + }, + "react-icons": { + "version": "4.11.0", + "requires": {} + }, + "react-is": { + "version": "16.13.1" + }, + "react-lifecycles-compat": { + "version": "3.0.4" + }, + "react-native": { + "version": "0.72.5", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.72.5.tgz", + "integrity": "sha512-oIewslu5DBwOmo7x5rdzZlZXCqDIna0R4dUwVpfmVteORYLr4yaZo5wQnMeR+H7x54GaMhmgeqp0ZpULtulJFg==", + "requires": { + "@jest/create-cache-key-function": "^29.2.1", + "@react-native-community/cli": "11.3.7", + "@react-native-community/cli-platform-android": "11.3.7", + "@react-native-community/cli-platform-ios": "11.3.7", + "@react-native/assets-registry": "^0.72.0", + "@react-native/codegen": "^0.72.7", + "@react-native/gradle-plugin": "^0.72.11", + "@react-native/js-polyfills": "^0.72.1", + "@react-native/normalize-colors": "^0.72.0", + "@react-native/virtualized-lists": "^0.72.8", + "abort-controller": "^3.0.0", + "anser": "^1.4.9", + "base64-js": "^1.1.2", + "deprecated-react-native-prop-types": "4.1.0", + "event-target-shim": "^5.0.1", + "flow-enums-runtime": "^0.0.5", + "invariant": "^2.2.4", + "jest-environment-node": "^29.2.1", + "jsc-android": "^250231.0.0", + "memoize-one": "^5.0.0", + "metro-runtime": "0.76.8", + "metro-source-map": "0.76.8", + "mkdirp": "^0.5.1", + "nullthrows": "^1.1.1", + "pretty-format": "^26.5.2", + "promise": "^8.3.0", + "react-devtools-core": "^4.27.2", + "react-refresh": "^0.4.0", + "react-shallow-renderer": "^16.15.0", + "regenerator-runtime": "^0.13.2", + "scheduler": "0.24.0-canary-efb381bbf-20230505", + "stacktrace-parser": "^0.1.10", + "use-sync-external-store": "^1.0.0", + "whatwg-fetch": "^3.0.0", + "ws": "^6.2.2", + "yargs": "^17.6.2" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "15.0.15", + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "mkdirp": { + "version": "0.5.6", + "requires": { + "minimist": "^1.2.6" + } + }, + "pretty-format": { + "version": "26.6.2", + "requires": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + } + }, + "promise": { + "version": "8.3.0", + "requires": { + "asap": "~2.0.6" + } + }, + "react-is": { + "version": "17.0.2" + }, + "regenerator-runtime": { + "version": "0.13.11" + }, + "scheduler": { + "version": "0.24.0-canary-efb381bbf-20230505", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + }, + "ws": { + "version": "6.2.2", + "requires": { + "async-limiter": "~1.0.0" + } + } + } + }, + "react-native-circular-progress-indicator": { + "version": "4.4.2", + "requires": { + "react-native-redash": "*" + } + }, + "react-native-collapsible": { + "version": "1.6.1", + "requires": {} + }, + "react-native-confirmation-code-field": { + "version": "7.3.1", + "requires": {} + }, + "react-native-gesture-handler": { + "version": "2.12.1", + "requires": { + "@egjs/hammerjs": "^2.0.17", + "hoist-non-react-statics": "^3.3.0", + "invariant": "^2.2.4", + "lodash": "^4.17.21", + "prop-types": "^15.7.2" + } + }, + "react-native-get-random-values": { + "version": "1.9.0", + "requires": { + "fast-base64-decode": "^1.0.0" + } + }, + "react-native-iphone-x-helper": { + "version": "1.3.1", + "requires": {} + }, + "react-native-keyboard-aware-scroll-view": { + "version": "0.9.5", + "requires": { + "prop-types": "^15.6.2", + "react-native-iphone-x-helper": "^1.0.3" + } + }, + "react-native-popover-view": { + "version": "5.1.8", + "requires": { + "deprecated-react-native-prop-types": "^2.3.0", + "prop-types": "^15.8.1" + }, + "dependencies": { + "deprecated-react-native-prop-types": { + "version": "2.3.0", + "requires": { + "@react-native/normalize-color": "*", + "invariant": "*", + "prop-types": "*" + } + } + } + }, + "react-native-progress": { + "version": "5.0.0", + "requires": { + "prop-types": "^15.7.2" + } + }, + "react-native-reanimated": { + "version": "3.3.0", + "requires": { + "@babel/plugin-transform-object-assign": "^7.16.7", + "@babel/preset-typescript": "^7.16.7", + "convert-source-map": "^2.0.0", + "invariant": "^2.2.4" + }, + "dependencies": { + "convert-source-map": { + "version": "2.0.0" + } + } + }, + "react-native-redash": { + "version": "18.1.0", + "requires": { + "abs-svg-path": "^0.1.1", + "normalize-svg-path": "^1.0.1", + "parse-svg-path": "^0.1.2" + } + }, + "react-native-safe-area-context": { + "version": "4.6.3", + "requires": {} + }, + "react-native-screens": { + "version": "3.22.1", + "requires": { + "react-freeze": "^1.0.0", + "warn-once": "^0.1.0" + } + }, + "react-native-svg": { + "version": "13.9.0", + "requires": { + "css-select": "^5.1.0", + "css-tree": "^1.1.3" + } + }, + "react-native-swiper-flatlist": { + "version": "3.2.3", + "requires": {} + }, + "react-native-tcp": { + "version": "4.0.0", + "requires": { + "base64-js": "0.0.8", + "buffer": "^5.0.0", + "events": "^1.0.2", + "ip-regex": "^1.0.3", + "process": "^0.11.9", + "util": "^0.10.3" + }, + "dependencies": { + "base64-js": { + "version": "0.0.8" + }, + "buffer": { + "version": "5.7.1", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + }, + "dependencies": { + "base64-js": { + "version": "1.5.1" + } + } + }, + "events": { + "version": "1.1.1" + }, + "ip-regex": { + "version": "1.0.3" + } + } + }, + "react-native-toast-notifications": { + "version": "3.3.1", + "requires": {} + }, + "react-native-web": { + "version": "0.19.7", + "requires": { + "@babel/runtime": "^7.18.6", + "@react-native/normalize-color": "^2.1.0", + "fbjs": "^3.0.4", + "inline-style-prefixer": "^6.0.1", + "memoize-one": "^6.0.0", + "nullthrows": "^1.1.1", + "postcss-value-parser": "^4.2.0", + "styleq": "^0.1.3" + }, + "dependencies": { + "memoize-one": { + "version": "6.0.0" + } + } + }, + "react-number-format": { + "version": "5.3.0", + "requires": { + "prop-types": "^15.7.2" + } + }, + "react-overlays": { + "version": "5.2.1", + "requires": { + "@babel/runtime": "^7.13.8", + "@popperjs/core": "^2.11.6", + "@restart/hooks": "^0.4.7", + "@types/warning": "^3.0.0", + "dom-helpers": "^5.2.0", + "prop-types": "^15.7.2", + "uncontrollable": "^7.2.1", + "warning": "^4.0.3" + } + }, + "react-qr-code": { + "version": "2.0.12", + "requires": { + "prop-types": "^15.8.1", + "qr.js": "0.0.0" + } + }, + "react-redux": { + "version": "8.1.3", + "requires": { + "@babel/runtime": "^7.12.1", + "@types/hoist-non-react-statics": "^3.3.1", + "@types/use-sync-external-store": "^0.0.3", + "hoist-non-react-statics": "^3.3.2", + "react-is": "^18.0.0", + "use-sync-external-store": "^1.0.0" + }, + "dependencies": { + "react-is": { + "version": "18.2.0" + } + } + }, + "react-refresh": { + "version": "0.4.3" + }, + "react-responsive": { + "version": "9.0.2", + "requires": { + "hyphenate-style-name": "^1.0.0", + "matchmediaquery": "^0.3.0", + "prop-types": "^15.6.1", + "shallow-equal": "^1.2.1" + } + }, + "react-shallow-renderer": { + "version": "16.15.0", + "requires": { + "object-assign": "^4.1.1", + "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0" + } + }, + "react-test-renderer": { + "version": "18.1.0", + "dev": true, + "requires": { + "react-is": "^18.1.0", + "react-shallow-renderer": "^16.15.0", + "scheduler": "^0.22.0" + }, + "dependencies": { + "react-is": { + "version": "18.2.0", + "dev": true + }, + "scheduler": { + "version": "0.22.0", + "dev": true, + "requires": { + "loose-envify": "^1.1.0" + } + } + } + }, + "read-pkg": { + "version": "3.0.0", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "dependencies": { + "hosted-git-info": { + "version": "2.8.9", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "path-type": { + "version": "3.0.0", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "dev": true + }, + "semver": { + "version": "5.7.2", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "3.0.0", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "dev": true + } + } + }, + "readable-stream": { + "version": "3.6.2", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdir-glob": { + "version": "1.1.3", + "requires": { + "minimatch": "^5.1.0" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "5.1.6", + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "readdirp": { + "version": "3.6.0", + "requires": { + "picomatch": "^2.2.1" + } + }, + "readline": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/readline/-/readline-1.3.0.tgz", + "integrity": "sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==" + }, + "recast": { + "version": "0.21.5", + "requires": { + "ast-types": "0.15.2", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tslib": "^2.0.1" + } + }, + "recursive-readdir": { + "version": "2.2.3", + "dev": true, + "requires": { + "minimatch": "^3.0.5" + } + }, + "recyclerlistview": { + "version": "4.2.0", + "requires": { + "lodash.debounce": "4.0.8", + "prop-types": "15.8.1", + "ts-object-utils": "0.0.5" + } + }, + "redent": { + "version": "3.0.0", + "requires": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + } + }, + "redis-errors": { + "version": "1.2.0" + }, + "redis-parser": { + "version": "3.0.0", + "requires": { + "redis-errors": "^1.0.0" + } + }, + "reduce-css-calc": { + "version": "2.1.8", + "requires": { + "css-unit-converter": "^1.1.1", + "postcss-value-parser": "^3.3.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1" + } + } + }, + "redux": { + "version": "4.2.1", + "requires": { + "@babel/runtime": "^7.9.2" + } + }, + "redux-thunk": { + "version": "2.4.2", + "requires": {} + }, + "reflect.getprototypeof": { + "version": "1.0.3", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.1", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + } + }, + "regenerate": { + "version": "1.4.2" + }, + "regenerate-unicode-properties": { + "version": "10.1.0", + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-runtime": { + "version": "0.14.0" + }, + "regenerator-transform": { + "version": "0.15.2", + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regexp.prototype.flags": { + "version": "1.5.0", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" + } + }, + "regexpp": { + "version": "3.2.0" + }, + "regexpu-core": { + "version": "5.3.2", + "requires": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + } + }, + "registry-auth-token": { + "version": "3.4.0", + "requires": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "registry-url": { + "version": "3.1.0", + "requires": { + "rc": "^1.0.1" + } + }, + "regjsparser": { + "version": "0.9.1", + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0" + } + } + }, + "release-zalgo": { + "version": "1.0.0", + "dev": true, + "requires": { + "es6-error": "^4.0.1" + } + }, + "remove-trailing-slash": { + "version": "0.1.1" + }, + "request-progress": { + "version": "3.0.0", + "dev": true, + "requires": { + "throttleit": "^1.0.0" + } + }, + "require-directory": { + "version": "2.1.1" + }, + "require-from-string": { + "version": "2.0.2" + }, + "require-main-filename": { + "version": "2.0.0" + }, + "requireg": { + "version": "0.2.2", + "requires": { + "nested-error-stacks": "~2.0.1", + "rc": "~1.2.7", + "resolve": "~1.7.1" + }, + "dependencies": { + "resolve": { + "version": "1.7.1", + "requires": { + "path-parse": "^1.0.5" + } + } + } + }, + "requires-port": { + "version": "1.0.0" + }, + "reselect": { + "version": "4.1.8" + }, + "resolve": { + "version": "1.22.4", + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-alpn": { + "version": "1.2.1" + }, + "resolve-cwd": { + "version": "3.0.0", + "requires": { + "resolve-from": "^5.0.0" + } + }, + "resolve-from": { + "version": "5.0.0" + }, + "resolve-pkg-maps": { + "version": "1.0.0" + }, + "resolve-url": { + "version": "0.2.1" + }, + "resolve.exports": { + "version": "2.0.2" + }, + "responselike": { + "version": "2.0.1", + "requires": { + "lowercase-keys": "^2.0.0" + } + }, + "restore-cursor": { + "version": "3.1.0", + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "retry": { + "version": "0.12.0" + }, + "reusify": { + "version": "1.0.4" + }, + "rfdc": { + "version": "1.3.0" + }, + "rgb-regex": { + "version": "1.0.1" + }, + "rgba-regex": { + "version": "1.0.0" + }, + "rimraf": { + "version": "2.7.1", + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "roarr": { + "version": "2.15.4", + "optional": true, + "requires": { + "boolean": "^3.0.1", + "detect-node": "^2.0.4", + "globalthis": "^1.0.1", + "json-stringify-safe": "^5.0.1", + "semver-compare": "^1.0.0", + "sprintf-js": "^1.1.2" + } + }, + "rtl-detect": { + "version": "1.0.4" + }, + "run-applescript": { + "version": "5.0.0", + "requires": { + "execa": "^5.0.0" + }, + "dependencies": { + "execa": { + "version": "5.1.1", + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "6.0.1" + }, + "human-signals": { + "version": "2.1.0" + } + } + }, + "run-async": { + "version": "2.4.1", + "dev": true + }, + "run-parallel": { + "version": "1.2.0", + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "rxjs": { + "version": "7.8.1", + "dev": true, + "requires": { + "tslib": "^2.1.0" + } + }, + "safe-array-concat": { + "version": "1.0.0", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + } + }, + "safe-buffer": { + "version": "5.2.1" + }, + "safe-json-stringify": { + "version": "1.2.0", + "optional": true + }, + "safe-regex-test": { + "version": "1.0.0", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + } + }, + "safer-buffer": { + "version": "2.1.2" + }, + "sax": { + "version": "1.2.4" + }, + "saxes": { + "version": "6.0.0", + "dev": true, + "requires": { + "xmlchars": "^2.2.0" + } + }, + "scheduler": { + "version": "0.23.0", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "schema-utils": { + "version": "4.2.0", + "dev": true, + "peer": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "dev": true, + "peer": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "dev": true, + "peer": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "dev": true, + "peer": true + } + } + }, + "scrypt-js": { + "version": "3.0.1" + }, + "semver": { + "version": "7.5.4", + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "requires": { + "yallist": "^4.0.0" + } + } + } + }, + "semver-compare": { + "version": "1.0.0", + "optional": true + }, + "semver-diff": { + "version": "2.1.0", + "requires": { + "semver": "^5.0.3" + }, + "dependencies": { + "semver": { + "version": "5.7.2" + } + } + }, + "send": { + "version": "0.18.0", + "requires": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0" + } + } + }, + "mime": { + "version": "1.6.0" + }, + "ms": { + "version": "2.1.3" + }, + "statuses": { + "version": "2.0.1" + } + } + }, + "serialize-error": { + "version": "6.0.0", + "requires": { + "type-fest": "^0.12.0" + }, + "dependencies": { + "type-fest": { + "version": "0.12.0" + } + } + }, + "serialize-javascript": { + "version": "6.0.1", + "dev": true, + "peer": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, + "set-blocking": { + "version": "2.0.0" + }, + "setimmediate": { + "version": "1.0.5" + }, + "setprototypeof": { + "version": "1.2.0" + }, + "sha.js": { + "version": "2.4.11", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shallow-clone": { + "version": "3.0.1", + "requires": { + "kind-of": "^6.0.2" + } + }, + "shallow-equal": { + "version": "1.2.1" + }, + "sharp": { + "version": "0.32.6", + "requires": { + "color": "^4.2.3", + "detect-libc": "^2.0.2", + "node-addon-api": "^6.1.0", + "prebuild-install": "^7.1.1", + "semver": "^7.5.4", + "simple-get": "^4.0.1", + "tar-fs": "^3.0.4", + "tunnel-agent": "^0.6.0" + }, + "dependencies": { + "detect-libc": { + "version": "2.0.2" + }, + "node-addon-api": { + "version": "6.1.0" + }, + "tar-fs": { + "version": "3.0.4", + "requires": { + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^3.1.5" + } + }, + "tar-stream": { + "version": "3.1.6", + "requires": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + } + } + }, + "shebang-command": { + "version": "2.0.0", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0" + }, + "shell-quote": { + "version": "1.8.1" + }, + "side-channel": { + "version": "1.0.4", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.7" + }, + "simple-concat": { + "version": "1.0.1" + }, + "simple-get": { + "version": "4.0.1", + "requires": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "simple-plist": { + "version": "1.3.1", + "requires": { + "bplist-creator": "0.1.0", + "bplist-parser": "0.3.1", + "plist": "^3.0.5" + }, + "dependencies": { + "bplist-parser": { + "version": "0.3.1", + "requires": { + "big-integer": "1.6.x" + } + } + } + }, + "simple-swizzle": { + "version": "0.2.2", + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2" + } + } + }, + "sisteransi": { + "version": "1.0.5" + }, + "slash": { + "version": "3.0.0" + }, + "slice-ansi": { + "version": "3.0.0", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + } + } + }, + "slugify": { + "version": "1.6.6" + }, + "smart-buffer": { + "version": "4.2.0" + }, + "sort-keys": { + "version": "2.0.0", + "requires": { + "is-plain-obj": "^1.0.0" + }, + "dependencies": { + "is-plain-obj": { + "version": "1.1.0" + } + } + }, + "source-map": { + "version": "0.6.1" + }, + "source-map-js": { + "version": "1.0.2" + }, + "source-map-resolve": { + "version": "0.5.3", + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.13", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "source-map-url": { + "version": "0.4.1" + }, + "spawn-wrap": { + "version": "2.0.0", + "dev": true, + "requires": { + "foreground-child": "^2.0.0", + "is-windows": "^1.0.2", + "make-dir": "^3.0.0", + "rimraf": "^3.0.0", + "signal-exit": "^3.0.2", + "which": "^2.0.1" + }, + "dependencies": { + "make-dir": { + "version": "3.1.0", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "rimraf": { + "version": "3.0.2", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "6.3.1", + "dev": true + } + } + }, + "spdx-correct": { + "version": "3.2.0", + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0" + }, + "spdx-expression-parse": { + "version": "3.0.1", + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.13" + }, + "split": { + "version": "1.0.1", + "requires": { + "through": "2" + } + }, + "split-ca": { + "version": "1.0.1" + }, + "split-on-first": { + "version": "1.1.0" + }, + "split2": { + "version": "3.2.2", + "dev": true, + "requires": { + "readable-stream": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.1.2", + "optional": true + }, + "ssh-remote-port-forward": { + "version": "1.0.4", + "requires": { + "@types/ssh2": "^0.5.48", + "ssh2": "^1.4.0" + }, + "dependencies": { + "@types/ssh2": { + "version": "0.5.52", + "requires": { + "@types/node": "*", + "@types/ssh2-streams": "*" + } + } + } + }, + "ssh2": { + "version": "1.14.0", + "requires": { + "asn1": "^0.2.6", + "bcrypt-pbkdf": "^1.0.2", + "cpu-features": "~0.0.8", + "nan": "^2.17.0" + } + }, + "sshpk": { + "version": "1.17.0", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "8.0.1", + "requires": { + "minipass": "^3.1.1" + } + }, + "stack-utils": { + "version": "2.0.6", + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0" + } + } + }, + "stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" + }, + "stacktrace-parser": { + "version": "0.1.10", + "requires": { + "type-fest": "^0.7.1" + }, + "dependencies": { + "type-fest": { + "version": "0.7.1" + } + } + }, + "standard-as-callback": { + "version": "2.1.0" + }, + "standard-version": { + "version": "9.5.0", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "conventional-changelog": "3.1.25", + "conventional-changelog-config-spec": "2.1.0", + "conventional-changelog-conventionalcommits": "4.6.3", + "conventional-recommended-bump": "6.1.0", + "detect-indent": "^6.0.0", + "detect-newline": "^3.1.0", + "dotgitignore": "^2.1.0", + "figures": "^3.1.0", + "find-up": "^5.0.0", + "git-semver-tags": "^4.0.0", + "semver": "^7.1.1", + "stringify-package": "^1.0.1", + "yargs": "^16.0.0" + }, + "dependencies": { + "cliui": { + "version": "7.0.4", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "yargs": { + "version": "16.2.0", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + } + } + }, + "standard-version-expo": { + "version": "1.0.3", + "dev": true, + "requires": { + "@expo/config": "^3.1.2", + "@expo/json-file": "^8.2.10", + "detect-indent": "^6.0.0", + "detect-newline": "^3.1.0", + "globby": "^11.0.0", + "semver": "^7.3.2" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.4", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/core": { + "version": "7.9.0", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.9.0", + "@babel/helper-module-transforms": "^7.9.0", + "@babel/helpers": "^7.9.0", + "@babel/parser": "^7.9.0", + "@babel/template": "^7.8.6", + "@babel/traverse": "^7.9.0", + "@babel/types": "^7.9.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.13", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "dev": true + } + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.12.13", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/preset-env": { + "version": "7.12.17", + "dev": true, + "requires": { + "@babel/compat-data": "^7.12.13", + "@babel/helper-compilation-targets": "^7.12.17", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-validator-option": "^7.12.17", + "@babel/plugin-proposal-async-generator-functions": "^7.12.13", + "@babel/plugin-proposal-class-properties": "^7.12.13", + "@babel/plugin-proposal-dynamic-import": "^7.12.17", + "@babel/plugin-proposal-export-namespace-from": "^7.12.13", + "@babel/plugin-proposal-json-strings": "^7.12.13", + "@babel/plugin-proposal-logical-assignment-operators": "^7.12.13", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.13", + "@babel/plugin-proposal-numeric-separator": "^7.12.13", + "@babel/plugin-proposal-object-rest-spread": "^7.12.13", + "@babel/plugin-proposal-optional-catch-binding": "^7.12.13", + "@babel/plugin-proposal-optional-chaining": "^7.12.17", + "@babel/plugin-proposal-private-methods": "^7.12.13", + "@babel/plugin-proposal-unicode-property-regex": "^7.12.13", + "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.0", + "@babel/plugin-syntax-top-level-await": "^7.12.13", + "@babel/plugin-transform-arrow-functions": "^7.12.13", + "@babel/plugin-transform-async-to-generator": "^7.12.13", + "@babel/plugin-transform-block-scoped-functions": "^7.12.13", + "@babel/plugin-transform-block-scoping": "^7.12.13", + "@babel/plugin-transform-classes": "^7.12.13", + "@babel/plugin-transform-computed-properties": "^7.12.13", + "@babel/plugin-transform-destructuring": "^7.12.13", + "@babel/plugin-transform-dotall-regex": "^7.12.13", + "@babel/plugin-transform-duplicate-keys": "^7.12.13", + "@babel/plugin-transform-exponentiation-operator": "^7.12.13", + "@babel/plugin-transform-for-of": "^7.12.13", + "@babel/plugin-transform-function-name": "^7.12.13", + "@babel/plugin-transform-literals": "^7.12.13", + "@babel/plugin-transform-member-expression-literals": "^7.12.13", + "@babel/plugin-transform-modules-amd": "^7.12.13", + "@babel/plugin-transform-modules-commonjs": "^7.12.13", + "@babel/plugin-transform-modules-systemjs": "^7.12.13", + "@babel/plugin-transform-modules-umd": "^7.12.13", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.13", + "@babel/plugin-transform-new-target": "^7.12.13", + "@babel/plugin-transform-object-super": "^7.12.13", + "@babel/plugin-transform-parameters": "^7.12.13", + "@babel/plugin-transform-property-literals": "^7.12.13", + "@babel/plugin-transform-regenerator": "^7.12.13", + "@babel/plugin-transform-reserved-words": "^7.12.13", + "@babel/plugin-transform-shorthand-properties": "^7.12.13", + "@babel/plugin-transform-spread": "^7.12.13", + "@babel/plugin-transform-sticky-regex": "^7.12.13", + "@babel/plugin-transform-template-literals": "^7.12.13", + "@babel/plugin-transform-typeof-symbol": "^7.12.13", + "@babel/plugin-transform-unicode-escapes": "^7.12.13", + "@babel/plugin-transform-unicode-regex": "^7.12.13", + "@babel/preset-modules": "^0.1.3", + "@babel/types": "^7.12.17", + "core-js-compat": "^3.8.0", + "semver": "^5.5.0" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "dev": true + } + } + }, + "@babel/preset-modules": { + "version": "0.1.6", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/preset-typescript": { + "version": "7.12.17", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-validator-option": "^7.12.17", + "@babel/plugin-transform-typescript": "^7.12.17" + } + }, + "@expo/config": { + "version": "3.3.43", + "dev": true, + "requires": { + "@babel/core": "7.9.0", + "@babel/plugin-proposal-class-properties": "~7.12.13", + "@babel/preset-env": "~7.12.13", + "@babel/preset-typescript": "~7.12.13", + "@expo/config-plugins": "1.0.33", + "@expo/config-types": "^40.0.0-beta.2", + "@expo/json-file": "8.2.30", + "fs-extra": "9.0.0", + "getenv": "^1.0.0", + "glob": "7.1.6", + "require-from-string": "^2.0.2", + "resolve-from": "^5.0.0", + "semver": "7.3.2", + "slugify": "^1.3.4" + } + }, + "@expo/config-plugins": { + "version": "1.0.33", + "dev": true, + "requires": { + "@expo/config-types": "^40.0.0-beta.2", + "@expo/configure-splash-screen": "0.4.0", + "@expo/image-utils": "0.3.14", + "@expo/json-file": "8.2.30", + "@expo/plist": "0.0.13", + "find-up": "~5.0.0", + "fs-extra": "9.0.0", + "getenv": "^1.0.0", + "glob": "7.1.6", + "resolve-from": "^5.0.0", + "slash": "^3.0.0", + "xcode": "^3.0.1", + "xml2js": "^0.4.23" + } + }, + "@expo/config-types": { + "version": "40.0.0-beta.2", + "dev": true + }, + "@expo/image-utils": { + "version": "0.3.14", + "dev": true, + "requires": { + "@expo/spawn-async": "1.5.0", + "chalk": "^4.0.0", + "fs-extra": "9.0.0", + "getenv": "^1.0.0", + "jimp": "0.12.1", + "mime": "^2.4.4", + "node-fetch": "^2.6.0", + "parse-png": "^2.1.0", + "resolve-from": "^5.0.0", + "semver": "7.3.2", + "tempy": "0.3.0" + } + }, + "@expo/json-file": { + "version": "8.2.30", + "dev": true, + "requires": { + "@babel/code-frame": "~7.10.4", + "fs-extra": "9.0.0", + "json5": "^1.0.1", + "write-file-atomic": "^2.3.0" + }, + "dependencies": { + "json5": { + "version": "1.0.2", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "@expo/plist": { + "version": "0.0.13", + "dev": true, + "requires": { + "base64-js": "^1.2.3", + "xmlbuilder": "^14.0.0", + "xmldom": "~0.5.0" + } + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "dev": true + }, + "crypto-random-string": { + "version": "1.0.0", + "dev": true + }, + "fs-extra": { + "version": "9.0.0", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "semver": { + "version": "7.3.2", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "temp-dir": { + "version": "1.0.0", + "dev": true + }, + "tempy": { + "version": "0.3.0", + "dev": true, + "requires": { + "temp-dir": "^1.0.0", + "type-fest": "^0.3.1", + "unique-string": "^1.0.0" + } + }, + "type-fest": { + "version": "0.3.1", + "dev": true + }, + "unique-string": { + "version": "1.0.0", + "dev": true, + "requires": { + "crypto-random-string": "^1.0.0" + } + }, + "universalify": { + "version": "1.0.0", + "dev": true + }, + "xml2js": { + "version": "0.4.23", + "dev": true, + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "dependencies": { + "xmlbuilder": { + "version": "11.0.1", + "dev": true + } + } + } + } + }, + "statuses": { + "version": "1.5.0" + }, + "std-env": { + "version": "3.4.3" + }, + "stop-iteration-iterator": { + "version": "1.0.0", + "requires": { + "internal-slot": "^1.0.4" + } + }, + "stream-browserify": { + "version": "3.0.0", + "requires": { + "inherits": "~2.0.4", + "readable-stream": "^3.5.0" + } + }, + "stream-buffers": { + "version": "2.2.0" + }, + "stream-http": { + "version": "3.2.0", + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "xtend": "^4.0.2" + } + }, + "streamsearch": { + "version": "1.1.0" + }, + "streamx": { + "version": "2.15.1", + "requires": { + "fast-fifo": "^1.1.0", + "queue-tick": "^1.0.1" + } + }, + "strict-uri-encode": { + "version": "2.0.0" + }, + "string_decoder": { + "version": "1.3.0", + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "string-argv": { + "version": "0.3.2" + }, + "string-length": { + "version": "4.0.2", + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "string-width": { + "version": "4.2.3", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0" + } + } + }, + "string.prototype.matchall": { + "version": "4.0.8", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4" + } + }, + "string.prototype.trim": { + "version": "1.2.7", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimend": { + "version": "1.0.6", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimstart": { + "version": "1.0.6", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "stringify-package": { + "version": "1.0.1", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom": { + "version": "4.0.0" + }, + "strip-eof": { + "version": "1.0.0" + }, + "strip-final-newline": { + "version": "2.0.0" + }, + "strip-indent": { + "version": "3.0.0", + "requires": { + "min-indent": "^1.0.0" + } + }, + "strip-json-comments": { + "version": "3.1.1" + }, + "strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + }, + "structured-headers": { + "version": "0.4.1" + }, + "styled-jsx": { + "version": "5.1.1", + "requires": { + "client-only": "0.0.1" + } + }, + "styleq": { + "version": "0.1.3" + }, + "sucrase": { + "version": "3.34.0", + "requires": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "dependencies": { + "commander": { + "version": "4.1.1" + } + } + }, + "sudo-prompt": { + "version": "8.2.5" + }, + "sumchecker": { + "version": "3.0.1", + "requires": { + "debug": "^4.1.0" + } + }, + "supports-color": { + "version": "5.5.0", + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-hyperlinks": { + "version": "2.3.0", + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0" + }, + "svg-arc-to-cubic-bezier": { + "version": "3.2.0" + }, + "symbol-tree": { + "version": "3.2.4", + "dev": true + }, + "synckit": { + "version": "0.8.5", + "requires": { + "@pkgr/utils": "^2.3.1", + "tslib": "^2.5.0" + }, + "dependencies": { + "tslib": { + "version": "2.6.2" + } + } + }, + "table": { + "version": "5.4.6", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "dev": true + }, + "astral-regex": { + "version": "1.0.0", + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "dev": true + }, + "slice-ansi": { + "version": "2.1.0", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + } + }, + "string-width": { + "version": "3.1.0", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "tailwind-rn": { + "version": "3.0.1", + "requires": { + "css": "^2.2.4", + "css-to-react-native": "^3.0.0", + "match-all": "^1.2.6", + "meow": "^7.0.1", + "postcss": "^8.1.14" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "hosted-git-info": { + "version": "2.8.9" + }, + "locate-path": { + "version": "5.0.0", + "requires": { + "p-locate": "^4.1.0" + } + }, + "meow": { + "version": "7.1.1", + "requires": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^2.5.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.13.1", + "yargs-parser": "^18.1.3" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "p-limit": { + "version": "2.3.0", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "requires": { + "p-limit": "^2.2.0" + } + }, + "read-pkg": { + "version": "5.2.0", + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0" + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1" + } + } + }, + "semver": { + "version": "5.7.2" + }, + "type-fest": { + "version": "0.13.1" + }, + "yargs-parser": { + "version": "18.1.3", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "tailwindcss": { + "version": "2.2.19", + "requires": { + "arg": "^5.0.1", + "bytes": "^3.0.0", + "chalk": "^4.1.2", + "chokidar": "^3.5.2", + "color": "^4.0.1", + "cosmiconfig": "^7.0.1", + "detective": "^5.2.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.7", + "fs-extra": "^10.0.0", + "glob-parent": "^6.0.1", + "html-tags": "^3.1.0", + "is-color-stop": "^1.1.0", + "is-glob": "^4.0.1", + "lodash": "^4.17.21", + "lodash.topath": "^4.5.2", + "modern-normalize": "^1.1.0", + "node-emoji": "^1.11.0", + "normalize-path": "^3.0.0", + "object-hash": "^2.2.0", + "postcss-js": "^3.0.3", + "postcss-load-config": "^3.1.0", + "postcss-nested": "5.0.6", + "postcss-selector-parser": "^6.0.6", + "postcss-value-parser": "^4.1.0", + "pretty-hrtime": "^1.0.3", + "purgecss": "^4.0.3", + "quick-lru": "^5.1.1", + "reduce-css-calc": "^2.1.8", + "resolve": "^1.20.0", + "tmp": "^0.2.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "arg": { + "version": "5.0.2" + }, + "chalk": { + "version": "4.1.2", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "cosmiconfig": { + "version": "7.1.0", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "fs-extra": { + "version": "10.1.0", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + }, + "yaml": { + "version": "1.10.2" + } + } + }, + "tapable": { + "version": "2.2.1" + }, + "tar": { + "version": "6.1.15", + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "dependencies": { + "minipass": { + "version": "5.0.0" + }, + "mkdirp": { + "version": "1.0.4" + } + } + }, + "tar-fs": { + "version": "2.1.1", + "requires": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + }, + "dependencies": { + "chownr": { + "version": "1.1.4" + } + } + }, + "tar-stream": { + "version": "2.2.0", + "requires": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + } + }, + "temp": { + "version": "0.8.4", + "requires": { + "rimraf": "~2.6.2" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "temp-dir": { + "version": "2.0.0" + }, + "tempy": { + "version": "0.7.1", + "requires": { + "del": "^6.0.0", + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "dependencies": { + "type-fest": { + "version": "0.16.0" + } + } + }, + "term-size": { + "version": "1.2.0", + "requires": { + "execa": "^0.7.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.7.0", + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "3.0.0" + }, + "is-stream": { + "version": "1.1.0" + }, + "lru-cache": { + "version": "4.1.5", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "npm-run-path": { + "version": "2.0.2", + "requires": { + "path-key": "^2.0.0" + } + }, + "path-key": { + "version": "2.0.1" + }, + "shebang-command": { + "version": "1.2.0", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0" + }, + "which": { + "version": "1.3.1", + "requires": { + "isexe": "^2.0.0" + } + }, + "yallist": { + "version": "2.1.2" + } + } + }, + "terminal-link": { + "version": "2.1.1", + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } + }, + "terser": { + "version": "5.19.2", + "requires": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "commander": { + "version": "2.20.3" + }, + "source-map-support": { + "version": "0.5.21", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + } + } + }, + "terser-webpack-plugin": { + "version": "5.3.9", + "dev": true, + "peer": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "dev": true, + "peer": true + }, + "jest-worker": { + "version": "27.5.1", + "dev": true, + "peer": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "schema-utils": { + "version": "3.3.0", + "dev": true, + "peer": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "supports-color": { + "version": "8.1.1", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "test-exclude": { + "version": "6.0.0", + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, + "testcontainers": { + "version": "9.12.0", + "requires": { + "@balena/dockerignore": "^1.0.2", + "@types/archiver": "^5.3.2", + "@types/dockerode": "^3.3.19", + "archiver": "^5.3.1", + "async-lock": "^1.4.0", + "byline": "^5.0.0", + "debug": "^4.3.4", + "docker-compose": "^0.24.1", + "dockerode": "^3.3.5", + "get-port": "^5.1.1", + "node-fetch": "^2.6.12", + "proper-lockfile": "^4.1.2", + "properties-reader": "^2.2.0", + "ssh-remote-port-forward": "^1.0.4", + "tar-fs": "^2.1.1", + "tmp": "^0.2.1" + }, + "dependencies": { + "get-port": { + "version": "5.1.1" + } + } + }, + "text-extensions": { + "version": "1.9.0", + "dev": true + }, + "text-table": { + "version": "0.2.0" + }, + "thenify": { + "version": "3.3.1", + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==" + }, + "throttleit": { + "version": "1.0.0", + "dev": true + }, + "through": { + "version": "2.3.8" + }, + "through2": { + "version": "2.0.5", + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0" + }, + "readable-stream": { + "version": "2.3.8", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2" + }, + "string_decoder": { + "version": "1.1.1", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "timed-out": { + "version": "4.0.1" + }, + "timm": { + "version": "1.7.1", + "dev": true + }, + "tiny-secp256k1": { + "version": "1.1.6", + "requires": { + "bindings": "^1.3.0", + "bn.js": "^4.11.8", + "create-hmac": "^1.1.7", + "elliptic": "^6.4.0", + "nan": "^2.13.2" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0" + } + } + }, + "tinycolor2": { + "version": "1.6.0", + "dev": true + }, + "titleize": { + "version": "3.0.0" + }, + "tmp": { + "version": "0.2.1", + "requires": { + "rimraf": "^3.0.0" + }, + "dependencies": { + "rimraf": { + "version": "3.0.2", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "tmpl": { + "version": "1.0.5" + }, + "to-fast-properties": { + "version": "2.0.0" + }, + "to-regex-range": { + "version": "5.0.1", + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.1" + }, + "tough-cookie": { + "version": "4.1.3", + "dev": true, + "requires": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "dependencies": { + "universalify": { + "version": "0.2.0", + "dev": true + } + } + }, + "tr46": { + "version": "3.0.0", + "dev": true, + "requires": { + "punycode": "^2.1.1" + } + }, + "traverse": { + "version": "0.6.7" + }, + "traverse-chain": { + "version": "0.1.0", + "dev": true + }, + "trim-newlines": { + "version": "3.0.1" + }, + "ts-api-utils": { + "version": "1.0.2", + "requires": {} + }, + "ts-interface-checker": { + "version": "0.1.13" + }, + "ts-jest": { + "version": "29.1.1", + "requires": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "^7.5.3", + "yargs-parser": "^21.0.1" + }, + "dependencies": { + "yargs-parser": { + "version": "21.1.1" + } + } + }, + "ts-node": { + "version": "10.9.1", + "devOptional": true, + "requires": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + } + }, + "ts-object-utils": { + "version": "0.0.5" + }, + "tsconfig-paths": { + "version": "3.14.2", + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "json5": { + "version": "1.0.2", + "requires": { + "minimist": "^1.2.0" + } + }, + "strip-bom": { + "version": "3.0.0" + } + } + }, + "tslib": { + "version": "2.4.0" + }, + "tsutils": { + "version": "3.21.0", + "dev": true, + "requires": { + "tslib": "^1.8.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "dev": true + } + } + }, + "tunnel-agent": { + "version": "0.6.0", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5" + }, + "type-check": { + "version": "0.4.0", + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-detect": { + "version": "4.0.8" + }, + "type-fest": { + "version": "0.21.3" + }, + "type-is": { + "version": "1.6.18", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typed-array-buffer": { + "version": "1.0.0", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + } + }, + "typed-array-byte-length": { + "version": "1.0.0", + "requires": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + } + }, + "typed-array-byte-offset": { + "version": "1.0.0", + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + } + }, + "typed-array-length": { + "version": "1.0.4", + "requires": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + } + }, + "typedarray": { + "version": "0.0.6", + "dev": true + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "dev": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "typeforce": { + "version": "1.18.0" + }, + "typescript": { + "version": "5.2.2" + }, + "ua-parser-js": { + "version": "1.0.35" + }, + "ufo": { + "version": "1.3.1" + }, + "uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "requires": { + "commander": "~2.13.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==" + } + } + }, + "uglify-js": { + "version": "3.17.4", + "dev": true, + "optional": true + }, + "unbox-primitive": { + "version": "1.0.2", + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "uncontrollable": { + "version": "7.2.1", + "requires": { + "@babel/runtime": "^7.6.3", + "@types/react": ">=16.9.11", + "invariant": "^2.2.4", + "react-lifecycles-compat": "^3.0.4" + } + }, + "uncrypto": { + "version": "0.1.3" + }, + "unenv": { + "version": "1.7.4", + "requires": { + "consola": "^3.2.3", + "defu": "^6.1.2", + "mime": "^3.0.0", + "node-fetch-native": "^1.4.0", + "pathe": "^1.1.1" + }, + "dependencies": { + "mime": { + "version": "3.0.0" + } + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0" + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.1.0" + }, + "unicode-property-aliases-ecmascript": { + "version": "2.1.0" + }, + "unique-filename": { + "version": "1.1.1", + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unique-string": { + "version": "2.0.0", + "requires": { + "crypto-random-string": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0" + }, + "unpipe": { + "version": "1.0.0" + }, + "unstorage": { + "version": "1.9.0", + "requires": { + "anymatch": "^3.1.3", + "chokidar": "^3.5.3", + "destr": "^2.0.1", + "h3": "^1.7.1", + "ioredis": "^5.3.2", + "listhen": "^1.2.2", + "lru-cache": "^10.0.0", + "mri": "^1.2.0", + "node-fetch-native": "^1.2.0", + "ofetch": "^1.1.1", + "ufo": "^1.2.0" + }, + "dependencies": { + "lru-cache": { + "version": "10.0.1" + } + } + }, + "untildify": { + "version": "4.0.0" + }, + "untun": { + "version": "0.1.2", + "requires": { + "citty": "^0.1.3", + "consola": "^3.2.3", + "pathe": "^1.1.1" + } + }, + "unzip-response": { + "version": "2.0.1" + }, + "update-browserslist-db": { + "version": "1.0.11", + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "update-notifier": { + "version": "2.5.0", + "requires": { + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-ci": "^1.0.10", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" + }, + "dependencies": { + "ci-info": { + "version": "1.6.0" + }, + "global-dirs": { + "version": "0.1.1", + "requires": { + "ini": "^1.3.4" + } + }, + "ini": { + "version": "1.3.8" + }, + "is-ci": { + "version": "1.2.1", + "requires": { + "ci-info": "^1.5.0" + } + }, + "is-installed-globally": { + "version": "0.1.0", + "requires": { + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" + } + }, + "is-path-inside": { + "version": "1.0.1", + "requires": { + "path-is-inside": "^1.0.1" + } + } + } + }, + "uqr": { + "version": "0.1.2" + }, + "uri-js": { + "version": "4.4.1", + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0" + }, + "url": { + "version": "0.11.1", + "requires": { + "punycode": "^1.4.1", + "qs": "^6.11.0" + }, + "dependencies": { + "punycode": { + "version": "1.4.1" + }, + "qs": { + "version": "6.11.2", + "requires": { + "side-channel": "^1.0.4" + } + } + } + }, + "url-join": { + "version": "4.0.0" + }, + "url-parse": { + "version": "1.5.10", + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "url-parse-lax": { + "version": "1.0.0", + "requires": { + "prepend-http": "^1.0.1" + }, + "dependencies": { + "prepend-http": { + "version": "1.0.4" + } + } + }, + "url-search-params-polyfill": { + "version": "8.1.1" + }, + "urlpattern-polyfill": { + "version": "8.0.2" + }, + "use-latest-callback": { + "version": "0.1.6", + "requires": {} + }, + "use-sync-external-store": { + "version": "1.2.0", + "requires": {} + }, + "utif": { + "version": "2.0.1", + "dev": true, + "requires": { + "pako": "^1.0.5" + } + }, + "util": { + "version": "0.10.4", + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3" + } + } + }, + "util-deprecate": { + "version": "1.0.2" + }, + "utils-merge": { + "version": "1.0.1" + }, + "uuid": { + "version": "9.0.1" + }, + "v8-compile-cache": { + "version": "2.4.0", + "dev": true + }, + "v8-compile-cache-lib": { + "version": "3.0.1", + "devOptional": true + }, + "v8-to-istanbul": { + "version": "9.1.0", + "requires": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" + } + }, + "valid-url": { + "version": "1.0.9" + }, + "validate-npm-package-license": { + "version": "3.0.4", + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "validate-npm-package-name": { + "version": "3.0.0", + "requires": { + "builtins": "^1.0.3" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" + }, + "verror": { + "version": "1.10.0", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "vlq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz", + "integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==" + }, + "vm-browserify": { + "version": "1.1.2" + }, + "w3c-xmlserializer": { + "version": "4.0.0", + "dev": true, + "requires": { + "xml-name-validator": "^4.0.0" + } + }, + "wait-for-expect": { + "version": "3.0.2" + }, + "wait-on": { + "version": "6.0.1", + "dev": true, + "requires": { + "axios": "^0.25.0", + "joi": "^17.6.0", + "lodash": "^4.17.21", + "minimist": "^1.2.5", + "rxjs": "^7.5.4" + } + }, + "walker": { + "version": "1.0.8", + "requires": { + "makeerror": "1.0.12" + } + }, + "warn-once": { + "version": "0.1.1" + }, + "warning": { + "version": "4.0.3", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "watchpack": { + "version": "2.4.0", + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "wcwidth": { + "version": "1.0.1", + "requires": { + "defaults": "^1.0.3" + } + }, + "webidl-conversions": { + "version": "7.0.0", + "dev": true + }, + "webpack": { + "version": "5.88.2", + "dev": true, + "peer": true, + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "dev": true, + "peer": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "dev": true, + "peer": true + }, + "schema-utils": { + "version": "3.3.0", + "dev": true, + "peer": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "webpack-merge": { + "version": "5.9.0", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + } + }, + "webpack-sources": { + "version": "3.2.3", + "dev": true, + "peer": true + }, + "whatwg-encoding": { + "version": "2.0.0", + "dev": true, + "requires": { + "iconv-lite": "0.6.3" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, + "whatwg-fetch": { + "version": "3.6.17" + }, + "whatwg-mimetype": { + "version": "3.0.0", + "dev": true + }, + "whatwg-url": { + "version": "11.0.0", + "dev": true, + "requires": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + } + }, + "which": { + "version": "2.0.2", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-builtin-type": { + "version": "1.1.3", + "requires": { + "function.prototype.name": "^1.1.5", + "has-tostringtag": "^1.0.0", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + } + }, + "which-collection": { + "version": "1.0.1", + "requires": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + } + }, + "which-module": { + "version": "2.0.1" + }, + "which-typed-array": { + "version": "1.1.11", + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + } + }, + "widest-line": { + "version": "2.0.1", + "requires": { + "string-width": "^2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.1" + }, + "is-fullwidth-code-point": { + "version": "2.0.0" + }, + "string-width": { + "version": "2.1.1", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "wif": { + "version": "2.0.6", + "requires": { + "bs58check": "<3.0.0" + } + }, + "wildcard": { + "version": "2.0.1", + "dev": true + }, + "wonka": { + "version": "4.0.15" + }, + "word-wrap": { + "version": "1.2.5", + "dev": true + }, + "wordwrap": { + "version": "1.0.0", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + } + } + }, + "wrappy": { + "version": "1.0.2" + }, + "write": { + "version": "1.0.3", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + }, + "dependencies": { + "mkdirp": { + "version": "0.5.6", + "dev": true, + "requires": { + "minimist": "^1.2.6" + } + } + } + }, + "write-file-atomic": { + "version": "2.4.3", + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "ws": { + "version": "7.4.6", + "requires": {} + }, + "xcode": { + "version": "3.0.1", + "requires": { + "simple-plist": "^1.1.0", + "uuid": "^7.0.3" + }, + "dependencies": { + "uuid": { + "version": "7.0.3" + } + } + }, + "xdg-basedir": { + "version": "3.0.0" + }, + "xhr": { + "version": "2.6.0", + "dev": true, + "requires": { + "global": "~4.4.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "xml-js": { + "version": "1.6.11", + "dev": true, + "requires": { + "sax": "^1.2.4" + } + }, + "xml-name-validator": { + "version": "4.0.0", + "dev": true + }, + "xml-parse-from-string": { + "version": "1.0.1", + "dev": true + }, + "xml2js": { + "version": "0.6.0", + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "dependencies": { + "xmlbuilder": { + "version": "11.0.1" + } + } + }, + "xmlbuilder": { + "version": "14.0.0" + }, + "xmlchars": { + "version": "2.2.0", + "dev": true + }, + "xmldom": { + "version": "0.5.0", + "dev": true + }, + "xss": { + "version": "1.0.14", + "requires": { + "commander": "^2.20.3", + "cssfilter": "0.0.10" + }, + "dependencies": { + "commander": { + "version": "2.20.3" + } + } + }, + "xtend": { + "version": "4.0.2" + }, + "y18n": { + "version": "5.0.8" + }, + "yallist": { + "version": "4.0.0" + }, + "yaml": { + "version": "2.3.1" + }, + "yargs": { + "version": "17.7.2", + "requires": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "dependencies": { + "yargs-parser": { + "version": "21.1.1" + } + } + }, + "yargs-parser": { + "version": "20.2.9", + "dev": true + }, + "yauzl": { + "version": "2.10.0", + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "yn": { + "version": "3.1.1", + "devOptional": true + }, + "yocto-queue": { + "version": "0.1.0" + }, + "zip-stream": { + "version": "4.1.1", + "requires": { + "archiver-utils": "^3.0.4", + "compress-commons": "^4.1.2", + "readable-stream": "^3.6.0" + }, + "dependencies": { + "archiver-utils": { + "version": "3.0.4", + "requires": { + "glob": "^7.2.3", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + } + }, + "glob": { + "version": "7.2.3", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } } } } diff --git a/package.json b/package.json index 1b100fe310..d6cf8c7ccd 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "start:web": "expo start --clear --web", "playground:start": "docker-compose rm -fsv && docker-compose up", "test:ci": "jest --ci --coverage --detectOpenHandles --debug", - "cypress:open": "cypress open", + "cypress:open": "cypress open --project mobile-app", "cypress:run": "cypress run --headless --browser chrome --project mobile-app", "react-devtools:open": "react-devtools", "translation:missing": "ts-node shared/translations/reporter/index.ts" @@ -33,13 +33,14 @@ "@react-navigation/stack": "^6.3.17", "@reduxjs/toolkit": "^1.9.5", "@shopify/flash-list": "1.4.3", - "@waveshq/standard-defichain-jellyfishsdk": "^2.2.0", - "@waveshq/walletkit-core": "^1.3.5", - "@waveshq/walletkit-ui": "^1.3.5", + "@waveshq/standard-defichain-jellyfishsdk": "^2.4.1", + "@waveshq/walletkit-core": "^1.3.7", + "@waveshq/walletkit-ui": "^1.3.7", "bignumber.js": "^9.1.1", "buffer": "^6.0.3", "classnames": "^2.3.2", "dayjs": "^1.11.9", + "ethers": "^5.7.1", "expo": "^49.0.7", "expo-asset": "~8.10.1", "expo-barcode-scanner": "~12.5.3", @@ -47,9 +48,10 @@ "expo-clipboard": "~4.3.1", "expo-constants": "~14.4.2", "expo-crypto": "~12.4.1", - "expo-file-system": "~15.4.3", + "expo-crypto-polyfills": "^1.1.0", + "expo-file-system": "~15.4.4", "expo-font": "~11.4.0", - "expo-image": "~1.3.2", + "expo-image": "~1.3.4", "expo-linear-gradient": "~12.3.0", "expo-linking": "~5.0.2", "expo-local-authentication": "~13.4.1", @@ -57,7 +59,7 @@ "expo-secure-store": "~12.3.1", "expo-splash-screen": "~0.20.5", "expo-status-bar": "~1.6.0", - "expo-updates": "~0.18.11", + "expo-updates": "~0.18.16", "expo-web-browser": "~12.3.2", "i18n-js": "^3.9.2", "install": "^0.13.0", @@ -68,7 +70,7 @@ "react-devtools": "^4.28.0", "react-dom": "18.2.0", "react-hook-form": "^7.45.4", - "react-native": "0.72.3", + "react-native": "0.72.5", "react-native-circular-progress-indicator": "^4.4.2", "react-native-collapsible": "^1.6.1", "react-native-confirmation-code-field": "^7.3.1", diff --git a/shared/assets/images/onboarding/welcome-screen-e-dark.png b/shared/assets/images/onboarding/welcome-screen-e-dark.png new file mode 100644 index 0000000000..4d64db7d62 Binary files /dev/null and b/shared/assets/images/onboarding/welcome-screen-e-dark.png differ diff --git a/shared/assets/images/onboarding/welcome-screen-e-light.png b/shared/assets/images/onboarding/welcome-screen-e-light.png new file mode 100644 index 0000000000..86d9208e07 Binary files /dev/null and b/shared/assets/images/onboarding/welcome-screen-e-light.png differ diff --git a/shared/contexts/DeFiScanContext.tsx b/shared/contexts/DeFiScanContext.tsx index c841872127..48c7cd813b 100644 --- a/shared/contexts/DeFiScanContext.tsx +++ b/shared/contexts/DeFiScanContext.tsx @@ -1,6 +1,11 @@ import React, { createContext, useContext, useMemo } from "react"; import { EnvironmentNetwork } from "@waveshq/walletkit-core"; import { useNetworkContext } from "@waveshq/walletkit-ui"; +import { + TD_CONTRACT_ADDR, + getAddressFromDST20TokenId, + stripEvmSuffixFromTokenId, +} from "@api/transaction/transfer_domain"; interface DeFiScanContextI { getTransactionUrl: (txid: string, rawtx?: string) => string; @@ -14,13 +19,14 @@ interface DeFiScanContextI { const DeFiScanContext = createContext(undefined as any); const baseDefiScanUrl = "https://defiscan.live"; +const baseMetaScanUrl = "https://meta.defiscan.live"; export function useDeFiScanContext(): DeFiScanContextI { return useContext(DeFiScanContext); } export function DeFiScanProvider( - props: React.PropsWithChildren + props: React.PropsWithChildren, ): JSX.Element | null { const { network } = useNetworkContext(); @@ -70,6 +76,8 @@ function getNetworkParams(network: EnvironmentNetwork): string { case EnvironmentNetwork.LocalPlayground: case EnvironmentNetwork.RemotePlayground: return `?network=${EnvironmentNetwork.RemotePlayground}`; + case EnvironmentNetwork.Changi: + return `?network=${EnvironmentNetwork.Changi}`; default: return ""; } @@ -78,7 +86,7 @@ function getNetworkParams(network: EnvironmentNetwork): string { export function getTxURLByNetwork( network: EnvironmentNetwork, txid: string, - rawtx?: string + rawtx?: string, ): string { let baseUrl = `${baseDefiScanUrl}/transactions/${txid}`; @@ -98,7 +106,24 @@ export function getTxURLByNetwork( export function getURLByNetwork( path: string, network: EnvironmentNetwork, - id: number | string + id: number | string, ): string { return `${baseDefiScanUrl}/${path}/${id}${getNetworkParams(network)}`; } + +export function getMetaScanTokenUrl( + network: EnvironmentNetwork, + id: string, +): string { + const networkParams = getNetworkParams(network); + const tokenId = stripEvmSuffixFromTokenId(id); + + // DFI token + if (tokenId === 0) { + return `${baseMetaScanUrl}/token/${TD_CONTRACT_ADDR}${networkParams}`; + } + + // DST20 token + const tokenAddress = getAddressFromDST20TokenId(tokenId); + return `${baseMetaScanUrl}/token/${tokenAddress}${networkParams}`; +} diff --git a/shared/contexts/StatsProvider.tsx b/shared/contexts/StatsProvider.tsx index c4afaaf567..cea800837e 100644 --- a/shared/contexts/StatsProvider.tsx +++ b/shared/contexts/StatsProvider.tsx @@ -9,7 +9,7 @@ import { useAppDispatch } from "@hooks/useAppDispatch"; import { useWhaleApiClient } from "@waveshq/walletkit-ui/dist/contexts"; export function StatsProvider( - props: PropsWithChildren + props: PropsWithChildren, ): JSX.Element | null { const { network } = useNetworkContext(); const logger = useLogger(); @@ -24,6 +24,7 @@ export function StatsProvider( // isPolling is a good indicator of background polling // we can use AppState to suspend and activate polling based on user activity let intervalID: NodeJS.Timeout; + let timeoutID: NodeJS.Timeout; function refresh(): void { dispatch(block.actions.setPolling(true)); @@ -38,7 +39,7 @@ export function StatsProvider( lastSync: new Date().toString(), lastSuccessfulSync: new Date().toString(), tvl: tvl?.dex ?? 0, - }) + }), ); dispatch(block.actions.setConnected(true)); }) @@ -49,7 +50,7 @@ export function StatsProvider( count: 0, masternodeCount: 0, lastSync: new Date().toString(), - }) + }), ); dispatch(block.actions.setConnected(false)); logger.error(err); @@ -57,14 +58,19 @@ export function StatsProvider( } if (!isPolling) { - refresh(); - intervalID = setInterval(refresh, interval); + timeoutID = setTimeout(() => { + refresh(); + intervalID = setInterval(refresh, interval); + }, 1000); } return () => { dispatch(block.actions.setPolling(false)); if (intervalID !== undefined) { clearInterval(intervalID); } + if (timeoutID !== undefined) { + clearTimeout(timeoutID); + } }; }, [api, interval, network, dispatch]); diff --git a/shared/contexts/WalletContext.tsx b/shared/contexts/WalletContext.tsx index fa9e9f868f..aacdea42ba 100644 --- a/shared/contexts/WalletContext.tsx +++ b/shared/contexts/WalletContext.tsx @@ -29,6 +29,10 @@ interface WalletContextI { * Default address of the above wallet */ address: string; + /** + * Default EVM address of the above wallet + */ + evmAddress: string; /** * Available address length of the above wallet */ @@ -65,12 +69,13 @@ export function useWalletContext(): WalletContextI { } export function WalletContextProvider( - props: WalletContextProviderProps + props: WalletContextProviderProps, ): JSX.Element | null { const { api } = props; const logger = useLogger(); const { provider } = useWalletNodeContext(); const [address, setAddress] = useState(); + const [evmAddress, setEvmAddress] = useState(""); const [account, setAccount] = useState(); const [addressIndex, setAddressIndex] = useState(); const [addressLength, setAddressLength] = useState(0); @@ -88,6 +93,7 @@ export function WalletContextProvider( useEffect(() => { if (addressIndex !== undefined) { const account = wallet.get(addressIndex); + // DVM address account .getAddress() .then((address) => { @@ -95,6 +101,14 @@ export function WalletContextProvider( setAddress(address); }) .catch(logger.error); + + // EVM address + account + .getEvmAddress() + .then((evmAddress) => { + setEvmAddress(evmAddress); + }) + .catch(logger.error); } }, [wallet, addressIndex]); @@ -129,7 +143,7 @@ export function WalletContextProvider( const lastDiscoveredAddressIndex = Math.max( 0, activeAddress.length - 1, - addressLength + addressLength, ); await setWalletAddressLength(lastDiscoveredAddressIndex); }; @@ -142,6 +156,7 @@ export function WalletContextProvider( wallet: wallet, account: account, address: address, + evmAddress: evmAddress, activeAddressIndex: addressIndex, setIndex: setIndex, addressLength: addressLength, diff --git a/shared/contracts/DST20V1.json b/shared/contracts/DST20V1.json new file mode 100644 index 0000000000..c611c8bc9d --- /dev/null +++ b/shared/contracts/DST20V1.json @@ -0,0 +1,298 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "DST20V1", + "sourceName": "contracts/DST20V1.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x60806040523480156200001157600080fd5b50604051620017f0380380620017f08339818101604052810190620000379190620001fa565b818181600390816200004a9190620004ca565b5080600490816200005c9190620004ca565b5050505050620005b1565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620000d08262000085565b810181811067ffffffffffffffff82111715620000f257620000f162000096565b5b80604052505050565b60006200010762000067565b9050620001158282620000c5565b919050565b600067ffffffffffffffff82111562000138576200013762000096565b5b620001438262000085565b9050602081019050919050565b60005b838110156200017057808201518184015260208101905062000153565b60008484015250505050565b6000620001936200018d846200011a565b620000fb565b905082815260208101848484011115620001b257620001b162000080565b5b620001bf84828562000150565b509392505050565b600082601f830112620001df57620001de6200007b565b5b8151620001f18482602086016200017c565b91505092915050565b6000806040838503121562000214576200021362000071565b5b600083015167ffffffffffffffff81111562000235576200023462000076565b5b6200024385828601620001c7565b925050602083015167ffffffffffffffff81111562000267576200026662000076565b5b6200027585828601620001c7565b9150509250929050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620002d257607f821691505b602082108103620002e857620002e76200028a565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620003527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000313565b6200035e868362000313565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620003ab620003a56200039f8462000376565b62000380565b62000376565b9050919050565b6000819050919050565b620003c7836200038a565b620003df620003d682620003b2565b84845462000320565b825550505050565b600090565b620003f6620003e7565b62000403818484620003bc565b505050565b5b818110156200042b576200041f600082620003ec565b60018101905062000409565b5050565b601f8211156200047a576200044481620002ee565b6200044f8462000303565b810160208510156200045f578190505b620004776200046e8562000303565b83018262000408565b50505b505050565b600082821c905092915050565b60006200049f600019846008026200047f565b1980831691505092915050565b6000620004ba83836200048c565b9150826002028217905092915050565b620004d5826200027f565b67ffffffffffffffff811115620004f157620004f062000096565b5b620004fd8254620002b9565b6200050a8282856200042f565b600060209050601f8311600181146200054257600084156200052d578287015190505b620005398582620004ac565b865550620005a9565b601f1984166200055286620002ee565b60005b828110156200057c5784890151825560018201915060208501945060208101905062000555565b868310156200059c578489015162000598601f8916826200048c565b8355505b6001600288020188555050505b505050505050565b61122f80620005c16000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461016857806370a082311461019857806395d89b41146101c8578063a457c2d7146101e6578063a9059cbb14610216578063dd62ed3e14610246576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100fc57806323b872dd1461011a578063313ce5671461014a575b600080fd5b6100b6610276565b6040516100c39190610b0c565b60405180910390f35b6100e660048036038101906100e19190610bc7565b610308565b6040516100f39190610c22565b60405180910390f35b61010461032b565b6040516101119190610c4c565b60405180910390f35b610134600480360381019061012f9190610c67565b610335565b6040516101419190610c22565b60405180910390f35b610152610364565b60405161015f9190610cd6565b60405180910390f35b610182600480360381019061017d9190610bc7565b61036d565b60405161018f9190610c22565b60405180910390f35b6101b260048036038101906101ad9190610cf1565b6103a4565b6040516101bf9190610c4c565b60405180910390f35b6101d06103ec565b6040516101dd9190610b0c565b60405180910390f35b61020060048036038101906101fb9190610bc7565b61047e565b60405161020d9190610c22565b60405180910390f35b610230600480360381019061022b9190610bc7565b6104f5565b60405161023d9190610c22565b60405180910390f35b610260600480360381019061025b9190610d1e565b610518565b60405161026d9190610c4c565b60405180910390f35b60606003805461028590610d8d565b80601f01602080910402602001604051908101604052809291908181526020018280546102b190610d8d565b80156102fe5780601f106102d3576101008083540402835291602001916102fe565b820191906000526020600020905b8154815290600101906020018083116102e157829003601f168201915b5050505050905090565b60008061031361059f565b90506103208185856105a7565b600191505092915050565b6000600254905090565b60008061034061059f565b905061034d858285610770565b6103588585856107fc565b60019150509392505050565b60006012905090565b60008061037861059f565b905061039981858561038a8589610518565b6103949190610ded565b6105a7565b600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600480546103fb90610d8d565b80601f016020809104026020016040519081016040528092919081815260200182805461042790610d8d565b80156104745780601f1061044957610100808354040283529160200191610474565b820191906000526020600020905b81548152906001019060200180831161045757829003601f168201915b5050505050905090565b60008061048961059f565b905060006104978286610518565b9050838110156104dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d390610e93565b60405180910390fd5b6104e982868684036105a7565b60019250505092915050565b60008061050061059f565b905061050d8185856107fc565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610616576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060d90610f25565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067c90610fb7565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516107639190610c4c565b60405180910390a3505050565b600061077c8484610518565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107f657818110156107e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107df90611023565b60405180910390fd5b6107f584848484036105a7565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361086b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610862906110b5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d190611147565b60405180910390fd5b6108e5838383610a72565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561096b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610962906111d9565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a599190610c4c565b60405180910390a3610a6c848484610a77565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610ab6578082015181840152602081019050610a9b565b60008484015250505050565b6000601f19601f8301169050919050565b6000610ade82610a7c565b610ae88185610a87565b9350610af8818560208601610a98565b610b0181610ac2565b840191505092915050565b60006020820190508181036000830152610b268184610ad3565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610b5e82610b33565b9050919050565b610b6e81610b53565b8114610b7957600080fd5b50565b600081359050610b8b81610b65565b92915050565b6000819050919050565b610ba481610b91565b8114610baf57600080fd5b50565b600081359050610bc181610b9b565b92915050565b60008060408385031215610bde57610bdd610b2e565b5b6000610bec85828601610b7c565b9250506020610bfd85828601610bb2565b9150509250929050565b60008115159050919050565b610c1c81610c07565b82525050565b6000602082019050610c376000830184610c13565b92915050565b610c4681610b91565b82525050565b6000602082019050610c616000830184610c3d565b92915050565b600080600060608486031215610c8057610c7f610b2e565b5b6000610c8e86828701610b7c565b9350506020610c9f86828701610b7c565b9250506040610cb086828701610bb2565b9150509250925092565b600060ff82169050919050565b610cd081610cba565b82525050565b6000602082019050610ceb6000830184610cc7565b92915050565b600060208284031215610d0757610d06610b2e565b5b6000610d1584828501610b7c565b91505092915050565b60008060408385031215610d3557610d34610b2e565b5b6000610d4385828601610b7c565b9250506020610d5485828601610b7c565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610da557607f821691505b602082108103610db857610db7610d5e565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610df882610b91565b9150610e0383610b91565b9250828201905080821115610e1b57610e1a610dbe565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000610e7d602583610a87565b9150610e8882610e21565b604082019050919050565b60006020820190508181036000830152610eac81610e70565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000610f0f602483610a87565b9150610f1a82610eb3565b604082019050919050565b60006020820190508181036000830152610f3e81610f02565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000610fa1602283610a87565b9150610fac82610f45565b604082019050919050565b60006020820190508181036000830152610fd081610f94565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b600061100d601d83610a87565b915061101882610fd7565b602082019050919050565b6000602082019050818103600083015261103c81611000565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061109f602583610a87565b91506110aa82611043565b604082019050919050565b600060208201905081810360008301526110ce81611092565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611131602383610a87565b915061113c826110d5565b604082019050919050565b6000602082019050818103600083015261116081611124565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006111c3602683610a87565b91506111ce82611167565b604082019050919050565b600060208201905081810360008301526111f2816111b6565b905091905056fea2646970667358221220111835cf5177d466ff04d1477368807f060bf7fab712e923b43a54116fd1f5e764736f6c63430008130033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461016857806370a082311461019857806395d89b41146101c8578063a457c2d7146101e6578063a9059cbb14610216578063dd62ed3e14610246576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100fc57806323b872dd1461011a578063313ce5671461014a575b600080fd5b6100b6610276565b6040516100c39190610b0c565b60405180910390f35b6100e660048036038101906100e19190610bc7565b610308565b6040516100f39190610c22565b60405180910390f35b61010461032b565b6040516101119190610c4c565b60405180910390f35b610134600480360381019061012f9190610c67565b610335565b6040516101419190610c22565b60405180910390f35b610152610364565b60405161015f9190610cd6565b60405180910390f35b610182600480360381019061017d9190610bc7565b61036d565b60405161018f9190610c22565b60405180910390f35b6101b260048036038101906101ad9190610cf1565b6103a4565b6040516101bf9190610c4c565b60405180910390f35b6101d06103ec565b6040516101dd9190610b0c565b60405180910390f35b61020060048036038101906101fb9190610bc7565b61047e565b60405161020d9190610c22565b60405180910390f35b610230600480360381019061022b9190610bc7565b6104f5565b60405161023d9190610c22565b60405180910390f35b610260600480360381019061025b9190610d1e565b610518565b60405161026d9190610c4c565b60405180910390f35b60606003805461028590610d8d565b80601f01602080910402602001604051908101604052809291908181526020018280546102b190610d8d565b80156102fe5780601f106102d3576101008083540402835291602001916102fe565b820191906000526020600020905b8154815290600101906020018083116102e157829003601f168201915b5050505050905090565b60008061031361059f565b90506103208185856105a7565b600191505092915050565b6000600254905090565b60008061034061059f565b905061034d858285610770565b6103588585856107fc565b60019150509392505050565b60006012905090565b60008061037861059f565b905061039981858561038a8589610518565b6103949190610ded565b6105a7565b600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600480546103fb90610d8d565b80601f016020809104026020016040519081016040528092919081815260200182805461042790610d8d565b80156104745780601f1061044957610100808354040283529160200191610474565b820191906000526020600020905b81548152906001019060200180831161045757829003601f168201915b5050505050905090565b60008061048961059f565b905060006104978286610518565b9050838110156104dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d390610e93565b60405180910390fd5b6104e982868684036105a7565b60019250505092915050565b60008061050061059f565b905061050d8185856107fc565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610616576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060d90610f25565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067c90610fb7565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516107639190610c4c565b60405180910390a3505050565b600061077c8484610518565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107f657818110156107e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107df90611023565b60405180910390fd5b6107f584848484036105a7565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361086b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610862906110b5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d190611147565b60405180910390fd5b6108e5838383610a72565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561096b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610962906111d9565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a599190610c4c565b60405180910390a3610a6c848484610a77565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610ab6578082015181840152602081019050610a9b565b60008484015250505050565b6000601f19601f8301169050919050565b6000610ade82610a7c565b610ae88185610a87565b9350610af8818560208601610a98565b610b0181610ac2565b840191505092915050565b60006020820190508181036000830152610b268184610ad3565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610b5e82610b33565b9050919050565b610b6e81610b53565b8114610b7957600080fd5b50565b600081359050610b8b81610b65565b92915050565b6000819050919050565b610ba481610b91565b8114610baf57600080fd5b50565b600081359050610bc181610b9b565b92915050565b60008060408385031215610bde57610bdd610b2e565b5b6000610bec85828601610b7c565b9250506020610bfd85828601610bb2565b9150509250929050565b60008115159050919050565b610c1c81610c07565b82525050565b6000602082019050610c376000830184610c13565b92915050565b610c4681610b91565b82525050565b6000602082019050610c616000830184610c3d565b92915050565b600080600060608486031215610c8057610c7f610b2e565b5b6000610c8e86828701610b7c565b9350506020610c9f86828701610b7c565b9250506040610cb086828701610bb2565b9150509250925092565b600060ff82169050919050565b610cd081610cba565b82525050565b6000602082019050610ceb6000830184610cc7565b92915050565b600060208284031215610d0757610d06610b2e565b5b6000610d1584828501610b7c565b91505092915050565b60008060408385031215610d3557610d34610b2e565b5b6000610d4385828601610b7c565b9250506020610d5485828601610b7c565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610da557607f821691505b602082108103610db857610db7610d5e565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610df882610b91565b9150610e0383610b91565b9250828201905080821115610e1b57610e1a610dbe565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000610e7d602583610a87565b9150610e8882610e21565b604082019050919050565b60006020820190508181036000830152610eac81610e70565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000610f0f602483610a87565b9150610f1a82610eb3565b604082019050919050565b60006020820190508181036000830152610f3e81610f02565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000610fa1602283610a87565b9150610fac82610f45565b604082019050919050565b60006020820190508181036000830152610fd081610f94565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b600061100d601d83610a87565b915061101882610fd7565b602082019050919050565b6000602082019050818103600083015261103c81611000565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061109f602583610a87565b91506110aa82611043565b604082019050919050565b600060208201905081810360008301526110ce81611092565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611131602383610a87565b915061113c826110d5565b604082019050919050565b6000602082019050818103600083015261116081611124565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006111c3602683610a87565b91506111ce82611167565b604082019050919050565b600060208201905081810360008301526111f2816111b6565b905091905056fea2646970667358221220111835cf5177d466ff04d1477368807f060bf7fab712e923b43a54116fd1f5e764736f6c63430008130033", + "linkReferences": {}, + "deployedLinkReferences": {} +} + \ No newline at end of file diff --git a/shared/contracts/README.md b/shared/contracts/README.md new file mode 100644 index 0000000000..8420d3a638 --- /dev/null +++ b/shared/contracts/README.md @@ -0,0 +1,19 @@ +# ABI Source Explanation + +**`/contracts`** directory contains the ABI (Application Binary Interface) for the "TransferDomainV1" smart contract. The ABI was generated based on the corresponding Solidity (.sol) file. + +## Contract Information + +- **Contract Name**: TransferDomainV1 +- **Solidity File**: [TransferDomainV1.sol](https://github.com/DeFiCh/ain/blob/master/lib/ain-contracts/transfer_domain_v1/TransferDomainV1.sol) + +## ABI Generation + +The ABI provided in this repository was generated from the linked Solidity file. This ABI is essential for interacting with the TransferDomainV1 smart contract on the Ethereum blockchain or other compatible blockchains. + +## Disclaimer + +Please note that the ABI provided here is based on the linked Solidity file at the time of generation. Ensure that the Solidity code and the ABI are up-to-date and compatible with the version of the smart contract deployed on the blockchain you intend to interact with. + +For any updates or changes to the contract, refer to the original source repository: +[TransferDomainV1.sol](https://github.com/DeFiCh/ain/blob/master/lib/ain-contracts/transfer_domain_v1/TransferDomainV1.sol) diff --git a/shared/contracts/TransferDomainV1.json b/shared/contracts/TransferDomainV1.json new file mode 100644 index 0000000000..756a77ba7e --- /dev/null +++ b/shared/contracts/TransferDomainV1.json @@ -0,0 +1,181 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "TransferDomainV1", + "sourceName": "contracts/TransferDomainV1.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "vmAddress", + "type": "string" + } + ], + "name": "VMTransfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address payable", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "string", + "name": "vmAddress", + "type": "string" + } + ], + "name": "transfer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "contractAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address payable", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "string", + "name": "vmAddress", + "type": "string" + } + ], + "name": "transferDST20", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610a77806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c806370a082311161005b57806370a08231146100dc578063917e9b691461010c57806395d89b4114610128578063d57b2826146101465761007d565b806306fdde031461008257806318160ddd146100a0578063313ce567146100be575b600080fd5b61008a610162565b60405161009791906104e6565b60405180910390f35b6100a861019f565b6040516100b59190610521565b60405180910390f35b6100c66101a9565b6040516100d39190610558565b60405180910390f35b6100f660048036038101906100f191906105e5565b6101b2565b6040516101039190610521565b60405180910390f35b610126600480360381019061012191906107b1565b6101fa565b005b6101306102b9565b60405161013d91906104e6565b60405180910390f35b610160600480360381019061015b9190610848565b6102f6565b005b60606040518060400160405280600e81526020017f5472616e73666572446f6d61696e000000000000000000000000000000000000815250905090565b6000600154905090565b60006012905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b8473ffffffffffffffffffffffffffffffffffffffff166323b872dd8585856040518463ffffffff1660e01b815260040161023793929190610939565b6020604051808303816000875af1158015610256573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061027a91906109a8565b507f5b494f8e62c9b3ea113ad3af9830e30a412c97a58a1237f83b3a515c94bc5577816040516102aa91906104e6565b60405180910390a15050505050565b60606040518060400160405280600381526020017f4446490000000000000000000000000000000000000000000000000000000000815250905090565b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146103b4578147101561036c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161036390610a21565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156103b2573d6000803e3d6000fd5b505b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516104119190610521565b60405180910390a37f5b494f8e62c9b3ea113ad3af9830e30a412c97a58a1237f83b3a515c94bc55778160405161044891906104e6565b60405180910390a150505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610490578082015181840152602081019050610475565b60008484015250505050565b6000601f19601f8301169050919050565b60006104b882610456565b6104c28185610461565b93506104d2818560208601610472565b6104db8161049c565b840191505092915050565b6000602082019050818103600083015261050081846104ad565b905092915050565b6000819050919050565b61051b81610508565b82525050565b60006020820190506105366000830184610512565b92915050565b600060ff82169050919050565b6105528161053c565b82525050565b600060208201905061056d6000830184610549565b92915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006105b282610587565b9050919050565b6105c2816105a7565b81146105cd57600080fd5b50565b6000813590506105df816105b9565b92915050565b6000602082840312156105fb576105fa61057d565b5b6000610609848285016105d0565b91505092915050565b600061061d82610587565b9050919050565b61062d81610612565b811461063857600080fd5b50565b60008135905061064a81610624565b92915050565b61065981610508565b811461066457600080fd5b50565b60008135905061067681610650565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6106be8261049c565b810181811067ffffffffffffffff821117156106dd576106dc610686565b5b80604052505050565b60006106f0610573565b90506106fc82826106b5565b919050565b600067ffffffffffffffff82111561071c5761071b610686565b5b6107258261049c565b9050602081019050919050565b82818337600083830152505050565b600061075461074f84610701565b6106e6565b9050828152602081018484840111156107705761076f610681565b5b61077b848285610732565b509392505050565b600082601f8301126107985761079761067c565b5b81356107a8848260208601610741565b91505092915050565b600080600080600060a086880312156107cd576107cc61057d565b5b60006107db888289016105d0565b95505060206107ec888289016105d0565b94505060406107fd8882890161063b565b935050606061080e88828901610667565b925050608086013567ffffffffffffffff81111561082f5761082e610582565b5b61083b88828901610783565b9150509295509295909350565b600080600080608085870312156108625761086161057d565b5b6000610870878288016105d0565b94505060206108818782880161063b565b935050604061089287828801610667565b925050606085013567ffffffffffffffff8111156108b3576108b2610582565b5b6108bf87828801610783565b91505092959194509250565b6108d4816105a7565b82525050565b6000819050919050565b60006108ff6108fa6108f584610587565b6108da565b610587565b9050919050565b6000610911826108e4565b9050919050565b600061092382610906565b9050919050565b61093381610918565b82525050565b600060608201905061094e60008301866108cb565b61095b602083018561092a565b6109686040830184610512565b949350505050565b60008115159050919050565b61098581610970565b811461099057600080fd5b50565b6000815190506109a28161097c565b92915050565b6000602082840312156109be576109bd61057d565b5b60006109cc84828501610993565b91505092915050565b7f496e73756666696369656e7420636f6e74726163742062616c616e6365000000600082015250565b6000610a0b601d83610461565b9150610a16826109d5565b602082019050919050565b60006020820190508181036000830152610a3a816109fe565b905091905056fea26469706673582212205fe56b2a0619cb16b206a81a57cd7b92c45b2b0c7fb4d0763da20ae5e2e073c964736f6c63430008130033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c806370a082311161005b57806370a08231146100dc578063917e9b691461010c57806395d89b4114610128578063d57b2826146101465761007d565b806306fdde031461008257806318160ddd146100a0578063313ce567146100be575b600080fd5b61008a610162565b60405161009791906104e6565b60405180910390f35b6100a861019f565b6040516100b59190610521565b60405180910390f35b6100c66101a9565b6040516100d39190610558565b60405180910390f35b6100f660048036038101906100f191906105e5565b6101b2565b6040516101039190610521565b60405180910390f35b610126600480360381019061012191906107b1565b6101fa565b005b6101306102b9565b60405161013d91906104e6565b60405180910390f35b610160600480360381019061015b9190610848565b6102f6565b005b60606040518060400160405280600e81526020017f5472616e73666572446f6d61696e000000000000000000000000000000000000815250905090565b6000600154905090565b60006012905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b8473ffffffffffffffffffffffffffffffffffffffff166323b872dd8585856040518463ffffffff1660e01b815260040161023793929190610939565b6020604051808303816000875af1158015610256573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061027a91906109a8565b507f5b494f8e62c9b3ea113ad3af9830e30a412c97a58a1237f83b3a515c94bc5577816040516102aa91906104e6565b60405180910390a15050505050565b60606040518060400160405280600381526020017f4446490000000000000000000000000000000000000000000000000000000000815250905090565b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146103b4578147101561036c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161036390610a21565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156103b2573d6000803e3d6000fd5b505b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516104119190610521565b60405180910390a37f5b494f8e62c9b3ea113ad3af9830e30a412c97a58a1237f83b3a515c94bc55778160405161044891906104e6565b60405180910390a150505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610490578082015181840152602081019050610475565b60008484015250505050565b6000601f19601f8301169050919050565b60006104b882610456565b6104c28185610461565b93506104d2818560208601610472565b6104db8161049c565b840191505092915050565b6000602082019050818103600083015261050081846104ad565b905092915050565b6000819050919050565b61051b81610508565b82525050565b60006020820190506105366000830184610512565b92915050565b600060ff82169050919050565b6105528161053c565b82525050565b600060208201905061056d6000830184610549565b92915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006105b282610587565b9050919050565b6105c2816105a7565b81146105cd57600080fd5b50565b6000813590506105df816105b9565b92915050565b6000602082840312156105fb576105fa61057d565b5b6000610609848285016105d0565b91505092915050565b600061061d82610587565b9050919050565b61062d81610612565b811461063857600080fd5b50565b60008135905061064a81610624565b92915050565b61065981610508565b811461066457600080fd5b50565b60008135905061067681610650565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6106be8261049c565b810181811067ffffffffffffffff821117156106dd576106dc610686565b5b80604052505050565b60006106f0610573565b90506106fc82826106b5565b919050565b600067ffffffffffffffff82111561071c5761071b610686565b5b6107258261049c565b9050602081019050919050565b82818337600083830152505050565b600061075461074f84610701565b6106e6565b9050828152602081018484840111156107705761076f610681565b5b61077b848285610732565b509392505050565b600082601f8301126107985761079761067c565b5b81356107a8848260208601610741565b91505092915050565b600080600080600060a086880312156107cd576107cc61057d565b5b60006107db888289016105d0565b95505060206107ec888289016105d0565b94505060406107fd8882890161063b565b935050606061080e88828901610667565b925050608086013567ffffffffffffffff81111561082f5761082e610582565b5b61083b88828901610783565b9150509295509295909350565b600080600080608085870312156108625761086161057d565b5b6000610870878288016105d0565b94505060206108818782880161063b565b935050604061089287828801610667565b925050606085013567ffffffffffffffff8111156108b3576108b2610582565b5b6108bf87828801610783565b91505092959194509250565b6108d4816105a7565b82525050565b6000819050919050565b60006108ff6108fa6108f584610587565b6108da565b610587565b9050919050565b6000610911826108e4565b9050919050565b600061092382610906565b9050919050565b61093381610918565b82525050565b600060608201905061094e60008301866108cb565b61095b602083018561092a565b6109686040830184610512565b949350505050565b60008115159050919050565b61098581610970565b811461099057600080fd5b50565b6000815190506109a28161097c565b92915050565b6000602082840312156109be576109bd61057d565b5b60006109cc84828501610993565b91505092915050565b7f496e73756666696369656e7420636f6e74726163742062616c616e6365000000600082015250565b6000610a0b601d83610461565b9150610a16826109d5565b602082019050919050565b60006020820190508181036000830152610a3a816109fe565b905091905056fea26469706673582212205fe56b2a0619cb16b206a81a57cd7b92c45b2b0c7fb4d0763da20ae5e2e073c964736f6c63430008130033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/shared/store/evm.ts b/shared/store/evm.ts new file mode 100644 index 0000000000..ec5fd0b9d5 --- /dev/null +++ b/shared/store/evm.ts @@ -0,0 +1,137 @@ +import { PayloadAction, createAsyncThunk, createSlice } from "@reduxjs/toolkit"; +import { getAddressFromDST20TokenId } from "@api/transaction/transfer_domain"; +import { EnvironmentNetwork, isPlayground } from "@waveshq/walletkit-core"; +import { ethers, providers } from "ethers"; +import DST20V1 from "@shared-contracts/DST20V1.json"; + +interface EvmWalletDetails { + hash: string; + name: string; + coin_balance: string; + exchange_rate: string; + implementation_address: string; + block_number_balance_updated_at: number; + creator_address_hash: string; + creation_tx_hash: string; +} + +interface EvmToken { + address: string; + decimals: string; + name: string; + symbol: string; + type: string; +} + +interface EvmTokenBalance { + token_id: string; + value: string; + token: EvmToken; +} + +interface EvmState { + evmWalletDetails: EvmWalletDetails | null; + evmTokenBalances: EvmTokenBalance[]; + hasFetchedEvmTokens: boolean; +} + +const initialState: EvmState = { + evmWalletDetails: null, + evmTokenBalances: [], + hasFetchedEvmTokens: false, +}; + +export const fetchEvmWalletDetails = createAsyncThunk( + "wallet/fetchEvmWalletDetails", + async ({ + evmUrl, + network, + evmAddress, + provider, + }: { + evmUrl: string; + network: EnvironmentNetwork; + evmAddress: string; + provider: providers.JsonRpcProvider | null; + }) => { + // If playground then use rpc calls + if (isPlayground(network) && provider !== null) { + const balance = await provider.getBalance(evmAddress); + return { + coin_balance: balance.toString(), + }; + } + const response = await fetch(`${evmUrl}/api/v2/addresses/${evmAddress}`); + const data = await response.json(); + if (data.message === "Not found") { + return {}; + } + return data; + }, +); + +export const fetchEvmTokenBalances = createAsyncThunk( + "wallet/fetchEvmTokenBalances", + async ({ + evmUrl, + network, + evmAddress, + provider, + tokenIds, + }: { + evmUrl: string; + network: EnvironmentNetwork; + evmAddress: string; + provider: providers.JsonRpcProvider | null; + tokenIds: string[]; + }) => { + // If playground then use rpc calls + if (isPlayground(network) && provider !== null) { + const tokens = tokenIds.map(async (id) => { + const address = getAddressFromDST20TokenId(id); + const contract = new ethers.Contract(address, DST20V1.abi, provider); + const balance = await contract.balanceOf(evmAddress); + const decimals = await contract.decimals(); + return { + token: { + decimals, + address, + }, + value: balance.toString(), + }; + }); + const res = await Promise.all(tokens); + return res.filter((each) => each.value !== "0"); + } + + const response = await fetch( + `${evmUrl}/api/v2/addresses/${evmAddress}/token-balances`, + ); + const data = await response.json(); + if (data.message === "Not found") { + return []; + } + return data; + }, +); + +export const evm = createSlice({ + name: "evm", + initialState, + reducers: {}, + extraReducers: (builder) => { + builder.addCase( + fetchEvmWalletDetails.fulfilled, + (state, action: PayloadAction) => { + state.evmWalletDetails = action.payload; + }, + ); + builder.addCase( + fetchEvmTokenBalances.fulfilled, + (state, action: PayloadAction) => { + state.evmTokenBalances = action.payload; + state.hasFetchedEvmTokens = true; + }, + ); + }, +}); diff --git a/shared/store/index.ts b/shared/store/index.ts index b67de7067c..d12dce4261 100644 --- a/shared/store/index.ts +++ b/shared/store/index.ts @@ -13,6 +13,7 @@ import { authentication } from "./authentication"; import { loans } from "./loans"; import { auctions } from "./auctions"; import { futureSwaps } from "./futureSwap"; +import { evm } from "./evm"; /** * RootState for DeFiChain Wallet App * @@ -36,6 +37,7 @@ export function initializeStore() { [statusWebsiteSlice.reducerPath]: statusWebsiteSlice.reducer, userPreferences: userPreferences.reducer, futureSwaps: futureSwaps.reducer, + evm: evm.reducer, }, middleware: (getDefaultMiddleware) => getDefaultMiddleware({ serializableCheck: false }) diff --git a/shared/store/userPreferences.ts b/shared/store/userPreferences.ts index e75ebcd445..81fd802636 100644 --- a/shared/store/userPreferences.ts +++ b/shared/store/userPreferences.ts @@ -6,18 +6,25 @@ import { } from "@reduxjs/toolkit"; import { LocalStorageProvider } from "@api/local_storage/provider"; import { EnvironmentNetwork } from "@waveshq/walletkit-core"; +import { DomainType } from "@contexts/DomainContext"; export interface LabeledAddress { - [address: string]: LocalAddress; + [address: string]: LocalAddress | WhitelistedAddress; } -export interface LocalAddress { +export interface WhitelistedAddress { address: string; label: string; - isMine: boolean; + addressDomainType: DomainType; isFavourite?: boolean; } +export interface LocalAddress { + address: string; + evmAddress: string; + label: string; +} + export interface UserPreferences { addresses: LabeledAddress; addressBook: LabeledAddress; @@ -31,8 +38,10 @@ const initialState: UserPreferences = { export const fetchUserPreferences = createAsyncThunk( "userPreferences/fetchUserPreferences", async (network: EnvironmentNetwork) => { - return await LocalStorageProvider.getUserPreferences(network); - } + const { addresses, addressBook } = + await LocalStorageProvider.getUserPreferences(network); + return { addresses, addressBook: prePopulateWhitelistedField(addressBook) }; + }, ); export const setUserPreferences = createAsyncThunk( @@ -45,21 +54,21 @@ export const setUserPreferences = createAsyncThunk( preferences: UserPreferences; }) => { await LocalStorageProvider.setUserPreferences(network, preferences); - } + }, ); export const setAddresses = createAsyncThunk( "userPreferences/setAddresses", async (addresses: LabeledAddress) => { return addresses; - } + }, ); export const setAddressBook = createAsyncThunk( "userPreferences/setAddressBook", async (addressBook: LabeledAddress) => { return addressBook; - } + }, ); export const userPreferences = createSlice({ @@ -83,40 +92,59 @@ export const userPreferences = createSlice({ (state, action: PayloadAction) => { state = action.payload; return state; - } + }, ); builder.addCase( setAddresses.fulfilled, (state, action: PayloadAction) => { state.addresses = action.payload; return state; - } + }, ); builder.addCase( setAddressBook.fulfilled, (state, action: PayloadAction) => { state.addressBook = action.payload; return state; - } + }, ); }, }); export const selectAddressBookArray = createSelector( (state: UserPreferences) => state.addressBook, - (addressBook) => { - return prepopulateField(addressBook); - } + (addressBook): WhitelistedAddress[] => { + return prePopulateField(addressBook) as WhitelistedAddress[]; + }, ); export const selectLocalWalletAddressArray = createSelector( (state: UserPreferences) => state.addresses, - (walletAddress) => { - return prepopulateField(walletAddress); - } + (walletAddress): LocalAddress[] => { + return prePopulateField(walletAddress) as LocalAddress[]; + }, ); -const prepopulateField = (addresses: LabeledAddress): LocalAddress[] => { +// to get wallet label for saved all (DFI and EVM) wallet address, adding all relevant address type in object +export const selectAllLabeledWalletAddress = createSelector( + (state: UserPreferences) => state.addresses, + (walletAddress): LabeledAddress => { + return (Object.values(walletAddress) as LocalAddress[]).reduce( + (allAddress, each) => { + return { + ...allAddress, + [each.address]: each, + [each.evmAddress]: each, + }; + }, + {}, + ); + }, +); + +const prePopulateField = ( + addresses: LabeledAddress, +): (LocalAddress | WhitelistedAddress)[] => { const _addresses: LabeledAddress = { ...addresses }; // pre-populate address and isFavourite flag for older app version, used for UI data model only @@ -132,3 +160,23 @@ const prepopulateField = (addresses: LabeledAddress): LocalAddress[] => { } return Object.values(_addresses); }; + +const prePopulateWhitelistedField = ( + addressBook: LabeledAddress, +): LabeledAddress => { + const address = Object.values(addressBook); + return (address as WhitelistedAddress[]).reduce( + (all: LabeledAddress, each: WhitelistedAddress) => { + return { + ...all, + [each.address]: { + address: each.address, + label: each.label, + addressDomainType: each.addressDomainType ?? DomainType.DVM, + isFavourite: each.isFavourite, + }, + }; + }, + {}, + ); +}; diff --git a/shared/translations/languages/de.json b/shared/translations/languages/de.json index 8c7b775302..22be1a0a20 100644 --- a/shared/translations/languages/de.json +++ b/shared/translations/languages/de.json @@ -109,7 +109,8 @@ "AVAILABLE ASSETS": "VERFÜGBARE AKTIVA", "Asset value": "Wert der Aktiva", "Sort by": "Sortieren nach", - "ASSETS": "AKTIVA" + "ASSETS": "AKTIVA", + "network": "netzwerk" }, "screens/GetDFIScreen": { "Get DFI": "DFI erhalten", @@ -212,7 +213,8 @@ "Address deleted!": "Adresse gelöscht!", "It may take a few seconds to delete": "Das Löschen kann einige Sekunden dauern", "It may take a few seconds to update": "Die Aktualisierung kann ein paar Sekunden dauern", - "It may take a few seconds to save": "Das Speichern kann ein paar Sekunden dauern" + "It may take a few seconds to save": "Das Speichern kann ein paar Sekunden dauern", + "ADDRESS TYPE": "ADRESSTYP" }, "screens/ReceiveScreen": { "Receive": "Empfangen", @@ -223,7 +225,7 @@ "Copy": "Kopieren", "Share": "Teilen", "WALLET ADDRESS": "WALLETADRESSE", - "Use QR or Wallet address to receive any tokens (DST) or DFI": "Verwende den QR-Code oder die Wallet-Adresse, um Token (DST) oder DFI zu erhalten", + "Scan QR code to receive any dTokens (eg. DUSD,dBTC..) or DFI": "Scanne den QR-Code, um dToken (z.B. DUSD, dBTC...) oder DFI zu erhalten", "Get DFI": "DFI erwerben" }, "components/toaster": { @@ -326,6 +328,7 @@ "Available {{unit}}": "Verfügbare {{unit}}", "Resulting {{unit}}": "Resultierende {{unit}}", "TO RECEIVE": "ZU ERHALTEN", + "TO CONVERT": "UMWANDELN", "tokens": "Token" }, "screens/ConvertConfirmScreen": { @@ -345,11 +348,13 @@ "CONFIRM TRANSACTION": "TRANSAKTION BESTÄTIGEN", "You are converting to {{unit}}": "Du wandelst in {{unit}} um", "Transaction fee": "Transaktionsgebühren", + "Resulting Tokens (EVM)": "Resultierende Token (EVM)", "Resulting Tokens": "Resultierende Token", "Resulting UTXO": "Resultierende UTXO", "Convert {{amount}} DFI to {{target}}": "Wandle {{amount}} DFI in {{target}} um", "Converting": "Umwandeln", - "Converted": "Umgewandelt" + "Converted": "Umgewandelt", + "Convert {{amount}} {{symbolA}} to {{symbolB}} tokens": "{{amount}} {{symbolA}}- in {{symbolB}}-Token umwandeln" }, "screens/SettingsNavigator": { "Settings": "Einstellungen" @@ -419,7 +424,9 @@ "Cancel transaction": "Transaktion abbrechen", "By cancelling, you will lose any changes you made for your transaction.": "Wenn du die Transaktion abbrichst, gehen alle Änderungen, die du für deine Transaktion vorgenommen hast, verloren.", "View on Scan": "Ansicht auf Scan", - "Go back": "Zurück" + "Go back": "Zurück", + "Service Providers": "Dienstanbieter", + "Custom (3rd-party)": "Benutzerdefiniert (\"Drittanbieter\")" }, "screens/AboutScreen": { "About": "Über", @@ -538,6 +545,19 @@ "Are there other ways to submit proposals?": "Gibt es noch andere Möglichkeiten, Proposals einzureichen?", "If you own a full node wallet, you may also choose to submit using commands via CLI. Commands can be generated on DeFiScan, under Governance tab > Submit proposal.": "Wenn du eine Full-Node-Wallet besitzt, kannst du die Proposals auch über Befehle per Befehlszeile einreichen. Befehle können auf DeFiScan unter dem Reiter Governance > Submit proposal erstellt werden." }, + "components/EvmFeatureFaq": { + "FREQUENTLY ASKED QUESTIONS": "HÄUFIG GESTELLTE FRAGEN", + "About MetaChain (EVM)": "MetaChain (EVM)", + "The MetaChain layer provides an EVM-compatible environment that allows developers familiar with Ethereum to build applications inside the DeFiChain ecosystem.": "Der MetaChain-Layer bietet eine EVM-kompatible Umgebung, die es Entwicklern, die mit Ethereum vertraut sind, ermöglicht, Anwendungen innerhalb des DeFiChain-Ökosystems zu entwickeln.", + "What tokens are supported between DVM and EVM bidirectionally?": "Welche Token werden zwischen DVM und EVM bidirektional unterstützt?", + "All dTokens are accepted. dTokens consist of:\ndStocks (dTSLA, dGOOG.) + DFI\n\nFor the full list, you may refer to https://defiscan.live/tokens on any tokens under DAT category.": "Alle dToken werden akzeptiert. dToken bestehen aus:\ndStocks (dTSLA, dGOOG.) + DFI\n\nDie vollständige Liste findest du unter https://defiscan.live/tokens unter der Kategorie DAT.", + "How can I access the MetaChain layer from the Light Wallet?": "Wie kann ich von der Lightwallet aus auf den MetaChain-Layer zugreifen?", + "Move your dTokens between native DeFiChain's native layer (DVM) and the MetaChain layer (EVM) bidirectionally.\n\nFor instance, transfer DFI/DUSD/dBTC or any other dToken from DVM to EVM and back, all directly within the Light Wallet.": "Bewege deine dToken zwischen dem nativen Layer von DeFiChain (DVM) und dem MetaChain-Layer (EVM) bidirektional.\n\nÜbertrage z.B. DFI/DUSD/dBTC oder jeden anderen dToken von DVM zu EVM und zurück, alles direkt in der Lightwallet.", + "Why would I need to move dTokens from DVM to EVM?": "Warum sollte ich dToken von DVM zu EVM verschieben?", + "Using the gateway allows you to move your dTokens from the Light Wallet to any EVM compatible wallet on the MetaChain layer (ex: MetaMask). This would allow you to interact with the constantly growing EVM ecosystem on MetaChain and the various projects on it.": "Mit dem Gateway kannst du deine dToken von der Lightwallet zu jeder EVM-kompatiblen Wallet auf dem MetaChain-Layer (z. B. MetaMask) verschieben. So kannst du mit dem ständig wachsenden EVM-Ökosystem auf MetaChain und den verschiedenen Projekten interagieren.", + "How can I move dTokens from DVM to EVM?": "Wie kann ich dToken von DVM zu EVM verschieben?", + "You can do it through either the \"Convert\" or \"Send\" functions on Light Wallet. The \"Convert\" option allows you to convert any dTokens on DVM to your own EVM address within the Light Wallet (and vice versa).\n\nYour seed phrase can also be used to import your Light Wallet EVM address into any external wallets which support a 24 words recovery phrase like MetaMask.\n\nThe \"Send\" option allows you to send dTokens from your DVM address to any EVM address on the MetaChain layer and vice versa. Note that you do not need to convert your dTokens before sending, this process does it automatically for you.": "Du kannst dies entweder über die Funktionen \"Umwandeln\" oder \"Senden\" in der Lightwallet tun. Mit der Option \"Konvertieren\" kannst du alle DVM-dToken in deine eigene EVM-Adresse in der Lightwallet umwandeln (und umgekehrt).\n\nDeine Seed-Phrase kann auch verwendet werden, um deine Lightwallet-EVM-Adresse in externe Wallets zu importieren, die eine 24-Wörter-Wiederherstellungsphrase wie MetaMask unterstützen.\n\nMit der Option \"Senden\" kannst du dToken von deiner DVM-Adresse an eine beliebige EVM-Adresse auf dem MetaChain-Layer senden und umgekehrt. Beachte, dass du deine dToken vor dem Senden nicht umwandeln musst, das geschieht automatisch für dich." + }, "screens/NetworkSelectionScreen": { "NETWORK": "NETZWERK", "Select network": "Netzwerkauswahl", @@ -609,6 +629,8 @@ "Trade on the DEX and earn rewards from liquidity mining with crypto and dTokens.": "Handle auf der DEX und verdiene Rewards aus dem Liquiditäts-Mining mit Kryptos und dToken.", "Decentralized loans": "Dezentrale Darlehen", "Access financial opportunities with dTokens minted through decentralized vaults.": "Erhalte Zugang zu finanziellen Gelegenheiten mit dToken, die in dezentralen Vaults gemintet wurden.", + "EVM compatible": "EVM-kompatibel", + "Seamless transfers between DeFiChain and MetaChain via generated EVM address.": "Nahtlose Übertragung zwischen DeFiChain und MetaChain durch generierte EVM-Adresse.", "DeFiChain Wallet is fully non-custodial. Only you will have access to your fund.": "Die DeFiChain-Wallet ist völlig non-custodial. Nur du hast Zugang zu deinem Guthaben." }, "screens/CreateMnemonicWallet": { @@ -641,7 +663,8 @@ "Don’t share to anyone. Keep the recovery words only to yourself.": "Teile sie niemandem mit. Nur du solltest den Wiederherstellungssatz kennen.", "You will be shown 24 recovery words on the next screen. Keep your 24-word recovery safe as it will allow you to recover access to the wallet.": "In der nächsten Ansicht werden dir 24 Wiederherstellungswörter angezeigt. Bewahre deine 24 Wiederherstellungswörter sicher auf, denn mit ihnen kannst du den Zugang zur Wallet wiederherstellen.", "Write the words on paper. Take note of their correct spelling and order.": "Schreibe die Wörter auf Papier. Achte auf die richtige Schreibweise und Reihenfolge.", - "Secure them in a safe place. Store them offline at a place only you have access. Keep them private and do not share it with anyone.": "Bewahre sie an einem sicheren Ort auf. Speichere sie offline an einem Ort, zu dem nur du Zugang hast. Schütze sie vor fremden Einblicken und teile sie mit niemandem." + "Secure them in a safe place. Store them offline at a place only you have access. Keep them private and do not share it with anyone.": "Bewahre sie an einem sicheren Ort auf. Speichere sie offline an einem Ort, zu dem nur du Zugang hast. Schütze sie vor fremden Einblicken und teile sie mit niemandem.", + "A mapped EVM address will be generated to ensure seamless transfers between DeFiChain and MetaChain.": "Eine zugeordnete EVM-Adresse wird generiert, um eine nahtlose Übertragung zwischen DeFiChain und MetaChain zu gewährleisten." }, "screens/GuidelinesRecoveryWords": { "What are recovery words?": "Was ist der Wiederherstellungssatz (Seed Phrase)?", @@ -735,7 +758,9 @@ "Display payback DUSD loan with DUSD collateral": "Rückzahlungen von DUSD-Darlehen mit DUSD-Sicherheiten anzeigen", "CFP/DFIP proposal(s)": "CFP/DFIP-Anträge", "Allows the submission of CFP/DFIP proposals": "Ermöglicht die Einreichung von CFP/DFIP-Anträgen", - "Upon activation, you will be able to submit CFP/DFIP proposals directly using your active mobile Light Wallet account. Do you want to continue?": "Nach der Aktivierung kannst du CFP/DFIP-Anträge direkt über den aktiven Account deiner mobilen Lightwallet einreichen. Möchtest du fortfahren?" + "Upon activation, you will be able to submit CFP/DFIP proposals directly using your active mobile Light Wallet account. Do you want to continue?": "Nach der Aktivierung kannst du CFP/DFIP-Anträge direkt über den aktiven Account deiner mobilen Lightwallet einreichen. Möchtest du fortfahren?", + "Light Wallet beta features are in final testing before their official release. Using beta features are encouraged, but caution is advised when using your assets.": "Die Beta-Funktionen der Lightwallet befinden sich in der Endphase der Tests, bevor sie offiziell veröffentlicht werden. Die Nutzung der Beta-Funktionen wird empfohlen, aber bei der Verwendung deiner Aktiva ist Vorsicht geboten.", + "Allows to customize the service providers for both DVM and EVM. Proceed with caution.": "Ermöglicht die Anpassung der Dienstanbieter für DVM und EVM. Gehe mit Vorsicht vor." }, "BottomTabNavigator": { "Balances": "Guthaben", @@ -828,7 +853,9 @@ "Borrowing {{amount}} {{symbol}} with vault {{vaultId}}": "Darlehensaufnahme von {{amount}} {{symbol}} mit Vault {{vaultId}}", "Borrowed {{amount}} {{symbol}}": "{{amount}} {{symbol}} ausgeliehen", "Requested amount is higher than available amount.": "Der beantragte Betrag ist höher als der verfügbare Betrag.", - "tokens": "Token" + "tokens": "Token", + "Converting {{amount}} {{symbolA}} to {{symbolB}} tokens": "Umwandlung von {{amount}} {{symbolA}}- in {{symbolB}}-Token", + "{{amount}} {{symbolA}} converted to {{symbolB}} tokens": "{{amount}} {{symbolA}}- in {{symbolB}}-Token umgewandelt" }, "components/BarCodeScanner": { "Requesting for camera permission": "Kameranutzung erlauben", @@ -838,6 +865,10 @@ "HALF": "1/2", "MAX": "MAX" }, + "components/ConversionDetailsRow": { + "Resulting UTXO": "Resultierende UTXO", + "Resulting Tokens": "Resultierende Token" + }, "screens/common": { "CANCEL": "ABBRECHEN", "Cancel": "Abbrechen", @@ -2137,6 +2168,7 @@ "Adding malicious service providers may result in irrecoverable funds. Please proceed at your own risk.": "Das Hinzufügen von betrügerischen Dienstanbietern kann zu unwiederbringlichen Guthaben führen. Du handelst auf eigenes Risiko.", "Only add URLs that are fully trusted and secured. Adding malicious service providers may result in irrecoverable funds. Changes do not take effect until you manually restart the app.": "Bitte füge lediglich vertrauenswürdige und gesicherte URLs hinzu. Das Hinzufügen von betrügerischen Dienstanbietern kann zu unwiederbringlichen Guthaben führen. Die Änderungen werden erst nach einem manuellen Neustart der App wirksam.", "Adding custom service provider": "Hinzufügen eines benutzerdefinierten Dienstanbieters", + "Adding custom service providers": "Hinzufügen eines benutzerdefinierten Dienstanbieters", "In doing so, you will be reverted back to Light wallet's default endpoint. Would you like to continue?": "Hiermit kehrst du zum Standard-Endpunkt der Lightwallet zurück. Willst du fortfahren?", "Enter passcode to continue": "Passwort eingeben, um fortzufahren", "Invalid URL": "Ungültige URL", @@ -2147,7 +2179,17 @@ "Reset Service Provider": "Dienstanbieter zurücksetzen", "Go back": "Zurück", "GO BACK": "ZURÜCK", - "Reset": "Zurücksetzen" + "Reset": "Zurücksetzen", + "Save changes": "Änderungen sichern", + "Custom Service Provider": "Benutzerdefinierte Dienstanbieter", + "Reset providers": "Dienstanbieter zurücksetzen", + "ENDPOINT URL (DVM)": "ENDPUNKT-URL (DVM)", + "Used to get balance from Native DFC (MainNet and TestNet)": "Wird verwendet, um den Native-DFC-Saldo (MainNet und TestNet) abzurufen", + "ENDPOINT URL (EVM)": "ENDPUNKT-URL (EVM)", + "Used to get balance from EVM (MainNet and TestNet)": "Wird verwendet, um den EVM-Saldo (MainNet und TestNet) abzurufen", + "ENDPOINT URL (ETH-RPC)": "ENDPUNKT-URL (ETH-RPC)", + "Used to get Nonce and Chain ID": "Wird verwendet, um Nonce und Chain ID abzurufen", + "Only add URLs that are fully trusted and secured. Adding malicious service providers may result in irrecoverable funds. Proceed at your own risk.": "Füge nur URLs hinzu, die vollständig vertrauenswürdig und sicher sind. Das Hinzufügen von bösartigen Dienstanbietern kann dazu führen, dass Guthaben unwiederbringlich verloren gehen. Das Vorgehen erfolgt auf eigene Gefahr." }, "components/QuickBid": { "QUICK BID": "SCHNELLES GEBOT", @@ -2194,7 +2236,9 @@ "Swap": "Tausch", "Transactions": "Transaktionen", "Future swap": "Future Swap", - "Get DFI": "DFI erhalten" + "Get DFI": "DFI erhalten", + "Convert": "Umwandeln", + "Governance": "Governance" }, "screens/PoolPairDetailsScreen": { "{{poolPair}} Pool": "{{poolPair}}-Pool", diff --git a/shared/translations/languages/es.json b/shared/translations/languages/es.json index 3437080c7d..89f6dd06d3 100644 --- a/shared/translations/languages/es.json +++ b/shared/translations/languages/es.json @@ -112,7 +112,8 @@ "AVAILABLE ASSETS": "ACTIVOS DISPONIBLES", "Asset value": "Valor del activo", "Sort by": "Ordenar por", - "ASSETS": "ACTIVOS" + "ASSETS": "ACTIVOS", + "network": "red" }, "screens/GetDFIScreen": { "Get DFI": "Obtener DFI", @@ -221,7 +222,8 @@ "Address deleted!": "Dirección borrada!", "It may take a few seconds to delete": "Puede tardar unos segundos en borrarse", "It may take a few seconds to update": "Puede tardar unos segundos en actualizarse", - "It may take a few seconds to save": "Puede tardar unos segundos en guardarse" + "It may take a few seconds to save": "Puede tardar unos segundos en guardarse", + "ADDRESS TYPE": "ADDRESS TYPE" }, "screens/ReceiveScreen": { "Receive": "Recibir", @@ -232,7 +234,7 @@ "Copy": "Copiar", "Share": "Compartir", "WALLET ADDRESS": "DIRECCIÓN DE LA BILLETERA", - "Use QR or Wallet address to receive any tokens (DST) or DFI": "Usar QR or direccion de billetera para recibir cualquier token (DST) o DFI", + "Scan QR code to receive any dTokens (eg. DUSD,dBTC..) or DFI": "Scan QR code to receive any dTokens (eg. DUSD,dBTC..) or DFI", "Get DFI": "Get DFI" }, "components/toaster": { @@ -336,7 +338,8 @@ "Available {{unit}}": "Disponible {{unit}}", "Resulting {{unit}}": "Resultando {{unit}}", "TO RECEIVE": "A RECIBIR", - "tokens": "tokens" + "tokens": "tokens", + "TO CONVERT": "TO CONVERT" }, "screens/ConvertConfirmScreen": { "Confirm": "Confirmar", @@ -355,11 +358,13 @@ "CONFIRM TRANSACTION": "CONFIRMAR TRANSACCIÓN", "You are converting to {{unit}}": "Esta convirtiendo a {{unit}}", "Transaction fee": "Comisión de transacción", + "Resulting Tokens (EVM)": "Resultando Tokens (EVM)", "Resulting Tokens": "Resultando Tokens", "Resulting UTXO": "Resultando UTXO", "Convert {{amount}} DFI to {{target}}": "Convirtiendo {{amount}} DFI a {{target}}", "Converting": "Convirtiendo", - "Converted": "Convertido" + "Converted": "Convertido", + "Convert {{amount}} {{symbolA}} to {{symbolB}} tokens": "Convert {{amount}} {{symbolA}} to {{symbolB}} tokens" }, "screens/SettingsNavigator": { "Settings": "Configuración" @@ -432,7 +437,9 @@ "Cancel transaction": "Cancel transaction", "By cancelling, you will lose any changes you made for your transaction.": "By cancelling, you will lose any changes you made for your transaction.", "View on Scan": "View on Scan", - "Go back": "Vuelve atrás" + "Go back": "Vuelve atrás", + "Service Providers": "Service Providers", + "Custom (3rd-party)": "Custom (3rd-party)" }, "screens/AboutScreen": { "About": "Más información", @@ -554,6 +561,19 @@ "Are there other ways to submit proposals?": "Are there other ways to submit proposals?", "If you own a full node wallet, you may also choose to submit using commands via CLI. Commands can be generated on DeFiScan, under Governance tab > Submit proposal.": "If you own a full node wallet, you may also choose to submit using commands via CLI. Commands can be generated on DeFiScan, under Governance tab > Submit proposal." }, + "components/EvmFeatureFaq": { + "FREQUENTLY ASKED QUESTIONS": "PREGUNTAS FRECUENTES", + "About MetaChain (EVM)": "About MetaChain (EVM)", + "The MetaChain layer provides an EVM-compatible environment that allows developers familiar with Ethereum to build applications inside the DeFiChain ecosystem.": "The MetaChain layer provides an EVM-compatible environment that allows developers familiar with Ethereum to build applications inside the DeFiChain ecosystem.", + "What tokens are supported between DVM and EVM bidirectionally?": "What tokens are supported between DVM and EVM bidirectionally?", + "All dTokens are accepted. dTokens consist of:\ndStocks (dTSLA, dGOOG.) + DFI\n\nFor the full list, you may refer to https://defiscan.live/tokens on any tokens under DAT category.": "All dTokens are accepted. dTokens consist of:\ndStocks (dTSLA, dGOOG.) + DFI\n\nFor the full list, you may refer to https://defiscan.live/tokens on any tokens under DAT category.", + "How can I access the MetaChain layer from the Light Wallet?": "How can I access the MetaChain layer from the Light Wallet?", + "Move your dTokens between native DeFiChain's native layer (DVM) and the MetaChain layer (EVM) bidirectionally.\n\nFor instance, transfer DFI/DUSD/dBTC or any other dToken from DVM to EVM and back, all directly within the Light Wallet.": "Move your dTokens between native DeFiChain's native layer (DVM) and the MetaChain layer (EVM) bidirectionally.\n\nFor instance, transfer DFI/DUSD/dBTC or any other dToken from DVM to EVM and back, all directly within the Light Wallet.", + "Why would I need to move dTokens from DVM to EVM?": "Why would I need to move dTokens from DVM to EVM?", + "Using the gateway allows you to move your dTokens from the Light Wallet to any EVM compatible wallet on the MetaChain layer (ex: MetaMask). This would allow you to interact with the constantly growing EVM ecosystem on MetaChain and the various projects on it.": "Using the gateway allows you to move your dTokens from the Light Wallet to any EVM compatible wallet on the MetaChain layer (ex: MetaMask). This would allow you to interact with the constantly growing EVM ecosystem on MetaChain and the various projects on it.", + "How can I move dTokens from DVM to EVM?": "How can I move dTokens from DVM to EVM?", + "You can do it through either the \"Convert\" or \"Send\" functions on Light Wallet. The \"Convert\" option allows you to convert any dTokens on DVM to your own EVM address within the Light Wallet (and vice versa).\n\nYour seed phrase can also be used to import your Light Wallet EVM address into any external wallets which support a 24 words recovery phrase like MetaMask.\n\nThe \"Send\" option allows you to send dTokens from your DVM address to any EVM address on the MetaChain layer and vice versa. Note that you do not need to convert your dTokens before sending, this process does it automatically for you.": "You can do it through either the \"Convert\" or \"Send\" functions on Light Wallet. The \"Convert\" option allows you to convert any dTokens on DVM to your own EVM address within the Light Wallet (and vice versa).\n\nYour seed phrase can also be used to import your Light Wallet EVM address into any external wallets which support a 24 words recovery phrase like MetaMask.\n\nThe \"Send\" option allows you to send dTokens from your DVM address to any EVM address on the MetaChain layer and vice versa. Note that you do not need to convert your dTokens before sending, this process does it automatically for you." + }, "screens/NetworkSelectionScreen": { "NETWORK": "RED", "Select network": "Seleccionar red", @@ -625,6 +645,8 @@ "Trade on the DEX and earn rewards from liquidity mining with crypto and dTokens.": "Intercambia tokens para obtener recompensas del liquidity mining con los tokens descentralizados.", "Decentralized loans": "Préstamos descentralizados", "Access financial opportunities with dTokens minted through decentralized vaults.": "Crea y accede a nuevos dTokens usando Vaults sobre-colateralizados", + "EVM compatible": "EVM compatible", + "Seamless transfers between DeFiChain and MetaChain via generated EVM address.": "Seamless transfers between DeFiChain and MetaChain via generated EVM address.", "DeFiChain Wallet is fully non-custodial. Only you will have access to your fund.": "La Billeter DeFiChain es non-custodial. Solo tu tendrás acceso a tus fondos." }, "screens/CreateMnemonicWallet": { @@ -660,7 +682,8 @@ "Create wallet": "Crear Billetera", "You will be shown 24 recovery words on the next screen. Keep your 24-word recovery safe as it will allow you to recover access to the wallet.": "Vas a ver 24 palabras de recuperación en la siguiente pantalla. Manten estas 24 palabras de recuperación seguras ya que estas te permitiran recuperar el acceso a tu billetera.", "Write the words on paper. Take note of their correct spelling and order.": "Escribe las palabras en papel. Manten el orden y la ortografía correctos.", - "Secure them in a safe place. Store them offline at a place only you have access. Keep them private and do not share it with anyone.": "Guardalas en un lugar seguro. Mantenlas offline en un sitio al que solo tu tengas acceso. Mantenlas privadas y no las compartas con nadie." + "Secure them in a safe place. Store them offline at a place only you have access. Keep them private and do not share it with anyone.": "Guardalas en un lugar seguro. Mantenlas offline en un sitio al que solo tu tengas acceso. Mantenlas privadas y no las compartas con nadie.", + "A mapped EVM address will be generated to ensure seamless transfers between DeFiChain and MetaChain.": "A mapped EVM address will be generated to ensure seamless transfers between DeFiChain and MetaChain." }, "screens/GuidelinesRecoveryWords": { "What are recovery words?": "Qúe son las palabras de recuperación?(Seed Phrase)", @@ -754,7 +777,9 @@ "Display payback DUSD loan with DUSD collateral": "Mostrar pago de préstamo de DUSD con el DUSD del colateral", "CFP/DFIP proposal(s)": "CFP/DFIP proposal(s)", "Allows the submission of CFP/DFIP proposals": "Allows the submission of CFP/DFIP proposals", - "Upon activation, you will be able to submit CFP/DFIP proposals directly using your active mobile Light Wallet account. Do you want to continue?": "Upon activation, you will be able to submit CFP/DFIP proposals directly using your active mobile Light Wallet account. Do you want to continue?" + "Upon activation, you will be able to submit CFP/DFIP proposals directly using your active mobile Light Wallet account. Do you want to continue?": "Upon activation, you will be able to submit CFP/DFIP proposals directly using your active mobile Light Wallet account. Do you want to continue?", + "Light Wallet beta features are in final testing before their official release. Using beta features are encouraged, but caution is advised when using your assets.": "Light Wallet beta features are in final testing before their official release. Using beta features are encouraged, but caution is advised when using your assets.", + "Allows to customize the service providers for both DVM and EVM. Proceed with caution.": "Allows to customize the service providers for both DVM and EVM. Proceed with caution." }, "BottomTabNavigator": { "Balances": "Saldos", @@ -847,7 +872,9 @@ "Borrowing {{amount}} {{symbol}} with vault {{vaultId}}": "Borrowing {{amount}} {{symbol}} with vault {{vaultId}}", "Borrowed {{amount}} {{symbol}}": "Borrowed {{amount}} {{symbol}}", "Requested amount is higher than available amount.": "Requested amount is higher than available amount.", - "tokens": "tokens" + "tokens": "tokens", + "Converting {{amount}} {{symbolA}} to {{symbolB}} tokens": "Converting {{amount}} {{symbolA}} to {{symbolB}} tokens", + "{{amount}} {{symbolA}} converted to {{symbolB}} tokens": "{{amount}} {{symbolA}} converted to {{symbolB}} tokens" }, "components/BarCodeScanner": { "Requesting for camera permission": "Pidiendo acceso a la cámara", @@ -2170,6 +2197,7 @@ "Adding malicious service providers may result in irrecoverable funds. Please proceed at your own risk.": "Añadir proveedores de servicio malignos puede resultar en la perdida de los fondos. Actua bajo tu propia responsabilidad.", "Only add URLs that are fully trusted and secured. Adding malicious service providers may result in irrecoverable funds. Changes do not take effect until you manually restart the app.": "Añade solo URLs en las que tengas plena confianza y sean seguras.", "Adding custom service provider": "Añadiendo proveedor de servicios personalizado", + "Adding custom service providers": "Añadiendo proveedor de servicios personalizado", "In doing so, you will be reverted back to Light wallet's default endpoint. Would you like to continue?": "i procedes, tu proveedor de servicio será revertido al del Light Wallet. Quieres continuar?", "Enter passcode to continue": "Passwort eingeben, um fortzufahren", "Invalid URL": "URL no válida", @@ -2180,7 +2208,17 @@ "Reset Service Provider": "Reset Service Provider", "Go back": "Go back", "GO BACK": "GO BACK", - "Reset": "Reset" + "Reset": "Reset", + "Save changes": "Guardar cambios", + "Custom Service Provider": "Custom Service Provider", + "Reset providers": "Reset providers", + "ENDPOINT URL (DVM)": "ENDPOINT URL (DVM)", + "Used to get balance from Native DFC (MainNet and TestNet)": "Used to get balance from Native DFC (MainNet and TestNet)", + "ENDPOINT URL (EVM)": "ENDPOINT URL (EVM)", + "Used to get balance from EVM (MainNet and TestNet)": "Used to get balance from EVM (MainNet and TestNet)", + "ENDPOINT URL (ETH-RPC)": "ENDPOINT URL (ETH-RPC)", + "Used to get Nonce and Chain ID": "Used to get Nonce and Chain ID", + "Only add URLs that are fully trusted and secured. Adding malicious service providers may result in irrecoverable funds. Proceed at your own risk.": "Only add URLs that are fully trusted and secured. Adding malicious service providers may result in irrecoverable funds. Proceed at your own risk." }, "components/QuickBid": { "QUICK BID": "OFERTA RAPIDA", @@ -2227,7 +2265,9 @@ "Swap": "Cambiar", "Transactions": "Transacciones", "Future swap": "Cambio a futuros", - "Get DFI": "Obtener DFI" + "Get DFI": "Obtener DFI", + "Convert": "Convertir", + "Governance": "Governance" }, "screens/PoolPairDetailsScreen": { "{{poolPair}} Pool": "{{poolPair}} Pool", @@ -2258,6 +2298,10 @@ "Search with token name": "Buscar por nombre de token", "Search results for “{{searchTerm}}”": "Buscar resultados para “{{searchTerm}}”" }, + "components/ConversionDetailsRow": { + "Resulting UTXO": "Resultando UTXO", + "Resulting Tokens": "Resultando Tokens" + }, "screens/OCGProposalsScreen": { "Governance": "Governance", "Community Funding Proposal": "Community Funding Proposal", diff --git a/shared/translations/languages/fr.json b/shared/translations/languages/fr.json index 40bfe5b8d2..90977eab50 100644 --- a/shared/translations/languages/fr.json +++ b/shared/translations/languages/fr.json @@ -109,7 +109,8 @@ "AVAILABLE ASSETS": "ACTIFS DISPONIBLES", "Asset value": "Valeur des actifs", "Sort by": "Trier par", - "ASSETS": "ACTIFS" + "ASSETS": "ACTIFS", + "network": "réseau" }, "screens/GetDFIScreen": { "Get DFI": "Obtenir DFI", @@ -215,7 +216,8 @@ "Address deleted!": "Adresse supprimée !", "It may take a few seconds to delete": "La suppression peut prendre quelques secondes", "It may take a few seconds to update": "La mise à jour peut prendre quelques secondes", - "It may take a few seconds to save": "La sauvegarde peut prendre quelques secondes" + "It may take a few seconds to save": "La sauvegarde peut prendre quelques secondes", + "ADDRESS TYPE": "TYPE D’ADRESSE" }, "screens/AddressControlScreen": { "CREATE WALLET ADDRESS": "CRÉER UNE ADRESSE DE PORTEFEUILLE", @@ -233,7 +235,7 @@ "Copy": "Copier", "Share": "Partager", "WALLET ADDRESS": "ADRESSE DU PORTEFEUILLE", - "Use QR or Wallet address to receive any tokens (DST) or DFI": "Utiliser l'adresse QR ou Wallet pour recevoir des tokens (DST) ou des DFI", + "Scan QR code to receive any dTokens (eg. DUSD,dBTC..) or DFI": "Scanner le code QR pour recevoir des dTokens (par exemple DUSD, dBTC..) ou des DFI", "Get DFI": "Obtenir DFI" }, "components/toaster": { @@ -336,6 +338,7 @@ "Available {{unit}}": "{{unit}} Disponible", "Resulting {{unit}}": "{{unit}} Restants", "TO RECEIVE": "A RECEVOIR", + "TO CONVERT": "CONVERTIR", "tokens": "tokens" }, "screens/ConvertConfirmScreen": { @@ -355,11 +358,13 @@ "CONFIRM TRANSACTION": "VALIDEZ LA TRANSACTION", "You are converting to {{unit}}": "Vous convertissez en {{unit}}", "Transaction fee": "Frais de transaction", + "Resulting Tokens (EVM)": "Tokens restants (EVM)", "Resulting Tokens": "Tokens restants", "Resulting UTXO": "UTXO restants", "Convert {{amount}} DFI to {{target}}": "Conversion de {{amount}} DFI en {{target}}", "Converting": "Conversion", - "Converted": "Converti" + "Converted": "Converti", + "Convert {{amount}} {{symbolA}} to {{symbolB}} tokens": "Convertir {{montant}} de tokens {{symbolA}} en {{symbolB}}" }, "screens/SettingsNavigator": { "Settings": "Paramètres" @@ -429,7 +434,9 @@ "Cancel transaction": "Annuler la transaction", "By cancelling, you will lose any changes you made for your transaction.": "En annulant, vous perdrez toutes les modifications apportées à votre transaction.", "View on Scan": "Voir sur Scan", - "Go back": "Retour" + "Go back": "Retour", + "Service Providers": "Fournisseurs de services", + "Custom (3rd-party)": "Personnalisé (tierce partie)" }, "screens/AboutScreen": { "About": "A propos de l'appli", @@ -465,7 +472,7 @@ "Liquidity Mining": "Liquidity mining", "Liquidity mining": "Liquidity mining", "UTXO and Tokens": "UTXO et tokens", - "Governance": "Governance" + "Governance": "Gouvernance" }, "components/UtxoVsTokenFaq": { "About UTXO And Tokens": "UTXO et tokens", @@ -548,6 +555,19 @@ "Are there other ways to submit proposals?": "Existe-t-il d'autres façons de soumettre des propositions ?", "If you own a full node wallet, you may also choose to submit using commands via CLI. Commands can be generated on DeFiScan, under Governance tab > Submit proposal.": "Si vous possédez un portefeuille de nœud complet, vous pouvez également choisir de soumettre en utilisant des commandes via ILC. Les commandes peuvent être générées sur DeFiScan, sous l'onglet Governance > Submit proposal." }, + "components/EvmFeatureFaq": { + "FREQUENTLY ASKED QUESTIONS": "FOIRE AUX QUESTIONS", + "About MetaChain (EVM)": "MetaChain (EVM)", + "The MetaChain layer provides an EVM-compatible environment that allows developers familiar with Ethereum to build applications inside the DeFiChain ecosystem.": "La couche MetaChain fournit un environnement compatible avec l'EVM qui permet aux développeurs connaissant Ethereum de créer des applications au sein de l'écosystème DeFiChain.", + "What tokens are supported between DVM and EVM bidirectionally?": "Quels tokens sont pris en charge entre DVM et EVM de manière bidirectionnelle ?", + "All dTokens are accepted. dTokens consist of:\ndStocks (dTSLA, dGOOG.) + DFI\n\nFor the full list, you may refer to https://defiscan.live/tokens on any tokens under DAT category.": "Tous les dTokens sont acceptés. Les dTokens se composent de :\ndStocks (dTSLA, dGOOG.) + DFI\n\nPour la liste complète, vous pouvez vous référer à https://defiscan.live/tokens sur tous les tokens de la catégorie DAT.", + "How can I access the MetaChain layer from the Light Wallet?": "Comment puis-je accéder à la couche MetaChain à partir du portefeuille léger ?", + "Move your dTokens between native DeFiChain's native layer (DVM) and the MetaChain layer (EVM) bidirectionally.\n\nFor instance, transfer DFI/DUSD/dBTC or any other dToken from DVM to EVM and back, all directly within the Light Wallet.": "Déplacez vos dTokens entre la couche native de DeFiChain (DVM) et la couche MetaChain (EVM) de manière bidirectionnelle.\n\nPar exemple, transférez DFI/DUSD/dBTC ou tout autre dToken de DVM à EVM et retour, le tout directement dans le portefeuille léger.", + "Why would I need to move dTokens from DVM to EVM?": "Pourquoi aurais-je besoin de déplacer des dTokens de DVM à EVM ?", + "Using the gateway allows you to move your dTokens from the Light Wallet to any EVM compatible wallet on the MetaChain layer (ex: MetaMask). This would allow you to interact with the constantly growing EVM ecosystem on MetaChain and the various projects on it.": "L'utilisation de la passerelle vous permet de déplacer vos dTokens du portefeuille léger vers n'importe quel portefeuille compatible EVM sur la couche MetaChain (ex : MetaMask). Cela vous permettra d'interagir avec l'écosystème EVM en croissance constante sur MetaChain et les différents projets qui s'y trouvent.", + "How can I move dTokens from DVM to EVM?": "Comment puis-je déplacer des dTokens de DVM à EVM?", + "You can do it through either the \"Convert\" or \"Send\" functions on Light Wallet. The \"Convert\" option allows you to convert any dTokens on DVM to your own EVM address within the Light Wallet (and vice versa).\n\nYour seed phrase can also be used to import your Light Wallet EVM address into any external wallets which support a 24 words recovery phrase like MetaMask.\n\nThe \"Send\" option allows you to send dTokens from your DVM address to any EVM address on the MetaChain layer and vice versa. Note that you do not need to convert your dTokens before sending, this process does it automatically for you.": "Vous pouvez le faire via les fonctions \"Convertir\" ou \"Envoyer\" sur le portefeuille léger. L'option \"Convertir\" vous permet de convertir tous les dTokens sur DVM en votre propre adresse EVM dans le portefeuille léger (et vice-versa).\n\nVotre phrase de récupération peut également être utilisée pour importer l'adresse EVM de votre portefeuille léger dans n'importe quel portefeuille externe qui supporte une phrase de récupération de 24 mots comme MetaMask.\n\nL'option \"Envoyer\" vous permet d'envoyer des dTokens depuis votre adresse DVM vers n'importe quelle adresse EVM sur la couche MetaChain et vice versa. Notez que vous n'avez pas besoin de convertir vos dTokens avant de les envoyer, ce processus le fait automatiquement pour vous." + }, "screens/NetworkSelectionScreen": { "NETWORK": "RÉSEAU", "Select network": "Sélectionnez un réseau", @@ -619,6 +639,8 @@ "Trade on the DEX and earn rewards from liquidity mining with crypto and dTokens.": "Négociez sur le DEX et gagnez des récompenses de liquidity mining avec des cryptomonnaies et des dTokens.", "Decentralized loans": "Prêts décentralisés", "Access financial opportunities with dTokens minted through decentralized vaults.": "Accédez à des opportunités financières avec des dTokens mintés par des vaults décentralisés.", + "EVM compatible": "Compatible EVM", + "Seamless transfers between DeFiChain and MetaChain via generated EVM address.": "Transferts transparents entre DeFiChain et MetaChain via l'adresse EVM générée.", "DeFiChain Wallet is fully non-custodial. Only you will have access to your fund.": "Le portefeuille DeFiChain est entièrement sans garde. Vous seul aurez accès à votre fonds." }, "screens/CreateMnemonicWallet": { @@ -651,6 +673,7 @@ "I understand it is my responsibility to keep my recovery words secure. Losing them will result in the irrecoverable loss of access to my wallet funds.": "Je comprends qu'il est de ma responsabilité de garder mes mots de récupération en sécurité. Leur perte entraînera la perte irrémédiable de l'accès aux fonds de mon portefeuille.", "Write the words on paper. Take note of their correct spelling and order.": "Prenez note des mots sur papier. Faites bien attention à l'orthographe et à respecter l'ordre.", "Secure them in a safe place. Store them offline at a place only you have access. Keep them private and do not share it with anyone.": "Sécurisez-les dans un endroit sûr. Conservez-les hors ligne et dans un endroit sûr auquel vous êtes le seul à avoir accès. Gardez-les secrets et ne partagez pas avec qui que ce soit.", + "A mapped EVM address will be generated to ensure seamless transfers between DeFiChain and MetaChain.": "Une adresse EVM mappée sera générée pour assurer des transferts transparents entre DeFiChain et MetaChain.", "Don’t share to anyone. Keep the recovery words only to yourself.": "Ne partagez pas avec qui que ce soit. Gardez les mots de récupération uniquement pour vous.", "You will be shown 24 recovery words on the next screen. Keep your 24-word recovery safe as it will allow you to recover access to the wallet.": "Vous verrez apparaître 24 mots de récupération sur l'écran suivant. Gardez en sécurité vos 24 mots de récupération car ils vous permettront de récupérer l'accès au porte-monnaie." }, @@ -747,7 +770,9 @@ "Display payback DUSD loan with DUSD collateral": "Afficher le remboursement du prêt DUSD avec garantie DUSD", "CFP/DFIP proposal(s)": "Proposition(s) CFP/DFIP", "Allows the submission of CFP/DFIP proposals": "Permet la soumission de propositions CFP/DFIP", - "Upon activation, you will be able to submit CFP/DFIP proposals directly using your active mobile Light Wallet account. Do you want to continue?": "Dès l'activation, vous pourrez soumettre des propositions CFP/DFIP directement en utilisant votre compte actif du portefeuille léger mobile. Continuer ?" + "Upon activation, you will be able to submit CFP/DFIP proposals directly using your active mobile Light Wallet account. Do you want to continue?": "Dès l'activation, vous pourrez soumettre des propositions CFP/DFIP directement en utilisant votre compte actif du portefeuille léger mobile. Continuer ?", + "Light Wallet beta features are in final testing before their official release. Using beta features are encouraged, but caution is advised when using your assets.": "Les fonctions bêta du portefeuille léger sont en phase de test final avant leur lancement officiel. L'utilisation des fonctionnalités bêta est encouragée, mais la prudence est de mise lors de l'utilisation de vos actifs.", + "Allows to customize the service providers for both DVM and EVM. Proceed with caution.": "Permet de personnaliser les fournisseurs de services pour DVM et EVM. Procéder avec prudence." }, "BottomTabNavigator": { "Balances": "Soldes", @@ -840,7 +865,9 @@ "Borrowing {{amount}} {{symbol}} with vault {{vaultId}}": "Emprunt de {{amount}} {{symbol}} avec le vault {{vaultId}}", "Borrowed {{amount}} {{symbol}}": "{{amount}} {{symbol}} empruntés", "Requested amount is higher than available amount.": "Le montant demandé est supérieur au montant disponible.", - "tokens": "tokens" + "tokens": "tokens", + "Converting {{amount}} {{symbolA}} to {{symbolB}} tokens": "Conversion de {{amount}} de tokens {{symbolA}} en {{symbolB}}", + "{{amount}} {{symbolA}} converted to {{symbolB}} tokens": "{{amount}} de tokens {{symbolA}} converti en {{symbolB}}" }, "components/BarCodeScanner": { "Requesting for camera permission": "Demande d'accès à votre caméra", @@ -2151,6 +2178,7 @@ "Adding malicious service providers may result in irrecoverable funds. Please proceed at your own risk.": "L'ajout de fournisseurs de services malveillants peut entraîner des fonds irrécupérables. Procédez à vos propres risques.", "Only add URLs that are fully trusted and secured. Adding malicious service providers may result in irrecoverable funds. Changes do not take effect until you manually restart the app.": "N'ajouter que des URL qui sont entièrement fiables et sécurisées. Les modifications ne prennent pas effet tant que vous n'avez pas redémarré manuellement l'application.", "Adding custom service provider": "Ajouter un fournisseur de service personnalisé.", + "Adding custom service providers": "Ajouter un fournisseur de service personnalisé.", "In doing so, you will be reverted back to Light wallet's default endpoint. Would you like to continue?": "En faisant cela, vous serez renvoyé au point de terminaison par défaut du portefeuille léger. Continuer ?", "Enter passcode to continue": "Entrez le code d'accès pour continuer", "Invalid URL": "URL non valide", @@ -2161,7 +2189,17 @@ "Reset Service Provider": "Réinitialiser le fournisseur de services", "Go back": "Retour", "GO BACK": "RETOUR", - "Reset": "Réinitialiser" + "Reset": "Réinitialiser", + "Save changes": "Sauvegarder les modifications", + "Custom Service Provider": "Fournisseur de service personnalisé", + "Reset providers": "Réinitialiser les fournisseurs", + "ENDPOINT URL (DVM)": "URL DU POINT DE TERMINAISON (DVM)", + "Used to get balance from Native DFC (MainNet and TestNet)": "Utilisé pour obtenir le solde de DFC natif (MainNet et TestNet)", + "ENDPOINT URL (EVM)": "URL DU POINT DE TERMINAISON (EVM)", + "Used to get balance from EVM (MainNet and TestNet)": "Utilisé pour obtenir le solde de l'EVM (MainNet et TestNet)", + "ENDPOINT URL (ETH-RPC)": "URL DU POINT DE TERMINAISON (ETH-RPC)", + "Used to get Nonce and Chain ID": "Utilisé pour obtenir le Nonce et le Chain ID", + "Only add URLs that are fully trusted and secured. Adding malicious service providers may result in irrecoverable funds. Proceed at your own risk.": "N'ajoutez que des URL entièrement fiables et sécurisées. L'ajout de fournisseurs de services malveillants peut entraîner la perte de fonds. Procédez à vos risques et périls." }, "components/QuickBid": { "QUICK BID": "ENCHÈRE RAPIDE", @@ -2208,7 +2246,9 @@ "Swap": "Échanger", "Transactions": "Transactions", "Future swap": "Échange à terme", - "Get DFI": "Obtenir DFI" + "Get DFI": "Obtenir DFI", + "Convert": "Convertir", + "Governance": "Gouvernance" }, "screens/PoolPairDetailsScreen": { "{{poolPair}} Pool": "Pool {{poolPair}}", @@ -2239,8 +2279,12 @@ "Search with token name": "Recherche avec le nom du token", "Search results for “{{searchTerm}}”": "Résultats de la recherche pour “{{searchTerm}}”" }, + "components/ConversionDetailsRow": { + "Resulting UTXO": "UTXO restants", + "Resulting Tokens": "Tokens restants" + }, "screens/OCGProposalsScreen": { - "Governance": "Governance", + "Governance": "Gouvernance", "Community Funding Proposal": "Community Funding Proposal", "Proposal to build on top of the DeFiChain blockchain, and funded by the Community Development Fund.": "Proposition de construire sur la blockchain DeFiChain, et financée par le fonds de développement communautaire, le Community Development Fund.", "DeFiChain Improvement Proposal": "DeFiChain Improvement Proposal", diff --git a/shared/translations/languages/it.json b/shared/translations/languages/it.json index 2576868be6..832593507f 100644 --- a/shared/translations/languages/it.json +++ b/shared/translations/languages/it.json @@ -114,7 +114,8 @@ "AVAILABLE ASSETS": "ASSET DISPONIBILI", "Asset value": "Valore degli asset", "Sort by": "Sort by", - "ASSETS": "ASSETS" + "ASSETS": "ASSETS", + "network": "rete" }, "screens/GetDFIScreen": { "Get DFI": "Get DFI", @@ -223,7 +224,8 @@ "Address deleted!": "Address deleted!", "It may take a few seconds to delete": "It may take a few seconds to delete", "It may take a few seconds to update": "It may take a few seconds to update", - "It may take a few seconds to save": "It may take a few seconds to save" + "It may take a few seconds to save": "It may take a few seconds to save", + "ADDRESS TYPE": "ADDRESS TYPE" }, "screens/ReceiveScreen": { "Receive": "Ricevi", @@ -234,7 +236,7 @@ "Copy": "Copia", "Share": "Condividi", "WALLET ADDRESS": "INDIRIZZO WALLET", - "Use QR or Wallet address to receive any tokens (DST) or DFI": "Use QR or Wallet address to receive any tokens (DST) or DFI", + "Scan QR code to receive any dTokens (eg. DUSD,dBTC..) or DFI": "扫描二维码以接收任何 dToken(例如 DUSD、dBTC..)或 DFI", "Get DFI": "Get DFI" }, "components/toaster": { @@ -283,7 +285,7 @@ "You are sending": "Stai inviando", "TRANSACTION DETAILS": "DETTAGLI TRANSAZIONE", "Recipient address": "Indirizzo del destinatario", - "Network": "Network", + "Network": "Rete", "Amount": "Importo", "Estimated fee": "Commissione stimata", "Remaining balance": "Saldo rimanente", @@ -337,6 +339,7 @@ "Available {{unit}}": "Disponibile {{unit}}", "Resulting {{unit}}": "Risultato {{unit}}", "TO RECEIVE": "TO RECEIVE", + "TO CONVERT": "TO CONVERT", "tokens": "tokens" }, "screens/ConvertConfirmScreen": { @@ -356,11 +359,13 @@ "CONFIRM TRANSACTION": "CONFERMA LA TRANSAZIONE", "You are converting to {{unit}}": "You are converting to {{unit}}", "Transaction fee": "Transaction fee", + "Resulting Tokens (EVM)": "Risultato Tokens (EVM)", "Resulting Tokens": "Risultato Tokens", "Resulting UTXO": "Risultato UTXO", "Convert {{amount}} DFI to {{target}}": "Conversione {{amount}} DFI in {{target}}", "Converting": "Conversione", - "Converted": "Converted" + "Converted": "Converted", + "Convert {{amount}} {{symbolA}} to {{symbolB}} tokens": "Convert {{amount}} {{symbolA}} to {{symbolB}} tokens" }, "screens/SettingsNavigator": { "Settings": "Impostazioni" @@ -433,7 +438,9 @@ "Cancel transaction": "Cancel transaction", "By cancelling, you will lose any changes you made for your transaction.": "By cancelling, you will lose any changes you made for your transaction.", "View on Scan": "View on Scan", - "Go back": "Torna indietro" + "Go back": "Torna indietro", + "Service Providers": "Service Providers", + "Custom (3rd-party)": "Custom (3rd-party)" }, "screens/AboutScreen": { "About": "Informazioni su", @@ -553,6 +560,19 @@ "Are there other ways to submit proposals?": "Are there other ways to submit proposals?", "If you own a full node wallet, you may also choose to submit using commands via CLI. Commands can be generated on DeFiScan, under Governance tab > Submit proposal.": "If you own a full node wallet, you may also choose to submit using commands via CLI. Commands can be generated on DeFiScan, under Governance tab > Submit proposal." }, + "components/EvmFeatureFaq": { + "FREQUENTLY ASKED QUESTIONS": "DOMANDE FREQUENTI", + "About MetaChain (EVM)": "About MetaChain (EVM)", + "The MetaChain layer provides an EVM-compatible environment that allows developers familiar with Ethereum to build applications inside the DeFiChain ecosystem.": "The MetaChain layer provides an EVM-compatible environment that allows developers familiar with Ethereum to build applications inside the DeFiChain ecosystem.", + "What tokens are supported between DVM and EVM bidirectionally?": "What tokens are supported between DVM and EVM bidirectionally?", + "All dTokens are accepted. dTokens consist of:\ndStocks (dTSLA, dGOOG.) + DFI\n\nFor the full list, you may refer to https://defiscan.live/tokens on any tokens under DAT category.": "All dTokens are accepted. dTokens consist of:\ndStocks (dTSLA, dGOOG.) + DFI\n\nFor the full list, you may refer to https://defiscan.live/tokens on any tokens under DAT category.", + "How can I access the MetaChain layer from the Light Wallet?": "How can I access the MetaChain layer from the Light Wallet?", + "Move your dTokens between native DeFiChain's native layer (DVM) and the MetaChain layer (EVM) bidirectionally.\n\nFor instance, transfer DFI/DUSD/dBTC or any other dToken from DVM to EVM and back, all directly within the Light Wallet.": "Move your dTokens between native DeFiChain's native layer (DVM) and the MetaChain layer (EVM) bidirectionally.\n\nFor instance, transfer DFI/DUSD/dBTC or any other dToken from DVM to EVM and back, all directly within the Light Wallet.", + "Why would I need to move dTokens from DVM to EVM?": "Why would I need to move dTokens from DVM to EVM?", + "Using the gateway allows you to move your dTokens from the Light Wallet to any EVM compatible wallet on the MetaChain layer (ex: MetaMask). This would allow you to interact with the constantly growing EVM ecosystem on MetaChain and the various projects on it.": "Using the gateway allows you to move your dTokens from the Light Wallet to any EVM compatible wallet on the MetaChain layer (ex: MetaMask). This would allow you to interact with the constantly growing EVM ecosystem on MetaChain and the various projects on it.", + "How can I move dTokens from DVM to EVM?": "How can I move dTokens from DVM to EVM?", + "You can do it through either the \"Convert\" or \"Send\" functions on Light Wallet. The \"Convert\" option allows you to convert any dTokens on DVM to your own EVM address within the Light Wallet (and vice versa).\n\nYour seed phrase can also be used to import your Light Wallet EVM address into any external wallets which support a 24 words recovery phrase like MetaMask.\n\nThe \"Send\" option allows you to send dTokens from your DVM address to any EVM address on the MetaChain layer and vice versa. Note that you do not need to convert your dTokens before sending, this process does it automatically for you.": "You can do it through either the \"Convert\" or \"Send\" functions on Light Wallet. The \"Convert\" option allows you to convert any dTokens on DVM to your own EVM address within the Light Wallet (and vice versa).\n\nYour seed phrase can also be used to import your Light Wallet EVM address into any external wallets which support a 24 words recovery phrase like MetaMask.\n\nThe \"Send\" option allows you to send dTokens from your DVM address to any EVM address on the MetaChain layer and vice versa. Note that you do not need to convert your dTokens before sending, this process does it automatically for you." + }, "screens/NetworkSelectionScreen": { "NETWORK": "RETE", "Select network": "Selezionare la rete", @@ -624,6 +644,8 @@ "Trade on the DEX and earn rewards from liquidity mining with crypto and dTokens.": "Scambia i token per ottenere rendimenti elevati e guadagna i premi di liquidity mining con i token decentralizzati.", "Decentralized loans": "Prestiti decentralizzati", "Access financial opportunities with dTokens minted through decentralized vaults.": "Conia e accedi a nuovi dToken utilizzando caveau sovra-collateralizzati.", + "EVM compatible": "EVM compatible", + "Seamless transfers between DeFiChain and MetaChain via generated EVM address.": "Seamless transfers between DeFiChain and MetaChain via generated EVM address.", "DeFiChain Wallet is fully non-custodial. Only you will have access to your fund.": "DeFiChain Wallet is fully non-custodial. Only you will have access to your fund." }, "screens/CreateMnemonicWallet": { @@ -659,7 +681,8 @@ "Create wallet": "Create wallet", "You will be shown 24 recovery words on the next screen. Keep your 24-word recovery safe as it will allow you to recover access to the wallet.": "You will be shown 24 recovery words on the next screen. Keep your 24-word recovery safe as it will allow you to recover access to the wallet.", "Write the words on paper. Take note of their correct spelling and order.": "Write the words on paper. Take note of their correct spelling and order.", - "Secure them in a safe place. Store them offline at a place only you have access. Keep them private and do not share it with anyone.": "Secure them in a safe place. Store them offline at a place only you have access. Keep them private and do not share it with anyone." + "Secure them in a safe place. Store them offline at a place only you have access. Keep them private and do not share it with anyone.": "Secure them in a safe place. Store them offline at a place only you have access. Keep them private and do not share it with anyone.", + "A mapped EVM address will be generated to ensure seamless transfers between DeFiChain and MetaChain.": "A mapped EVM address will be generated to ensure seamless transfers between DeFiChain and MetaChain." }, "screens/GuidelinesRecoveryWords": { "What are recovery words?": "Cosa sono le parole di recupero (Seed Phrase)?", @@ -753,7 +776,9 @@ "Display payback DUSD loan with DUSD collateral": "Display payback DUSD loan with DUSD collateral", "CFP/DFIP proposal(s)": "CFP/DFIP proposal(s)", "Allows the submission of CFP/DFIP proposals": "Allows the submission of CFP/DFIP proposals", - "Upon activation, you will be able to submit CFP/DFIP proposals directly using your active mobile Light Wallet account. Do you want to continue?": "Upon activation, you will be able to submit CFP/DFIP proposals directly using your active mobile Light Wallet account. Do you want to continue?" + "Upon activation, you will be able to submit CFP/DFIP proposals directly using your active mobile Light Wallet account. Do you want to continue?": "Upon activation, you will be able to submit CFP/DFIP proposals directly using your active mobile Light Wallet account. Do you want to continue?", + "Light Wallet beta features are in final testing before their official release. Using beta features are encouraged, but caution is advised when using your assets.": "Light Wallet beta features are in final testing before their official release. Using beta features are encouraged, but caution is advised when using your assets.", + "Allows to customize the service providers for both DVM and EVM. Proceed with caution.": "Allows to customize the service providers for both DVM and EVM. Proceed with caution." }, "BottomTabNavigator": { "Balances": "Saldi", @@ -846,7 +871,9 @@ "Borrowing {{amount}} {{symbol}} with vault {{vaultId}}": "Borrowing {{amount}} {{symbol}} with vault {{vaultId}}", "Borrowed {{amount}} {{symbol}}": "Borrowed {{amount}} {{symbol}}", "Requested amount is higher than available amount.": "Requested amount is higher than available amount.", - "tokens": "tokens" + "tokens": "tokens", + "Converting {{amount}} {{symbolA}} to {{symbolB}} tokens": "Converting {{amount}} {{symbolA}} to {{symbolB}} tokens", + "{{amount}} {{symbolA}} converted to {{symbolB}} tokens": "{{amount}} {{symbolA}} converted to {{symbolB}} tokens" }, "components/BarCodeScanner": { "Requesting for camera permission": "Richiesta di accesso alla fotocamera", @@ -2165,6 +2192,7 @@ "Adding malicious service providers may result in irrecoverable funds. Please proceed at your own risk.": "Adding malicious service providers may result in irrecoverable funds. Please proceed at your own risk.", "Only add URLs that are fully trusted and secured. Adding malicious service providers may result in irrecoverable funds. Changes do not take effect until you manually restart the app.": "Only add URLs that are fully trusted and secured. Adding malicious service providers may result in irrecoverable funds. Changes do not take effect until you manually restart the app.", "Adding custom service provider": "Adding custom service provider", + "Adding custom service providers": "Adding custom service providers", "In doing so, you will be reverted back to Light wallet's default endpoint. Would you like to continue?": "In doing so, you will be reverted back to Light wallet's default endpoint. Would you like to continue?", "Enter passcode to continue": "Inserisci il codice di accesso per continuare", "Invalid URL": "Invalid URL", @@ -2175,7 +2203,17 @@ "Reset Service Provider": "Reset Service Provider", "Go back": "Go back", "GO BACK": "GO BACK", - "Reset": "Reset" + "Reset": "Reset", + "Save changes": "Salva modifiche", + "Custom Service Provider": "Custom Service Provider", + "Reset providers": "Reset providers", + "ENDPOINT URL (DVM)": "ENDPOINT URL (DVM)", + "Used to get balance from Native DFC (MainNet and TestNet)": "Used to get balance from Native DFC (MainNet and TestNet)", + "ENDPOINT URL (EVM)": "ENDPOINT URL (EVM)", + "Used to get balance from EVM (MainNet and TestNet)": "Used to get balance from EVM (MainNet and TestNet)", + "ENDPOINT URL (ETH-RPC)": "ENDPOINT URL (ETH-RPC)", + "Used to get Nonce and Chain ID": "Used to get Nonce and Chain ID", + "Only add URLs that are fully trusted and secured. Adding malicious service providers may result in irrecoverable funds. Proceed at your own risk.": "Only add URLs that are fully trusted and secured. Adding malicious service providers may result in irrecoverable funds. Proceed at your own risk." }, "components/QuickBid": { "QUICK BID": "OFFERTA RAPIDA", @@ -2222,7 +2260,9 @@ "Swap": "Scambia", "Transactions": "Transazioni", "Future swap": "Future swap", - "Get DFI": "Get DFI" + "Get DFI": "Get DFI", + "Convert": "Converti", + "Governance": "Governance" }, "screens/PoolPairDetailsScreen": { "{{poolPair}} Pool": "{{poolPair}} Pool", @@ -2253,6 +2293,10 @@ "Search with token name": "Search with token name", "Search results for “{{searchTerm}}”": "Search results for “{{searchTerm}}”" }, + "components/ConversionDetailsRow": { + "Resulting UTXO": "Risultato UTXO", + "Resulting Tokens": "Risultato Tokens" + }, "screens/OCGProposalsScreen": { "Governance": "Governance", "Community Funding Proposal": "Community Funding Proposal", diff --git a/shared/translations/languages/zh-Hans.json b/shared/translations/languages/zh-Hans.json index 75b5ac3cdb..0a4508e981 100644 --- a/shared/translations/languages/zh-Hans.json +++ b/shared/translations/languages/zh-Hans.json @@ -109,7 +109,8 @@ "AVAILABLE ASSETS": "可用资产", "Asset value": "资产价值", "Sort by": "Sort by", - "ASSETS": "ASSETS" + "ASSETS": "ASSETS", + "network": "网络" }, "screens/GetDFIScreen": { "Get DFI": "获取 DFI", @@ -210,9 +211,10 @@ "Address saved!": "Address saved!", "Address label updated!": "Address label updated!", "Address deleted!": "Address deleted!", - "It may take a few seconds to delete": "It may take a few seconds to delete", - "It may take a few seconds to update": "It may take a few seconds to update", - "It may take a few seconds to save": "It may take a few seconds to save" + "It may take a few seconds to delete": "可能需要几秒钟进行删除", + "It may take a few seconds to update": "可能需要几秒钟进行更新", + "It may take a few seconds to save": "可能需要几秒钟进行保存", + "ADDRESS TYPE": "地址类型" }, "screens/ReceiveScreen": { "Receive": "接收", @@ -223,7 +225,7 @@ "Copy": "复制地址", "Share": "转发地址", "WALLET ADDRESS": "钱包地址", - "Use QR or Wallet address to receive any tokens (DST) or DFI": "Use QR or Wallet address to receive any tokens (DST) or DFI", + "Scan QR code to receive any dTokens (eg. DUSD,dBTC..) or DFI": "扫描二维码以接收任何 dToken(例如 DUSD、dBTC..)或 DFI", "Get DFI": "获得 DFI" }, "components/toaster": { @@ -258,7 +260,7 @@ "SEND TO": "SEND TO", "Paste address": "Paste address", "I WANT TO SEND": "I WANT TO SEND", - "Review full details in the next screen": "Review full details in the next screen", + "Review full details in the next screen": "在下一个屏幕中查看完整详细信息", "Verified": "Verified", "{{percent}} of available {{unit}} entered": "{{percent}} of available {{unit}} entered", "Max available {{unit}} entered": "Max available {{unit}} entered", @@ -319,13 +321,14 @@ "I WANT TO CONVERT": "I WANT TO CONVERT", "Insufficient balance": "Insufficient balance", "Available: ": "可转换资金: ", - "Review full details in the next screen": "Review full details in the next screen", + "Review full details in the next screen": "在下一个屏幕中查看完整详细信息", "Max available {{unit}} entered": "Max available {{unit}} entered", "{{percent}} of available {{unit}} entered": "{{percent}} of available {{unit}} entered", "A small amount of UTXO is reserved for fees": "保留少量 UTXO 用于交易费用", "Available {{unit}}": "可转换资金 {{unit}}", "Resulting {{unit}}": "转换后 {{unit}}", "TO RECEIVE": "TO RECEIVE", + "TO CONVERT": "转换", "tokens": "代币" }, "screens/ConvertConfirmScreen": { @@ -343,13 +346,15 @@ "Convert": "转换", "{{token}} to receive": "{{token}} 将会收到", "CONFIRM TRANSACTION": "确认发出", - "You are converting to {{unit}}": "You are converting to {{unit}}", + "You are converting to {{unit}}": "您正在转换为 {{unit}}", "Transaction fee": "交易費用", + "Resulting Tokens (EVM)": "转换后 Tokens (EVM)", "Resulting Tokens": "转换后 Tokens", "Resulting UTXO": "转换后 UTXO", "Convert {{amount}} DFI to {{target}}": "转换 {{amount}} DFI 至 {{target}}", "Converting": "转换中", - "Converted": "Converted" + "Converted": "Converted", + "Convert {{amount}} {{symbolA}} to {{symbolB}} tokens": "转换 {{amount}} {{symbolA}} 到 {{symbolB}} 代币" }, "screens/SettingsNavigator": { "Settings": "设置" @@ -413,14 +418,16 @@ "This will unlink your wallet from the app.": "这将取消您的钱包与应用程式的绑定。", "DISPLAY & LANGUAGE": "显示和语言", "Provide your passcode to\nview recovery words.": "Provide your passcode to\nview recovery words.", - "Passcode verified!": "Passcode verified!", + "Passcode verified!": "密码已验证!", "Provider": "Provider", "Custom": "Custom", "Default": "Default", "Cancel transaction": "Cancel transaction", "By cancelling, you will lose any changes you made for your transaction.": "By cancelling, you will lose any changes you made for your transaction.", "View on Scan": "往 DeFi Scan 查看", - "Go back": "回到上一页" + "Go back": "回到上一页", + "Service Providers": "服务提供商", + "Custom (3rd-party)": "自定义(第三方" }, "screens/AboutScreen": { "About": "关于", @@ -539,6 +546,19 @@ "Are there other ways to submit proposals?": "还有其他的方式提交提案吗?", "If you own a full node wallet, you may also choose to submit using commands via CLI. Commands can be generated on DeFiScan, under Governance tab > Submit proposal.": "如果您拥有全节点钱包,你可以选择通过CLI界面使用命令进行提交。该命令可以在DeFiScan上生成,在\"Governance\" > \"Submit proposal\" 选项里。" }, + "components/EvmFeatureFaq": { + "FREQUENTLY ASKED QUESTIONS": "常见问题", + "About MetaChain (EVM)": "MetaChain (EVM)", + "The MetaChain layer provides an EVM-compatible environment that allows developers familiar with Ethereum to build applications inside the DeFiChain ecosystem.": "MetaChain 层提供了一个与 EVM 兼容的环境,允许熟悉以太坊的开发人员在 DeFiChain 生态系统内构建应用程序。", + "What tokens are supported between DVM and EVM bidirectionally?": "DVM 和 EVM 这两个之间支持哪些双向代币?", + "All dTokens are accepted. dTokens consist of:\ndStocks (dTSLA, dGOOG.) + DFI\n\nFor the full list, you may refer to https://defiscan.live/tokens on any tokens under DAT category.": "所有 dToken 均被接受。 dToken 包括:\ndStocks (dTSLA, dGOOG.) + DFI\n\n有关完整列表,您可以参考 https://defiscan.live/tokens 了解 DAT 类别下的任何代币。", + "How can I access the MetaChain layer from the Light Wallet?": "如何从轻钱包访问MetaChain层?", + "Move your dTokens between native DeFiChain's native layer (DVM) and the MetaChain layer (EVM) bidirectionally.\n\nFor instance, transfer DFI/DUSD/dBTC or any other dToken from DVM to EVM and back, all directly within the Light Wallet.": "在原生 DeFiChain 的原链层 (DVM) 和 MetaChain 层 (EVM) 之间双向移动您的 dToken。\n\n例如,将 DFI/DUSD/dBTC 或任何其他 dToken 从 DVM 转移到 EVM 并返回,所有这些操作都直接在轻钱包内进行。", + "Why would I need to move dTokens from DVM to EVM?": "为什么我需要将 dToken 从 DVM 转移到 EVM?", + "Using the gateway allows you to move your dTokens from the Light Wallet to any EVM compatible wallet on the MetaChain layer (ex: MetaMask). This would allow you to interact with the constantly growing EVM ecosystem on MetaChain and the various projects on it.": "使用这路线可以让您将 dToken 从 Light Wallet 移动到 MetaChain 层上的任何 EVM 兼容钱包(例如:MetaMask)。 这将使您能够与 MetaChain 上不断发展的 EVM 生态系统及其上的各种项目进行交互。", + "How can I move dTokens from DVM to EVM?": "如何将 dToken 从 DVM 转移到 EVM?", + "You can do it through either the \"Convert\" or \"Send\" functions on Light Wallet. The \"Convert\" option allows you to convert any dTokens on DVM to your own EVM address within the Light Wallet (and vice versa).\n\nYour seed phrase can also be used to import your Light Wallet EVM address into any external wallets which support a 24 words recovery phrase like MetaMask.\n\nThe \"Send\" option allows you to send dTokens from your DVM address to any EVM address on the MetaChain layer and vice versa. Note that you do not need to convert your dTokens before sending, this process does it automatically for you.": "您可以通过 Light Wallet 上的\"转换\"或\"发送\"功能来完成此操作。 \"转换\"选项允许您将 DVM 上的任何 dToken 转换为您自己的轻钱包中的 EVM 地址(反之亦然)。\n\n您的助记词还可用于将您的轻钱包 EVM 地址导入任何支持 24 个单词恢复短语(如 MetaMask)的外部钱包。\n\n\"发送\"选项允许您将 dToken 从您的 DVM 地址发送到 MetaChain 层上的任何 EVM 地址,反之亦然。 请注意,您无需在发送前转换 dToken,此过程会自动为您完成。" + }, "screens/NetworkSelectionScreen": { "NETWORK": "网络", "Select network": "切换网络", @@ -610,6 +630,8 @@ "Trade on the DEX and earn rewards from liquidity mining with crypto and dTokens.": "在 DEX 上进行交易并使用加密货币和 dToken 从流动性挖矿中获得奖励 ", "Decentralized loans": "去中心化资产贷款", "Access financial opportunities with dTokens minted through decentralized vaults.": "透过去中心化金库铸造的 dToken 获得交易机会", + "EVM compatible": "EVM 兼容", + "Seamless transfers between DeFiChain and MetaChain via generated EVM address.": "通过生成的 EVM 地址在 DeFiChain 和 MetaChain 之间无缝传输。", "DeFiChain Wallet is fully non-custodial. Only you will have access to your fund.": "DeFiChain 钱包是完全非托管的。个人资金只供您私人操作。" }, "screens/CreateMnemonicWallet": { @@ -643,7 +665,8 @@ "Create wallet": "Create wallet", "You will be shown 24 recovery words on the next screen. Keep your 24-word recovery safe as it will allow you to recover access to the wallet.": "You will be shown 24 recovery words on the next screen. Keep your 24-word recovery safe as it will allow you to recover access to the wallet.", "Write the words on paper. Take note of their correct spelling and order.": "Write the words on paper. Take note of their correct spelling and order.", - "Secure them in a safe place. Store them offline at a place only you have access. Keep them private and do not share it with anyone.": "Secure them in a safe place. Store them offline at a place only you have access. Keep them private and do not share it with anyone." + "Secure them in a safe place. Store them offline at a place only you have access. Keep them private and do not share it with anyone.": "Secure them in a safe place. Store them offline at a place only you have access. Keep them private and do not share it with anyone.", + "A mapped EVM address will be generated to ensure seamless transfers between DeFiChain and MetaChain.": "将生成映射的 EVM 地址,以确保 DeFiChain 和 MetaChain 之间的无缝传输。" }, "screens/GuidelinesRecoveryWords": { "What are recovery words?": "「恢复字组」是什么?", @@ -737,7 +760,9 @@ "Display payback DUSD loan with DUSD collateral": "Display payback DUSD loan with DUSD collateral", "CFP/DFIP proposal(s)": "CFP/DFIP 提案", "Allows the submission of CFP/DFIP proposals": "允许提交 CFP/DFIP 提案", - "Upon activation, you will be able to submit CFP/DFIP proposals directly using your active mobile Light Wallet account. Do you want to continue?": "激活后,您将能够使用您活跃的移动端Light Wallet账户直接提交 CFP/DFIP 提案。 你要继续吗?" + "Upon activation, you will be able to submit CFP/DFIP proposals directly using your active mobile Light Wallet account. Do you want to continue?": "激活后,您将能够使用您活跃的移动端Light Wallet账户直接提交 CFP/DFIP 提案。 你要继续吗?", + "Light Wallet beta features are in final testing before their official release. Using beta features are encouraged, but caution is advised when using your assets.": "Light Wallet beta 功能目前在正式发布前进行最终测试。 我们鼓励使用测试版功能,但建议您在使用资产时务必小心。", + "Allows to customize the service providers for both DVM and EVM. Proceed with caution.": "允许为 DVM 和 EVM 自定义服务提供者。 谨慎行事。" }, "BottomTabNavigator": { "Balances": "总资金", @@ -831,7 +856,9 @@ "Borrowing {{amount}} {{symbol}} with vault {{vaultId}}": "Borrowing {{amount}} {{symbol}} with vault {{vaultId}}", "Borrowed {{amount}} {{symbol}}": "Borrowed {{amount}} {{symbol}}", "Requested amount is higher than available amount.": "您请求的金额高于可用金额。", - "tokens": "代币" + "tokens": "代币", + "Converting {{amount}} {{symbolA}} to {{symbolB}} tokens": "正在转换 {{amount}} {{symbolA}} 到 {{symbolB}} 代币 ", + "{{amount}} {{symbolA}} converted to {{symbolB}} tokens": "{{amount}} {{symbolA}} 已经成功转换成 {{symbolB}}代币" }, "components/BarCodeScanner": { "Requesting for camera permission": "请许可程序使用相机", @@ -880,7 +907,7 @@ "Pooled {{symbol}}": "池中总 {{symbol}}", "View pool share": "View pool share", "View pool info": "View pool info", - "Review full details in the next screen": "Review full details in the next screen", + "Review full details in the next screen": "在下一个屏幕中查看完整详细信息", "Insufficient balance": "Insufficient balance", "APR": "APR", "Shares to add": "Shares to add", @@ -1064,9 +1091,9 @@ "You are buying dTokens at 5% more than the oracle price at settlement block.": "You are buying dTokens at 5% more than the oracle price at settlement block.", "You are buying {{displaySymbol}} at 5% more than the oracle price at settlement block.": "You are buying {{displaySymbol}} at 5% more than the oracle price at settlement block.", "You are selling your {{displaySymbol}} at 5% less than the oracle price at settlement block.": "You are selling your {{displaySymbol}} at 5% less than the oracle price at settlement block.", - "Review full details in the next screen": "Review full details in the next screen", + "Review full details in the next screen": "在下一个屏幕中查看完整详细信息", "By continuing, the required amount of DFI will be converted": "By continuing, the required amount of DFI will be converted", - "I HAVE {{totalAmount}} {{token}}": "I HAVE {{totalAmount}} {{token}}", + "I HAVE {{totalAmount}} {{token}}": "我有 {{totalAmount}} {{token}}", "I WANT {{token}}": "I WANT {{token}}", "incl. stabilization fee ({{dexStabilizationFee}}%)": "incl. stabilization fee ({{dexStabilizationFee}}%)", "Total fees": "Total fees", @@ -1152,7 +1179,7 @@ "Sign to verify access": "签下以确认使用", "Success!": "成功!", "It may take a few seconds to verify": "It may take a few seconds to verify", - "Passcode verified!": "Passcode verified!", + "Passcode verified!": "密码已验证!", "Provide your passcode to view recovery words.": "Provide your passcode to view recovery words.", "Provide existing passcode to change passcode.": "Provide existing passcode to change passcode." }, @@ -1748,7 +1775,7 @@ "Insufficient DFI and/or DUSD in vault to maintain active loans": "Insufficient DFI and/or DUSD in vault to maintain active loans", "Active DUSD loans require 50% DFI collaterals": "Active DUSD loans require 50% DFI collaterals", "By continuing, the required amount of DFI will be converted": "By continuing, the required amount of DFI will be converted", - "Review full details in the next screen": "Review full details in the next screen" + "Review full details in the next screen": "在下一个屏幕中查看完整详细信息" }, "screens/ConfirmEditCollateralScreen": { "You are adding collateral to": "向金库增加抵押品", @@ -1791,7 +1818,7 @@ "I WANT TO PAY": "I WANT TO PAY", "I WANT TO PAY WITH DUSD COLLATERAL": "I WANT TO PAY WITH DUSD COLLATERAL", "Available: ": "现有可使用: ", - "Review full details in the next screen": "Review full details in the next screen", + "Review full details in the next screen": "在下一个屏幕中查看完整详细信息", "Use your DUSD collaterals to fully pay off your DUSD loan.": "Use your DUSD collaterals to fully pay off your DUSD loan.", "Continue": "继续", "Max available {{unit}} entered": "Max available {{unit}} entered", @@ -1880,7 +1907,7 @@ "Amount entered may liquidate the vault. Proceed at your own risk.": "Amount entered may liquidate the vault. Proceed at your own risk.", "Insufficient DFI and/or DUSD in vault. Add more to start minting dTokens.": "Insufficient DFI and/or DUSD in vault. Add more to start minting dTokens.", "Insufficient DFI in vault. Add more to borrow DUSD.": "Insufficient DFI in vault. Add more to borrow DUSD.", - "Review full details in the next screen": "Review full details in the next screen", + "Review full details in the next screen": "在下一个屏幕中查看完整详细信息", "Max loan amount entered": "已输入最高贷款金额", "{{percent}} of max loan amount entered": "已输入最高贷款金额的 {{percent}}%", "SELECT VAULT FOR COLLATERAL": "选择金库抵押", @@ -1951,7 +1978,7 @@ "Continue": "继续", "Confirm your vault details in next screen": "在下一页确认金库的细行", "AVAILABLE SCHEMES": "AVAILABLE SCHEMES", - "Review full details in the next screen": "Review full details in the next screen", + "Review full details in the next screen": "在下一个屏幕中查看完整详细信息", "VAULT DETAILS": "VAULT DETAILS", "{{interestRate}}% Interest": "{{interestRate}}% Interest", "min. ": "min. ", @@ -2048,7 +2075,7 @@ "The value of the tokens you are placing is considerably higher than the total auction value.": "您正要出的价钱比拍卖价值还高,请检查和确认", "Collateral for auction": "待拍賣的抵押品", "I HAVE {{ownedAmount}} {{symbol}}": "I HAVE {{ownedAmount}} {{symbol}}", - "Review full details in the next screen": "Review full details in the next screen", + "Review full details in the next screen": "在下一个屏幕中查看完整详细信息", "Transaction fee": "Transaction fee", "The minimum next bid is {{amount}} {{symbol}} (100%)": "The minimum next bid is {{amount}} {{symbol}} (100%)", "{{percent}} min bid entered": "{{percent}} 最低竞投出价输入", @@ -2077,7 +2104,7 @@ "Preparing placing {{amount}} {{token}} bid": "Preparing placing {{amount}} {{token}} bid", "Placed {{amount}} {{token}} bid": "Placed {{amount}} {{token}} bid", "It may take a few seconds to verify": "It may take a few seconds to verify", - "Passcode verified!": "Passcode verified!" + "Passcode verified!": "密码已验证!" }, "screens/WithdrawFutureSwapScreen": { "Withdraw": "Withdraw", @@ -2095,7 +2122,7 @@ "Withdraw from": "Withdraw from", "Insufficient Balance": "Insufficient Balance", "Transaction fee": "交易費用", - "Review full details in the next screen": "Review full details in the next screen", + "Review full details in the next screen": "在下一个屏幕中查看完整详细信息", "Max available {{unit}} entered": "Max available {{unit}} entered", "{{percent}} of available {{unit}} entered": "{{percent}} of available {{unit}} entered", "Amount to swap": "Amount to swap", @@ -2147,6 +2174,7 @@ "Adding malicious service providers may result in irrecoverable funds. Please proceed at your own risk.": "添加恶意服务供应商 可能会导致可收回资金。风险自负", "Only add URLs that are fully trusted and secured. Adding malicious service providers may result in irrecoverable funds. Changes do not take effect until you manually restart the app.": "Only add URLs that are fully trusted and secured. Adding malicious service providers may result in irrecoverable funds. Changes do not take effect until you manually restart the app.", "Adding custom service provider": "添加自定义服务提供者", + "Adding custom service providers": "添加自定义服务提供者", "In doing so, you will be reverted back to Light wallet's default endpoint. Would you like to continue?": "这样做,您将恢复到手机轻钱包的预设终端点。你想继续吗?", "Enter passcode to continue": "输入密码后可继续", "Invalid URL": "无效的网址", @@ -2157,7 +2185,17 @@ "Reset Service Provider": "Reset Service Provider", "Go back": "Go back", "GO BACK": "GO BACK", - "Reset": "Reset" + "Reset": "Reset", + "Save changes": "储存修改", + "Custom Service Provider": "自定义服务提供商", + "Reset providers": "Reset 提供商", + "ENDPOINT URL (DVM)": "端点 URL (DVM)", + "Used to get balance from Native DFC (MainNet and TestNet)": "用于从原生DFC(主网和测试网)获取余额", + "ENDPOINT URL (EVM)": "端点 URL (EVM)", + "Used to get balance from EVM (MainNet and TestNet)": "用于从EVM(主网和测试网)获取余额", + "ENDPOINT URL (ETH-RPC)": "端点 URL (ETH-RPC)", + "Used to get Nonce and Chain ID": "用于获取Nonce和Chain ID", + "Only add URLs that are fully trusted and secured. Adding malicious service providers may result in irrecoverable funds. Proceed at your own risk.": "仅添加完全受信任且安全的 URL。 添加恶意服务提供商可能会导致资金无法收回。 继续行动则需要您自担风险。" }, "components/QuickBid": { "QUICK BID": "快速标价", @@ -2204,7 +2242,9 @@ "Swap": "兑换", "Transactions": "交易纪录", "Future swap": "Future swap", - "Get DFI": "获取 DFI" + "Get DFI": "获取 DFI", + "Convert": "转换", + "Governance": "治理" }, "screens/PoolPairDetailsScreen": { "{{poolPair}} Pool": "Pool {{poolPair}}", @@ -2235,8 +2275,12 @@ "Search with token name": "使用代币名称搜索", "Search results for “{{searchTerm}}”": "Search results for “{{searchTerm}}”" }, + "components/ConversionDetailsRow": { + "Resulting UTXO": "转换后 UTXO", + "Resulting Tokens": "转换后 Tokens" + }, "screens/OCGProposalsScreen": { - "Governance": "Governance", + "Governance": "治理", "Community Funding Proposal": "社区资助提案 (CFP)", "Proposal to build on top of the DeFiChain blockchain, and funded by the Community Development Fund.": "该选项是用于搭建在DeFiChain区块链之上且由社区发展基金资助", "DeFiChain Improvement Proposal": "DeFiChain 改进提案 (DFIP)", diff --git a/shared/translations/languages/zh-Hant.json b/shared/translations/languages/zh-Hant.json index 07e6677ccf..bcb6cec15c 100644 --- a/shared/translations/languages/zh-Hant.json +++ b/shared/translations/languages/zh-Hant.json @@ -109,7 +109,8 @@ "AVAILABLE ASSETS": "可用資產", "Asset value": "資產價值", "Sort by": "Sort by", - "ASSETS": "ASSETS" + "ASSETS": "ASSETS", + "network": "網絡" }, "screens/GetDFIScreen": { "Get DFI": "獲取 DFI", @@ -210,9 +211,10 @@ "Address saved!": "Address saved!", "Address label updated!": "Address label updated!", "Address deleted!": "Address deleted!", - "It may take a few seconds to delete": "It may take a few seconds to delete", - "It may take a few seconds to update": "It may take a few seconds to update", - "It may take a few seconds to save": "It may take a few seconds to save" + "It may take a few seconds to delete": "可能需要幾秒鐘進行刪除", + "It may take a few seconds to update": "可能需要幾秒鐘進行更新", + "It may take a few seconds to save": "可能需要幾秒鐘進行保存", + "ADDRESS TYPE": "地址類型" }, "screens/ReceiveScreen": { "Receive": "接收", @@ -223,7 +225,7 @@ "Copy": "複製地址", "Share": "轉發地址", "WALLET ADDRESS": "錢包地址", - "Use QR or Wallet address to receive any tokens (DST) or DFI": "Use QR or Wallet address to receive any tokens (DST) or DFI", + "Scan QR code to receive any dTokens (eg. DUSD,dBTC..) or DFI": "掃描二維碼以接收任何 dToken(例如 DUSD、dBTC..)或 DFI", "Get DFI": "獲得 DFI" }, "components/toaster": { @@ -258,7 +260,7 @@ "SEND TO": "SEND TO", "Paste address": "Paste address", "I WANT TO SEND": "I WANT TO SEND", - "Review full details in the next screen": "Review full details in the next screen", + "Review full details in the next screen": "在下一個屏幕中查看完整詳細信息", "Verified": "Verified", "{{percent}} of available {{unit}} entered": "{{percent}} of available {{unit}} entered", "Max available {{unit}} entered": "Max available {{unit}} entered", @@ -319,13 +321,14 @@ "I WANT TO CONVERT": "I WANT TO CONVERT", "Insufficient balance": "Insufficient balance", "Available: ": "可轉換資金: ", - "Review full details in the next screen": "Review full details in the next screen", + "Review full details in the next screen": "在下一個屏幕中查看完整詳細信息", "Max available {{unit}} entered": "Max available {{unit}} entered", "{{percent}} of available {{unit}} entered": "{{percent}} of available {{unit}} entered", "A small amount of UTXO is reserved for fees": "保留少量 UTXO 用於交易費用", "Available {{unit}}": "可轉換資金 {{unit}}", "Resulting {{unit}}": "轉換後 {{unit}}", "TO RECEIVE": "TO RECEIVE", + "TO CONVERT": "轉換", "tokens": "代幣" }, "screens/ConvertConfirmScreen": { @@ -343,13 +346,15 @@ "Convert": "轉換", "{{token}} to receive": "{{token}} 將會收到", "CONFIRM TRANSACTION": "確認交易", - "You are converting to {{unit}}": "You are converting to {{unit}}", + "You are converting to {{unit}}": "您正在轉換為 {{unit}}", "Transaction fee": "交易費用", + "Resulting Tokens (EVM)": "轉換後 Tokens (EVM)", "Resulting Tokens": "轉換後 Tokens", "Resulting UTXO": "轉換後 UTXO", "Convert {{amount}} DFI to {{target}}": "轉換 {{amount}} DFI 至 {{target}}", "Converting": "轉換中", - "Converted": "Converted" + "Converted": "Converted", + "Convert {{amount}} {{symbolA}} to {{symbolB}} tokens": "轉換 {{amount}} {{symbolA}} 到 {{symbolB}} 代幣" }, "screens/SettingsNavigator": { "Settings": "設定" @@ -420,7 +425,9 @@ "Cancel transaction": "Cancel transaction", "By cancelling, you will lose any changes you made for your transaction.": "By cancelling, you will lose any changes you made for your transaction.", "View on Scan": "往 DeFi Scan 查看", - "Go back": "回到上一頁" + "Go back": "回到上一頁", + "Service Providers": "服務提供者", + "Custom (3rd-party)": "自定義(第三方)" }, "screens/AboutScreen": { "About": "關於", @@ -539,6 +546,19 @@ "Are there other ways to submit proposals?": "還有其他的方式提交提案嗎?", "If you own a full node wallet, you may also choose to submit using commands via CLI. Commands can be generated on DeFiScan, under Governance tab > Submit proposal.": "如果您擁有全節點錢包,你可以選擇通過CLI界面使用命令進行提交。該命令可以在DeFiScan上生成,在\"Governance\" > \"Submit proposal\" 選項裡。" }, + "components/EvmFeatureFaq": { + "FREQUENTLY ASKED QUESTIONS": "常見問題", + "About MetaChain (EVM)": "MetaChain (EVM)", + "The MetaChain layer provides an EVM-compatible environment that allows developers familiar with Ethereum to build applications inside the DeFiChain ecosystem.": "MetaChain 層提供了一個與EVM 兼容的環境,允許熟悉以太坊的開發人員在DeFiChain 生態系統內構建應用程序。", + "What tokens are supported between DVM and EVM bidirectionally?": "DVM 和 EVM 這兩個之間支持哪些雙向代幣?", + "All dTokens are accepted. dTokens consist of:\ndStocks (dTSLA, dGOOG.) + DFI\n\nFor the full list, you may refer to https://defiscan.live/tokens on any tokens under DAT category.": "所有 dToken 均被接受。 dToken 包括:\ndStocks (dTSLA, dGOOG.) + DFI\n\n有關完整列表,您可以參考https://defiscan.live/tokens 了解DAT 類別下的任何代幣。", + "How can I access the MetaChain layer from the Light Wallet?": "如何從輕錢包訪問MetaChain層?", + "Move your dTokens between native DeFiChain's native layer (DVM) and the MetaChain layer (EVM) bidirectionally.\n\nFor instance, transfer DFI/DUSD/dBTC or any other dToken from DVM to EVM and back, all directly within the Light Wallet.": "在原生 DeFiChain 的原鏈層 (DVM) 和 MetaChain 層 (EVM) 之間雙向移動您的 dToken。\n\n例如,將DFI/DUSD/dBTC 或任何其他dToken 從DVM 轉移到EVM 並返回,所有這些操作都直接在輕錢包內進行。", + "Why would I need to move dTokens from DVM to EVM?": "為什麼我需要將 dToken 從 DVM 轉移到 EVM?", + "Using the gateway allows you to move your dTokens from the Light Wallet to any EVM compatible wallet on the MetaChain layer (ex: MetaMask). This would allow you to interact with the constantly growing EVM ecosystem on MetaChain and the various projects on it.": "使用這路線可以讓您將dToken 從Light Wallet 移動到MetaChain 層上的任何EVM 兼容錢包(例如:MetaMask)。這將使您能夠與 MetaChain 上不斷發展的 EVM 生態系統及其上的各種項目進行交互。", + "How can I move dTokens from DVM to EVM?": "如何將 dToken 從 DVM 轉移到 EVM?", + "You can do it through either the \"Convert\" or \"Send\" functions on Light Wallet. The \"Convert\" option allows you to convert any dTokens on DVM to your own EVM address within the Light Wallet (and vice versa).\n\nYour seed phrase can also be used to import your Light Wallet EVM address into any external wallets which support a 24 words recovery phrase like MetaMask.\n\nThe \"Send\" option allows you to send dTokens from your DVM address to any EVM address on the MetaChain layer and vice versa. Note that you do not need to convert your dTokens before sending, this process does it automatically for you.": "您可以通過Light Wallet 上的\"轉換\"或\"發送\"功能來完成此操作。 \"轉換\"選項允許您將 DVM 上的任何 dToken 轉換為您自己的輕錢包中的 EVM 地址(反之亦然)。\n\n您的助記詞還可用於將您的輕錢包EVM 地址導入任何支持24 個單詞恢復短語(如MetaMask)的外部錢包。\n\n\"發送\"選項允許您將dToken 從您的DVM 地址發送到MetaChain 層上的任何EVM 地址,反之亦然。請注意,您無需在發送前轉換 dToken,此過程會自動為您完成。" + }, "screens/NetworkSelectionScreen": { "NETWORK": "網絡", "Select network": "切換網絡", @@ -610,6 +630,8 @@ "Trade on the DEX and earn rewards from liquidity mining with crypto and dTokens.": "在 DEX 上進行交易並使用加密貨幣和 dToken 從流動性挖礦中獲得獎勵 ", "Decentralized loans": "去中心化資產貸款", "Access financial opportunities with dTokens minted through decentralized vaults.": "透過去中心化金庫鑄造的 dToken 獲得交易機會", + "EVM compatible": "EVM 兼容", + "Seamless transfers between DeFiChain and MetaChain via generated EVM address.": "通過生成的 EVM 地址在 DeFiChain 和 MetaChain 之間無縫傳輸。", "DeFiChain Wallet is fully non-custodial. Only you will have access to your fund.": "DeFiChain 錢包是完全非託管的。 個人資金只供您私人操作。" }, "screens/CreateMnemonicWallet": { @@ -643,7 +665,8 @@ "Create wallet": "Create wallet", "You will be shown 24 recovery words on the next screen. Keep your 24-word recovery safe as it will allow you to recover access to the wallet.": "You will be shown 24 recovery words on the next screen. Keep your 24-word recovery safe as it will allow you to recover access to the wallet.", "Write the words on paper. Take note of their correct spelling and order.": "Write the words on paper. Take note of their correct spelling and order.", - "Secure them in a safe place. Store them offline at a place only you have access. Keep them private and do not share it with anyone.": "Secure them in a safe place. Store them offline at a place only you have access. Keep them private and do not share it with anyone." + "Secure them in a safe place. Store them offline at a place only you have access. Keep them private and do not share it with anyone.": "Secure them in a safe place. Store them offline at a place only you have access. Keep them private and do not share it with anyone.", + "A mapped EVM address will be generated to ensure seamless transfers between DeFiChain and MetaChain.": "將生成映射的 EVM 地址,以確保 DeFiChain 和 MetaChain 之間的無縫傳輸。" }, "screens/GuidelinesRecoveryWords": { "What are recovery words?": "「恢復字組」是什麼?", @@ -737,7 +760,9 @@ "Display payback DUSD loan with DUSD collateral": "Display payback DUSD loan with DUSD collateral", "CFP/DFIP proposal(s)": "CFP/DFIP 提案", "Allows the submission of CFP/DFIP proposals": "允許提交 CFP/DFIP 提案", - "Upon activation, you will be able to submit CFP/DFIP proposals directly using your active mobile Light Wallet account. Do you want to continue?": "激活後,您將能夠使用您活躍的移動端Light Wallet賬戶直接提交 CFP/DFIP 提案。你要繼續嗎?" + "Upon activation, you will be able to submit CFP/DFIP proposals directly using your active mobile Light Wallet account. Do you want to continue?": "激活後,您將能夠使用您活躍的移動端Light Wallet賬戶直接提交 CFP/DFIP 提案。你要繼續嗎?", + "Light Wallet beta features are in final testing before their official release. Using beta features are encouraged, but caution is advised when using your assets.": "Light Wallet beta 功能目前在正式發布前進行最終測試。 我們鼓勵使用測試版功能,但建議您在使用資產時務必小心。", + "Allows to customize the service providers for both DVM and EVM. Proceed with caution.": "允許為 DVM 和 EVM 自訂服務提供者。 謹慎行事。" }, "BottomTabNavigator": { "Balances": "總資金", @@ -831,7 +856,9 @@ "Borrowing {{amount}} {{symbol}} with vault {{vaultId}}": "Borrowing {{amount}} {{symbol}} with vault {{vaultId}}", "Borrowed {{amount}} {{symbol}}": "Borrowed {{amount}} {{symbol}}", "Requested amount is higher than available amount.": "您請求的金額高於可用金額。", - "tokens": "代幣" + "tokens": "代幣", + "Converting {{amount}} {{symbolA}} to {{symbolB}} tokens": "正在轉換 {{amount}} {{symbolA}} 到 {{symbolB}} 代幣", + "{{amount}} {{symbolA}} converted to {{symbolB}} tokens": "{{amount}} {{symbolA}} 已經成功轉換成 {{symbolB}}代幣" }, "components/BarCodeScanner": { "Requesting for camera permission": "請許可程序使用相機", @@ -880,7 +907,7 @@ "Pooled {{symbol}}": "池中總 {{symbol}}", "View pool share": "View pool share", "View pool info": " 查看流動池資料", - "Review full details in the next screen": "Review full details in the next screen", + "Review full details in the next screen": "在下一個屏幕中查看完整詳細信息", "Insufficient balance": "Insufficient balance", "APR": "APR", "Shares to add": "要添加的股份", @@ -1064,9 +1091,9 @@ "You are buying dTokens at 5% more than the oracle price at settlement block.": "You are buying dTokens at 5% more than the oracle price at settlement block.", "You are buying {{displaySymbol}} at 5% more than the oracle price at settlement block.": "You are buying {{displaySymbol}} at 5% more than the oracle price at settlement block.", "You are selling your {{displaySymbol}} at 5% less than the oracle price at settlement block.": "You are selling your {{displaySymbol}} at 5% less than the oracle price at settlement block.", - "Review full details in the next screen": "Review full details in the next screen", + "Review full details in the next screen": "在下一個屏幕中查看完整詳細信息", "By continuing, the required amount of DFI will be converted": "By continuing, the required amount of DFI will be converted", - "I HAVE {{totalAmount}} {{token}}": "I HAVE {{totalAmount}} {{token}}", + "I HAVE {{totalAmount}} {{token}}": "我有 {{totalAmount}} {{token}}", "I WANT {{token}}": "I WANT {{token}}", "incl. stabilization fee ({{dexStabilizationFee}}%)": "incl. stabilization fee ({{dexStabilizationFee}}%)", "Total fees": "Total fees", @@ -1750,7 +1777,7 @@ "Insufficient DFI and/or DUSD in vault to maintain active loans": "Insufficient DFI and/or DUSD in vault to maintain active loans", "Active DUSD loans require 50% DFI collaterals": "Active DUSD loans require 50% DFI collaterals", "By continuing, the required amount of DFI will be converted": "By continuing, the required amount of DFI will be converted", - "Review full details in the next screen": "Review full details in the next screen" + "Review full details in the next screen": "在下一個屏幕中查看完整詳細信息" }, "screens/ConfirmEditCollateralScreen": { "You are adding collateral to": "您正在加入抵押到", @@ -1793,7 +1820,7 @@ "I WANT TO PAY": "I WANT TO PAY", "I WANT TO PAY WITH DUSD COLLATERAL": "I WANT TO PAY WITH DUSD COLLATERAL", "Available: ": "現有可使用: ", - "Review full details in the next screen": "Review full details in the next screen", + "Review full details in the next screen": "在下一個屏幕中查看完整詳細信息", "Use your DUSD collaterals to fully pay off your DUSD loan.": "Use your DUSD collaterals to fully pay off your DUSD loan.", "Continue": "繼續", "Max available {{unit}} entered": "Max available {{unit}} entered", @@ -1882,7 +1909,7 @@ "Amount entered may liquidate the vault. Proceed at your own risk.": "Amount entered may liquidate the vault. Proceed at your own risk.", "Insufficient DFI and/or DUSD in vault. Add more to start minting dTokens.": "Insufficient DFI and/or DUSD in vault. Add more to start minting dTokens.", "Insufficient DFI in vault. Add more to borrow DUSD.": "Insufficient DFI in vault. Add more to borrow DUSD.", - "Review full details in the next screen": "Review full details in the next screen", + "Review full details in the next screen": "在下一個屏幕中查看完整詳細信息", "Max loan amount entered": "已輸入最高貸款金額的", "{{percent}} of max loan amount entered": "已輸入最高貸款金額的 {{percent}}%", "SELECT VAULT FOR COLLATERAL": "選擇金庫抵押", @@ -1953,7 +1980,7 @@ "Continue": "繼續", "Confirm your vault details in next screen": "請在下一頁確認金庫細項", "AVAILABLE SCHEMES": "AVAILABLE SCHEMES", - "Review full details in the next screen": "Review full details in the next screen", + "Review full details in the next screen": "在下一個屏幕中查看完整詳細信息", "VAULT DETAILS": "VAULT DETAILS", "{{interestRate}}% Interest": "{{interestRate}}% Interest", "min. ": "min. ", @@ -2049,7 +2076,7 @@ "The value of the tokens you are placing is considerably higher than the total auction value.": "您正要出的價錢比拍賣價值還高,請檢查和確認", "Collateral for auction": "待拍賣的抵押品", "I HAVE {{ownedAmount}} {{symbol}}": "I HAVE {{ownedAmount}} {{symbol}}", - "Review full details in the next screen": "Review full details in the next screen", + "Review full details in the next screen": "在下一個屏幕中查看完整詳細信息", "Transaction fee": "Transaction fee", "The minimum next bid is {{amount}} {{symbol}} (100%)": "The minimum next bid is {{amount}} {{symbol}} (100%)", "{{percent}} min bid entered": "{{percent}} 最低競投出價輸入", @@ -2096,7 +2123,7 @@ "Withdraw from": "Withdraw from", "Insufficient Balance": "Insufficient Balance", "Transaction fee": "交易費用", - "Review full details in the next screen": "Review full details in the next screen", + "Review full details in the next screen": "在下一個屏幕中查看完整詳細信息", "Max available {{unit}} entered": "Max available {{unit}} entered", "{{percent}} of available {{unit}} entered": "{{percent}} of available {{unit}} entered", "Amount to swap": "Amount to swap", @@ -2148,6 +2175,7 @@ "Adding malicious service providers may result in irrecoverable funds. Please proceed at your own risk.": "添加惡意服務供應商 可能會導致可收回資金。 風險自負", "Only add URLs that are fully trusted and secured. Adding malicious service providers may result in irrecoverable funds. Changes do not take effect until you manually restart the app.": "Only add URLs that are fully trusted and secured. Adding malicious service providers may result in irrecoverable funds. Changes do not take effect until you manually restart the app.", "Adding custom service provider": "添加自定義服務提供者", + "Adding custom service providers": "添加自定義服務提供者", "In doing so, you will be reverted back to Light wallet's default endpoint. Would you like to continue?": "這樣做,您將恢復到手機輕錢包的預設終端點。 你想繼續嗎?", "Enter passcode to continue": "輸入密碼後可繼續", "Invalid URL": "無效的網址", @@ -2158,7 +2186,17 @@ "Reset Service Provider": "Reset Service Provider", "Go back": "Go back", "GO BACK": "GO BACK", - "Reset": "Reset" + "Reset": "Reset", + "Save changes": "儲存修改", + "Custom Service Provider": "自定義服務供應商", + "Reset providers": "Reset 供應商", + "ENDPOINT URL (DVM)": "端點 URL (DVM)", + "Used to get balance from Native DFC (MainNet and TestNet)": "用於從原生DFC(主網和測試網)取得餘額", + "ENDPOINT URL (EVM)": "端點 URL (EVM)", + "Used to get balance from EVM (MainNet and TestNet)": "用於從EVM(主網和測試網)取得餘額", + "ENDPOINT URL (ETH-RPC)": "端點 URL (ETH-RPC)", + "Used to get Nonce and Chain ID": "用於取得Nonce和Chain ID", + "Only add URLs that are fully trusted and secured. Adding malicious service providers may result in irrecoverable funds. Proceed at your own risk.": "僅添加完全受信任且安全的 URL。 新增惡意服務提供者可能會導致資金無法收回。 繼續行動則需要您自擔風險。" }, "components/QuickBid": { "QUICK BID": "快速標價", @@ -2205,7 +2243,9 @@ "Swap": "兌換", "Transactions": "交易紀錄", "Future swap": "Future swap", - "Get DFI": "獲取 DFI" + "Get DFI": "獲取 DFI", + "Convert": "轉換", + "Governance": "治理" }, "screens/PoolPairDetailsScreen": { "{{poolPair}} Pool": "Pool {{poolPair}}", @@ -2236,8 +2276,12 @@ "Search with token name": "使用代幣名稱搜索", "Search results for “{{searchTerm}}”": "Search results for “{{searchTerm}}”" }, + "components/ConversionDetailsRow": { + "Resulting UTXO": "轉換後 UTXO", + "Resulting Tokens": "轉換後 Tokens" + }, "screens/OCGProposalsScreen": { - "Governance": "Governance", + "Governance": "治理", "Community Funding Proposal": "社區資助提案 (CFP)", "Proposal to build on top of the DeFiChain blockchain, and funded by the Community Development Fund.": "該選項是用於搭建在DeFiChain區塊鏈之上且由社區發展基金資助", "DeFiChain Improvement Proposal": "DeFiChain 改進提案 (DFIP)", diff --git a/tsconfig.json b/tsconfig.json index 959ca614a1..4cbbc4faf1 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -25,6 +25,8 @@ "@shared-api/*": ["../../shared/api/*"], "@shared-contexts": ["../../shared/contexts"], "@shared-contexts/*": ["../../shared/contexts/*"], + "@shared-contracts": ["../../shared/contracts"], + "@shared-contracts/*": ["../../shared/contracts/*"], "@shared-types": ["../../shared/types"], "@shared-types/*": ["../../shared/types/*"], "@screens/*": ["screens/*"],