From f3f2e562346ac7437b34f628edd6f503d3f73f7a Mon Sep 17 00:00:00 2001 From: Pradyumna Kaushal Date: Sun, 3 Nov 2024 20:20:37 +0530 Subject: [PATCH 1/3] marketplace and nfc --- jsnfc | 1 + marketplace/.env.example | 1 + marketplace/.gitignore | 37 + marketplace/.npmrc | 1 + marketplace/README.md | 7 + marketplace/bun.lockb | Bin 0 -> 177798 bytes marketplace/next.config.mjs | 4 + marketplace/package.json | 34 + marketplace/public/erc20-icons/usdc.png | Bin 0 -> 892 bytes marketplace/public/erc20-icons/usdt.png | Bin 0 -> 674 bytes .../public/native-token-icons/avax.png | Bin 0 -> 685 bytes marketplace/public/native-token-icons/eth.png | Bin 0 -> 2780 bytes .../public/native-token-icons/matic.png | Bin 0 -> 2668 bytes .../[chainId]/[contractAddress]/layout.tsx | 19 + .../[chainId]/[contractAddress]/page.tsx | 7 + .../token/[tokenId]/page.tsx | 15 + marketplace/src/app/favicon.ico | Bin 0 -> 25931 bytes marketplace/src/app/layout.tsx | 28 + marketplace/src/app/page.tsx | 53 + .../src/app/profile/[addressOrENS]/page.tsx | 30 + .../src/app/profile/jsnfc.code-workspace | 13 + marketplace/src/app/profile/page.tsx | 26 + .../collection-page/AllNftsGrid.tsx | 139 + .../components/collection-page/Collection.tsx | 96 + .../collection-page/ListingGrid.tsx | 49 + .../src/components/profile-page/Menu.tsx | 64 + .../src/components/profile-page/OwnedItem.tsx | 29 + .../src/components/profile-page/Profile.tsx | 215 + marketplace/src/components/shared/Navbar.tsx | 123 + .../src/components/shared/Providers.tsx | 19 + .../src/components/shared/SideMenu.tsx | 84 + .../token-page/BuyFromListingButton.tsx | 112 + .../token-page/CancelListingButton.tsx | 50 + .../components/token-page/CreateListing.tsx | 231 + .../components/token-page/NftAttributes.tsx | 64 + .../src/components/token-page/NftDetails.tsx | 66 + .../components/token-page/RelatedListings.tsx | 77 + .../src/components/token-page/TokenPage.tsx | 294 ++ marketplace/src/consts/chains.ts | 11 + marketplace/src/consts/chakra.ts | 10 + marketplace/src/consts/client.ts | 5 + .../src/consts/marketplace_contract.ts | 26 + marketplace/src/consts/nft_contracts.ts | 77 + marketplace/src/consts/supported_tokens.ts | 79 + .../getLargestCirculatingTokenId.ts | 67 + .../src/extensions/getOwnedERC1155s.ts | 109 + marketplace/src/extensions/getOwnedERC721s.ts | 162 + marketplace/src/hooks/useGetENSAvatar.ts | 24 + marketplace/src/hooks/useGetENSName.ts | 20 + .../src/hooks/useMarketplaceContext.tsx | 220 + marketplace/src/hooks/useResolveENSAddress.ts | 25 + marketplace/tsconfig.json | 27 + marketplace/yarn.lock | 4520 +++++++++++++++++ 53 files changed, 7370 insertions(+) create mode 160000 jsnfc create mode 100644 marketplace/.env.example create mode 100644 marketplace/.gitignore create mode 100644 marketplace/.npmrc create mode 100644 marketplace/README.md create mode 100644 marketplace/bun.lockb create mode 100644 marketplace/next.config.mjs create mode 100644 marketplace/package.json create mode 100644 marketplace/public/erc20-icons/usdc.png create mode 100644 marketplace/public/erc20-icons/usdt.png create mode 100644 marketplace/public/native-token-icons/avax.png create mode 100644 marketplace/public/native-token-icons/eth.png create mode 100644 marketplace/public/native-token-icons/matic.png create mode 100644 marketplace/src/app/collection/[chainId]/[contractAddress]/layout.tsx create mode 100644 marketplace/src/app/collection/[chainId]/[contractAddress]/page.tsx create mode 100644 marketplace/src/app/collection/[chainId]/[contractAddress]/token/[tokenId]/page.tsx create mode 100644 marketplace/src/app/favicon.ico create mode 100644 marketplace/src/app/layout.tsx create mode 100644 marketplace/src/app/page.tsx create mode 100644 marketplace/src/app/profile/[addressOrENS]/page.tsx create mode 100644 marketplace/src/app/profile/jsnfc.code-workspace create mode 100644 marketplace/src/app/profile/page.tsx create mode 100644 marketplace/src/components/collection-page/AllNftsGrid.tsx create mode 100644 marketplace/src/components/collection-page/Collection.tsx create mode 100644 marketplace/src/components/collection-page/ListingGrid.tsx create mode 100644 marketplace/src/components/profile-page/Menu.tsx create mode 100644 marketplace/src/components/profile-page/OwnedItem.tsx create mode 100644 marketplace/src/components/profile-page/Profile.tsx create mode 100644 marketplace/src/components/shared/Navbar.tsx create mode 100644 marketplace/src/components/shared/Providers.tsx create mode 100644 marketplace/src/components/shared/SideMenu.tsx create mode 100644 marketplace/src/components/token-page/BuyFromListingButton.tsx create mode 100644 marketplace/src/components/token-page/CancelListingButton.tsx create mode 100644 marketplace/src/components/token-page/CreateListing.tsx create mode 100644 marketplace/src/components/token-page/NftAttributes.tsx create mode 100644 marketplace/src/components/token-page/NftDetails.tsx create mode 100644 marketplace/src/components/token-page/RelatedListings.tsx create mode 100644 marketplace/src/components/token-page/TokenPage.tsx create mode 100644 marketplace/src/consts/chains.ts create mode 100644 marketplace/src/consts/chakra.ts create mode 100644 marketplace/src/consts/client.ts create mode 100644 marketplace/src/consts/marketplace_contract.ts create mode 100644 marketplace/src/consts/nft_contracts.ts create mode 100644 marketplace/src/consts/supported_tokens.ts create mode 100644 marketplace/src/extensions/getLargestCirculatingTokenId.ts create mode 100644 marketplace/src/extensions/getOwnedERC1155s.ts create mode 100644 marketplace/src/extensions/getOwnedERC721s.ts create mode 100644 marketplace/src/hooks/useGetENSAvatar.ts create mode 100644 marketplace/src/hooks/useGetENSName.ts create mode 100644 marketplace/src/hooks/useMarketplaceContext.tsx create mode 100644 marketplace/src/hooks/useResolveENSAddress.ts create mode 100644 marketplace/tsconfig.json create mode 100644 marketplace/yarn.lock diff --git a/jsnfc b/jsnfc new file mode 160000 index 0000000..024c05e --- /dev/null +++ b/jsnfc @@ -0,0 +1 @@ +Subproject commit 024c05e9e05c3dcfce979ba188d68dcdd0e7fa5e diff --git a/marketplace/.env.example b/marketplace/.env.example new file mode 100644 index 0000000..b0f5efc --- /dev/null +++ b/marketplace/.env.example @@ -0,0 +1 @@ +NEXT_PUBLIC_TW_CLIENT_ID=97295388ebf67e9450b04bdb7038beac \ No newline at end of file diff --git a/marketplace/.gitignore b/marketplace/.gitignore new file mode 100644 index 0000000..00bba9b --- /dev/null +++ b/marketplace/.gitignore @@ -0,0 +1,37 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js +.yarn/install-state.gz + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# local env files +.env*.local +.env + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/marketplace/.npmrc b/marketplace/.npmrc new file mode 100644 index 0000000..e9ee3cb --- /dev/null +++ b/marketplace/.npmrc @@ -0,0 +1 @@ +legacy-peer-deps=true \ No newline at end of file diff --git a/marketplace/README.md b/marketplace/README.md new file mode 100644 index 0000000..5074a19 --- /dev/null +++ b/marketplace/README.md @@ -0,0 +1,7 @@ +copy of .env.example and name is as .env + +bun i + +bun run dev + + \ No newline at end of file diff --git a/marketplace/bun.lockb b/marketplace/bun.lockb new file mode 100644 index 0000000000000000000000000000000000000000..0f0b08fc65091ebc9eba52f9ba138e4aa46a6fb3 GIT binary patch literal 177798 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�U4Ec+(anu>6c;nD7}EP&=2nZTbwGie>3J6ZbMf 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 kpI&tT_%HqY57|z0>i_@% literal 0 HcmV?d00001 diff --git a/marketplace/next.config.mjs b/marketplace/next.config.mjs new file mode 100644 index 0000000..4678774 --- /dev/null +++ b/marketplace/next.config.mjs @@ -0,0 +1,4 @@ +/** @type {import('next').NextConfig} */ +const nextConfig = {}; + +export default nextConfig; diff --git a/marketplace/package.json b/marketplace/package.json new file mode 100644 index 0000000..c472fe0 --- /dev/null +++ b/marketplace/package.json @@ -0,0 +1,34 @@ +{ + "name": "marketplace-template", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "next lint" + }, + "dependencies": { + "@chakra-ui/icons": "^2.1.1", + "@chakra-ui/next-js": "^2.2.0", + "@chakra-ui/react": "^2.8.2", + "@chakra-ui/theme-tools": "^2.1.2", + "@emotion/react": "^11.11.4", + "@emotion/styled": "^11.11.5", + "@tanstack/react-query": "^5.44.0", + "blo": "^1.2.0", + "framer-motion": "^11.2.10", + "next": "14.2.4", + "react": "^18", + "react-dom": "^18", + "react-icons": "^5.2.1", + "thirdweb": "^5.28.0" + }, + "devDependencies": { + "@types/node": "^20", + "@types/react": "^18", + "@types/react-dom": "^18", + "postcss": "^8", + "typescript": "^5" + } +} diff --git a/marketplace/public/erc20-icons/usdc.png b/marketplace/public/erc20-icons/usdc.png new file mode 100644 index 0000000000000000000000000000000000000000..f472ec671e6ffaacad8680b491e1a3a05e69bab2 GIT binary patch literal 892 zcmV-?1B3jDP)Vw=5QSlmz!9983vdBWzy&w~35g{~gro!{grr;nkt2{0LbBul36Yo(oDdKhjfGe8 zw^iM>GqbbfU;2}MuY0$JZBN%Fu?!Q_*_}u!uRj}ia z_gt>ypGk1AMfE(3;Xw|q=i4hjd@Xv;+3|sE)pO5+4_UjOe-duKtEX?jZ@t#@@yoNT zhtEH6y}paiF$y=WD&{@KysGo;gqu~&u-7xgUPb3B<3=stpZ)f%x3J%{#re-aTm6>K zRl-eL_OM^Ihy9k$*TlswTi6|I3%f0yGsT6O8TRHf!(OIyhPWs*!(OJCXJ**TblzK3 zztv^fYboX}GwfwL_XdlR8TNXLdCv@ck~^Oj<+|A+5?_!0BW;T;q^D&{T4JhJ=lKYjDfeYZN9uijm_bgMI` zGJHk1qumP-^PXZpw_>h~U%(Ca=2Fb{U>6YK+A)f`?)?IyJu0|IRWa8^E+E^hhwCef zxh{GEHx9q^uj1OCVy*|dfXItqe|^+7_IirBuI2)6jIh&E%yo4a5dD3@PD?S@;Q}sw zQN=t{%rnJ2Q_Lgx`ejJWBO~l∈Fn+hBwp74w#2uA?ttz)og_oiSaFu%qP*7!>o& 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 G?Ee6HV)$SH literal 0 HcmV?d00001 diff --git a/marketplace/public/native-token-icons/matic.png b/marketplace/public/native-token-icons/matic.png new file mode 100644 index 0000000000000000000000000000000000000000..012deb8b3e4617e683b679d0267e2537b5438039 GIT binary patch literal 2668 zcmV-y3X}DTP)vJVLs?ISujaRdy_6%>imJK(VbEIiXpMi!Oo9OTRU&M)q$wMRcm#QNT zlbHtJ5Ws8T7W}X$Ab>w?!5?X!$`0!@oeeclSJfG%f9JJ}ll7OflM3_+dt&g200laz ze?<{N)Nc&n54p4TdNyPa{kyL`6!5ABuMVhg2!QWh>Q8F$ngI2)DD@-oh5!Q|6A-`; zZM~5V!fCltrJrNnW3+xE8@0ew>Kg(qc&2_Jz=1cZe+_}3Lh4UD@Y#SqH}#>PYh7Zr ze!LoiSI2=r9)U;3N7O$e7@t#KQeT5_jtS_8)4Gl%jBTDcJ6Z?Ij|cGT-$8k+z5;$s zP`}vt4EP}n9zXk3eGOiH-`_fu^{J!2j?>S(rZHAGu{@^1$EokY`_!)&QXjHFNd4ia zt7-KS_<`{3`_%8>3hK{fy_SH!)>~Pnb!M4pXT=`%&;@mIGt6iRf?}v{IRr*j1Pl1#^+Msf#0vrzU>QX z5k*MsV^BHJOb4C3;|)-DT*H|_qFjA5%gX6gM{%}0=C0ZkAVUYhvL>TR)2A{ z_S8q}N2wpSJaNqr&wWwQve)%izCYZ)@Pwp3Ro{Szv#(>}2*t0uK4X5aCjt+v>yY}Y)Cu5|Tb@-IAJlvrY|#<* z`vH8fb^LF;9?)NrFg~Kb0>4+CUGL6q^aKRgkB1%E_)zLg>Ra%)e|h9T*dc3vrsm7_ zUQ*wH$Lfb+=geMCfHA&#Z+zhT5_mXW9ZMk#4ETc7mpZfnE-2iy6kcF z4FOArfX;}3c+11orzMZ1el218eO?7Pc&t92^G(wu5g-{K5W>{&WCUCa#s}Yv#>d;; z?>||fpCJmVfpL=_jXs_F@Vo~C!j^}(yQfnGBvQZ25n#c0b>4{yaK^_{A5tBwZ&P0a zhvUl+XT^@sEjef~^}Xu{_3^MH5=y zrssDnE*cT|mhjyBVF!)6De@TsiPQ)6_v8^E4LkT|Clyfh`IaZl`Fh7^w>&f)c!)~N zOjPsTv;W1%cgg>XgLQl!{2~Ltrvnp!YJQn3Z5luK-$NZAzS#+7&prEYy-foX;KG4F z^xjF_*@&aT)4CN`yvFHCx2%R>VQaL+w^p#d3RARu;o z2n?Ry?657*Hm*KRedhX_fS~@q_NDj@G`!`J`hC3Rq4E5A)qrmzsZWg0^!uvDH}gk; z4m$we-0a}>cA3;)iaNdkJ|-Xn51~@Ono=JxIAP0^iidN5$Hs?JA5L#GPkk3ueZ1Xu zH#=pA9cO$g@F@bm$}>K^<#{mulz#pwy5F8+#+T?`eNgqy&CXo$mWQfOjZYw8SI1rX zokK}|>0S@cPnCNVLln@j!Qm)$&G+heBKMafWqc02H0;2nS4(`e^PV+5ZhZV^ z2eN>x&y3F#V8M6r)X!Dlg#uos1mxc8qKNqu$reSj1? z_33)M;Qd`Z?EKizmlg4fixLp0J_j!kJ3jS=^cTPvtM5WGK0fTo4G*sQ^B11zRaf4Y z$G^+N)W^n$z*7Q*nlBk&O$0!2<12WVN7sDb@%h)-3bs6}?fCMBomGQ(k!O4nc=7$+ z_+Brhz6H-ZzLfgB?D3i(j1LbxF9aS!fgh)rns6L=Y1lFCE_s(neC~vRfVs z{<9r-u25Vxg#!O~q&_u1n)>!;N4nSZHD80r1jsc%&-hr`vs)fQzzW5)sz}cHg7MMR zukBqPJM6$$1m4wrLjVSE*4xJQ8Ti$wz7+A6ClDaL#3;SLn|g^c^)62t?Y*i{;H#4H(V8FB55^~Ld04wE8DHm}a)Zr!Mz5al9RXH-M1UK1%GP{$ zvlErQ4s@^ox<;jSW>f*MrfR-3zEJW~#urjwnV`JJdflVaGPe;jAg|*SjSs%3tLrzh a_VFJ;^1E$zfNxR&0000 + {children} + + ); +} diff --git a/marketplace/src/app/collection/[chainId]/[contractAddress]/page.tsx b/marketplace/src/app/collection/[chainId]/[contractAddress]/page.tsx new file mode 100644 index 0000000..cd28074 --- /dev/null +++ b/marketplace/src/app/collection/[chainId]/[contractAddress]/page.tsx @@ -0,0 +1,7 @@ +"use client"; + +import { Collection } from "@/components/collection-page/Collection"; + +export default function CollectionPage() { + return ; +} diff --git a/marketplace/src/app/collection/[chainId]/[contractAddress]/token/[tokenId]/page.tsx b/marketplace/src/app/collection/[chainId]/[contractAddress]/token/[tokenId]/page.tsx new file mode 100644 index 0000000..d20c93d --- /dev/null +++ b/marketplace/src/app/collection/[chainId]/[contractAddress]/token/[tokenId]/page.tsx @@ -0,0 +1,15 @@ +"use client"; + +import { Token } from "@/components/token-page/TokenPage"; + +export default function ListingPage({ + params, +}: { + params: { tokenId: string }; +}) { + const { tokenId } = params; + if (!tokenId) { + throw new Error("Missing listingId"); + } + return ; +} diff --git a/marketplace/src/app/favicon.ico b/marketplace/src/app/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..718d6fea4835ec2d246af9800eddb7ffb276240c GIT binary patch literal 25931 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 LrJugUA?W`A8`#=m literal 0 HcmV?d00001 diff --git a/marketplace/src/app/layout.tsx b/marketplace/src/app/layout.tsx new file mode 100644 index 0000000..1e304a2 --- /dev/null +++ b/marketplace/src/app/layout.tsx @@ -0,0 +1,28 @@ +import type { Metadata } from "next"; +import { Providers } from "@/components/shared/Providers"; +import { Navbar } from "@/components/shared/Navbar"; +import { AutoConnect } from "thirdweb/react"; +import { client } from "@/consts/client"; + +export const metadata: Metadata = { + title: "Marketplace", + description: "", +}; + +export default function RootLayout({ + children, +}: Readonly<{ + children: React.ReactNode; +}>) { + return ( + + + + + + {children} + + + + ); +} diff --git a/marketplace/src/app/page.tsx b/marketplace/src/app/page.tsx new file mode 100644 index 0000000..cfc7765 --- /dev/null +++ b/marketplace/src/app/page.tsx @@ -0,0 +1,53 @@ +"use client"; + +import { NFT_CONTRACTS } from "@/consts/nft_contracts"; +import { Link } from "@chakra-ui/next-js"; +import { + Box, + Card, + CardBody, + CardHeader, + Flex, + Heading, + Image, + Stack, + StackDivider, + Text, +} from "@chakra-ui/react"; + +export default function Home() { + return ( + + + + + Trending collections + + + {NFT_CONTRACTS.map((item) => ( + + + + {item.title} + + + ))} + + + + + ); +} + diff --git a/marketplace/src/app/profile/[addressOrENS]/page.tsx b/marketplace/src/app/profile/[addressOrENS]/page.tsx new file mode 100644 index 0000000..3d79dac --- /dev/null +++ b/marketplace/src/app/profile/[addressOrENS]/page.tsx @@ -0,0 +1,30 @@ +"use client"; + +import { ProfileSection } from "@/components/profile-page/Profile"; +import { useResolveENSAddress } from "@/hooks/useResolveENSAddress"; +import { Box, Text } from "@chakra-ui/react"; +import { notFound } from "next/navigation"; +import { isAddress } from "thirdweb/utils"; + +export default function PublicProfilePage({ + params, +}: { + params: { addressOrENS: string }; +}) { + const { addressOrENS } = params; + const isValidEvmAddress = isAddress(addressOrENS); + const { data: resolvedAddress, isLoading } = useResolveENSAddress({ + text: addressOrENS, + enabled: !isValidEvmAddress, + }); + if (isLoading) { + return ( + + Loading... + + ); + } + if (!isValidEvmAddress && !resolvedAddress) return notFound(); + const address = isValidEvmAddress ? addressOrENS : resolvedAddress!; + return ; +} diff --git a/marketplace/src/app/profile/jsnfc.code-workspace b/marketplace/src/app/profile/jsnfc.code-workspace new file mode 100644 index 0000000..f520a11 --- /dev/null +++ b/marketplace/src/app/profile/jsnfc.code-workspace @@ -0,0 +1,13 @@ +{ + "folders": [ + { + "name": "jsnfc", + "path": "../../../../../jsnfc" + }, + { + "name": "VaultX", + "path": "../../../.." + } + ], + "settings": {} +} \ No newline at end of file diff --git a/marketplace/src/app/profile/page.tsx b/marketplace/src/app/profile/page.tsx new file mode 100644 index 0000000..09718ef --- /dev/null +++ b/marketplace/src/app/profile/page.tsx @@ -0,0 +1,26 @@ +"use client"; + +import { ProfileSection } from "@/components/profile-page/Profile"; +import { client } from "@/consts/client"; +import { Box, Flex, Heading } from "@chakra-ui/react"; +import { useEffect } from "react"; +import { useActiveAccount, useConnectModal } from "thirdweb/react"; + +export default function ProfilePage() { + const account = useActiveAccount(); + const { connect } = useConnectModal(); + useEffect(() => { + if (!account) { + connect({ client }); + } + }, [account, connect]); + if (!account) + return ( + + + Log in to continue + + + ); + return ; +} diff --git a/marketplace/src/components/collection-page/AllNftsGrid.tsx b/marketplace/src/components/collection-page/AllNftsGrid.tsx new file mode 100644 index 0000000..c0a17bb --- /dev/null +++ b/marketplace/src/components/collection-page/AllNftsGrid.tsx @@ -0,0 +1,139 @@ +"use client"; + +import { client } from "@/consts/client"; +import { useMarketplaceContext } from "@/hooks/useMarketplaceContext"; +import { Link } from "@chakra-ui/next-js"; +import { + Box, + Flex, + SimpleGrid, + useBreakpointValue, + Text, + Button, + Select, +} from "@chakra-ui/react"; +import { useState } from "react"; +import { + MdKeyboardDoubleArrowLeft, + MdKeyboardDoubleArrowRight, +} from "react-icons/md"; +import { RiArrowLeftSLine, RiArrowRightSLine } from "react-icons/ri"; +import { getNFTs as getNFTs1155 } from "thirdweb/extensions/erc1155"; +import { getNFTs as getNFTs721 } from "thirdweb/extensions/erc721"; +import { MediaRenderer, useReadContract } from "thirdweb/react"; + +export function AllNftsGrid() { + const [itemsPerPage, setItemsPerPage] = useState(20); + const [currentPageIndex, setCurrentPageIndex] = useState(0); + const { nftContract, type, supplyInfo } = useMarketplaceContext(); + const startTokenId = supplyInfo?.startTokenId ?? 0n; + const totalItems: bigint = supplyInfo + ? supplyInfo.endTokenId - supplyInfo.startTokenId + 1n + : 0n; + const numberOfPages: number = Number( + (totalItems + BigInt(itemsPerPage) - 1n) / BigInt(itemsPerPage) + ); + const pages: { start: number; count: number }[] = []; + + for (let i = 0; i < numberOfPages; i++) { + const currentStartTokenId = startTokenId + BigInt(i * itemsPerPage); + const remainingItems = totalItems - BigInt(i * itemsPerPage); + const count = + remainingItems < BigInt(itemsPerPage) + ? Number(remainingItems) + : itemsPerPage; + pages.push({ start: Number(currentStartTokenId), count: count }); + } + const { data: allNFTs } = useReadContract( + type === "ERC1155" ? getNFTs1155 : getNFTs721, + { + contract: nftContract, + start: pages[currentPageIndex].start, + count: pages[currentPageIndex].count, + } + ); + const len = allNFTs?.length ?? 0; + const columns = useBreakpointValue({ + base: 1, + sm: Math.min(len, 2), + md: Math.min(len, 4), + lg: Math.min(len, 4), + xl: Math.min(len, 5), + }); + + console.log({ pages, currentPageIndex, length: pages.length }); + return ( + <> + + {allNFTs && allNFTs.length > 0 ? ( + allNFTs.map((item) => ( + + + + {item.metadata?.name ?? "Unknown item"} + + + )) + ) : ( + Loading... + )} + + + + + + + Page {currentPageIndex + 1} of {pages.length} + + + + {/* */} + + + + ); +} diff --git a/marketplace/src/components/collection-page/Collection.tsx b/marketplace/src/components/collection-page/Collection.tsx new file mode 100644 index 0000000..220c906 --- /dev/null +++ b/marketplace/src/components/collection-page/Collection.tsx @@ -0,0 +1,96 @@ +import { MediaRenderer, useReadContract } from "thirdweb/react"; +import { getNFT as getNFT721 } from "thirdweb/extensions/erc721"; +import { getNFT as getNFT1155 } from "thirdweb/extensions/erc1155"; +import { client } from "@/consts/client"; +import { Box, Flex, Heading, Tab, TabList, Tabs, Text } from "@chakra-ui/react"; +import { useState } from "react"; +import { useMarketplaceContext } from "@/hooks/useMarketplaceContext"; +import { ListingGrid } from "./ListingGrid"; +import { AllNftsGrid } from "./AllNftsGrid"; + +export function Collection() { + // `0` is Listings, `1` is `Auctions` + const [tabIndex, setTabIndex] = useState(0); + const { + type, + nftContract, + isLoading, + contractMetadata, + listingsInSelectedCollection, + supplyInfo, + } = useMarketplaceContext(); + + // In case the collection doesn't have a thumbnail, we use the image of the first NFT + const { data: firstNFT, isLoading: isLoadingFirstNFT } = useReadContract( + type === "ERC1155" ? getNFT1155 : getNFT721, + { + contract: nftContract, + tokenId: 0n, + queryOptions: { + enabled: isLoading || !!contractMetadata?.image, + }, + } + ); + + const thumbnailImage = + contractMetadata?.image || firstNFT?.metadata.image || ""; + return ( + <> + + + + + {contractMetadata?.name || "Unknown collection"} + + {contractMetadata?.description && ( + + {contractMetadata.description} + + )} + + setTabIndex(index)} + isLazy + > + + Listings ({listingsInSelectedCollection.length || 0}) + + All items{" "} + {supplyInfo + ? `(${( + supplyInfo.endTokenId - + supplyInfo.startTokenId + + 1n + ).toString()})` + : ""} + + {/* Support for English Auctions coming soon */} + {/* Auctions ({allAuctions?.length || 0}) */} + + + + + + {tabIndex === 0 && } + {tabIndex === 1 && } + + + ); +} diff --git a/marketplace/src/components/collection-page/ListingGrid.tsx b/marketplace/src/components/collection-page/ListingGrid.tsx new file mode 100644 index 0000000..59671b7 --- /dev/null +++ b/marketplace/src/components/collection-page/ListingGrid.tsx @@ -0,0 +1,49 @@ +import { client } from "@/consts/client"; +import { useMarketplaceContext } from "@/hooks/useMarketplaceContext"; +import { Link } from "@chakra-ui/next-js"; +import { + Box, + Flex, + SimpleGrid, + useBreakpointValue, + Text, +} from "@chakra-ui/react"; +import { MediaRenderer } from "thirdweb/react"; + +export function ListingGrid() { + const { listingsInSelectedCollection, nftContract } = useMarketplaceContext(); + const len = listingsInSelectedCollection.length; + const columns = useBreakpointValue({ + base: 1, + sm: Math.min(len, 2), + md: Math.min(len, 4), + lg: Math.min(len, 4), + xl: Math.min(len, 5), + }); + if (!listingsInSelectedCollection || !len) return <>; + return ( + + {listingsInSelectedCollection.map((item) => ( + + + + {item.asset?.metadata?.name ?? "Unknown item"} + Price + + {item.currencyValuePerToken.displayValue}{" "} + {item.currencyValuePerToken.symbol} + + + + ))} + + ); +} diff --git a/marketplace/src/components/profile-page/Menu.tsx b/marketplace/src/components/profile-page/Menu.tsx new file mode 100644 index 0000000..29272fe --- /dev/null +++ b/marketplace/src/components/profile-page/Menu.tsx @@ -0,0 +1,64 @@ +import { NFT_CONTRACTS, type NftContract } from "@/consts/nft_contracts"; +import { + Accordion, + AccordionButton, + AccordionIcon, + AccordionItem, + AccordionPanel, + Box, + Button, + Flex, + Image, + Text, +} from "@chakra-ui/react"; +import type { Dispatch, SetStateAction } from "react"; + +type Props = { + selectedCollection: NftContract; + setSelectedCollection: Dispatch>; +}; + +export function ProfileMenu(props: Props) { + const { selectedCollection, setSelectedCollection } = props; + return ( + + + + + + + Collections + + + + + + {NFT_CONTRACTS.map((item) => ( + setSelectedCollection(item)} + > + + + + {item.title ?? "Unknown collection"} + + + + ))} + + + + + ); +} diff --git a/marketplace/src/components/profile-page/OwnedItem.tsx b/marketplace/src/components/profile-page/OwnedItem.tsx new file mode 100644 index 0000000..c82b789 --- /dev/null +++ b/marketplace/src/components/profile-page/OwnedItem.tsx @@ -0,0 +1,29 @@ +import { client } from "@/consts/client"; +import { Box, Flex, Link, Text } from "@chakra-ui/react"; +import type { NFT, ThirdwebContract } from "thirdweb"; +import { MediaRenderer } from "thirdweb/react"; + +export function OwnedItem(props: { + nft: NFT; + nftCollection: ThirdwebContract; +}) { + const { nft, nftCollection } = props; + return ( + <> + + + + {nft.metadata?.name ?? "Unknown item"} + + + + ); +} diff --git a/marketplace/src/components/profile-page/Profile.tsx b/marketplace/src/components/profile-page/Profile.tsx new file mode 100644 index 0000000..3e2fd2d --- /dev/null +++ b/marketplace/src/components/profile-page/Profile.tsx @@ -0,0 +1,215 @@ +import { + Box, + Flex, + Heading, + Img, + SimpleGrid, + Tab, + TabList, + Tabs, + Text, + useBreakpointValue, +} from "@chakra-ui/react"; +import { blo } from "blo"; +import { shortenAddress } from "thirdweb/utils"; +import type { Account } from "thirdweb/wallets"; +import { ProfileMenu } from "./Menu"; +import { useState } from "react"; +import { NFT_CONTRACTS, type NftContract } from "@/consts/nft_contracts"; +import { + MediaRenderer, + useActiveAccount, + useReadContract, +} from "thirdweb/react"; +import { getContract, toEther } from "thirdweb"; +import { client } from "@/consts/client"; +import { getOwnedERC721s } from "@/extensions/getOwnedERC721s"; +import { OwnedItem } from "./OwnedItem"; +import { getAllValidListings } from "thirdweb/extensions/marketplace"; +import { MARKETPLACE_CONTRACTS } from "@/consts/marketplace_contract"; +import { Link } from "@chakra-ui/next-js"; +import { getOwnedERC1155s } from "@/extensions/getOwnedERC1155s"; +import { ExternalLinkIcon } from "@chakra-ui/icons"; +import { useGetENSAvatar } from "@/hooks/useGetENSAvatar"; +import { useGetENSName } from "@/hooks/useGetENSName"; + +type Props = { + address: string; +}; + +export function ProfileSection(props: Props) { + const { address } = props; + const account = useActiveAccount(); + const isYou = address.toLowerCase() === account?.address.toLowerCase(); + const { data: ensName } = useGetENSName({ address }); + const { data: ensAvatar } = useGetENSAvatar({ ensName }); + const [tabIndex, setTabIndex] = useState(0); + const [selectedCollection, setSelectedCollection] = useState( + NFT_CONTRACTS[0] + ); + const contract = getContract({ + address: selectedCollection.address, + chain: selectedCollection.chain, + client, + }); + + const { + data, + error, + isLoading: isLoadingOwnedNFTs, + } = useReadContract( + selectedCollection.type === "ERC1155" ? getOwnedERC1155s : getOwnedERC721s, + { + contract, + owner: address, + requestPerSec: 50, + queryOptions: { + enabled: !!address, + }, + } + ); + + const chain = contract.chain; + const marketplaceContractAddress = MARKETPLACE_CONTRACTS.find( + (o) => o.chain.id === chain.id + )?.address; + if (!marketplaceContractAddress) throw Error("No marketplace contract found"); + const marketplaceContract = getContract({ + address: marketplaceContractAddress, + chain, + client, + }); + const { data: allValidListings, isLoading: isLoadingValidListings } = + useReadContract(getAllValidListings, { + contract: marketplaceContract, + queryOptions: { enabled: data && data.length > 0 }, + }); + const listings = allValidListings?.length + ? allValidListings.filter( + (item) => + item.assetContractAddress.toLowerCase() === + contract.address.toLowerCase() && + item.creatorAddress.toLowerCase() === address.toLowerCase() + ) + : []; + const columns = useBreakpointValue({ base: 1, sm: 2, md: 2, lg: 2, xl: 4 }); + return ( + + + + + {ensName ?? "Unnamed"} + {shortenAddress(address)} + + + + + + {isLoadingOwnedNFTs ? ( + + Loading... + + ) : ( + <> + + + setTabIndex(index)} + isLazy + defaultIndex={0} + > + + Owned ({data?.length}) + Listings ({listings.length || 0}) + {/* Auctions ({allAuctions?.length || 0}) */} + + + + View collection + + + + {tabIndex === 0 ? ( + <> + {data && data.length > 0 ? ( + <> + {data?.map((item) => ( + + ))} + + ) : ( + + + {isYou + ? "You" + : ensName + ? ensName + : shortenAddress(address)}{" "} + {isYou ? "do" : "does"} not own any NFT in this + collection + + + )} + + ) : ( + <> + {listings && listings.length > 0 ? ( + <> + {listings?.map((item) => ( + + + + + {item.asset?.metadata?.name ?? "Unknown item"} + + Price + + {toEther(item.pricePerToken)}{" "} + {item.currencyValuePerToken.symbol} + + + + ))} + + ) : ( + + You do not have any listing with this collection + + )} + + )} + + + + )} + + + ); +} diff --git a/marketplace/src/components/shared/Navbar.tsx b/marketplace/src/components/shared/Navbar.tsx new file mode 100644 index 0000000..78312ef --- /dev/null +++ b/marketplace/src/components/shared/Navbar.tsx @@ -0,0 +1,123 @@ +"use client"; + +import { client } from "@/consts/client"; +import { useGetENSAvatar } from "@/hooks/useGetENSAvatar"; +import { useGetENSName } from "@/hooks/useGetENSName"; +import { Link } from "@chakra-ui/next-js"; +import { + Box, + Button, + Flex, + Heading, + Menu, + MenuButton, + MenuItem, + MenuList, + Image, + useColorMode, +} from "@chakra-ui/react"; +import { blo } from "blo"; +import { FaRegMoon } from "react-icons/fa"; +import { FiUser } from "react-icons/fi"; +import { IoSunny } from "react-icons/io5"; +import { + ConnectButton, + useActiveAccount, + useActiveWallet, + useDisconnect, +} from "thirdweb/react"; +import type { Wallet } from "thirdweb/wallets"; +import { SideMenu } from "./SideMenu"; + +export function Navbar() { + const account = useActiveAccount(); + const wallet = useActiveWallet(); + const { colorMode } = useColorMode(); + return ( + + + + + + VaultX Marketplace + + + + + {account && wallet ? ( + + ) : ( + + )} + + + + + ); +} + +function ProfileButton({ + address, + wallet, +}: { + address: string; + wallet: Wallet; +}) { + const { disconnect } = useDisconnect(); + const { data: ensName } = useGetENSName({ address }); + const { data: ensAvatar } = useGetENSAvatar({ ensName }); + const { colorMode } = useColorMode(); + return ( + + + + + + + + + + + + + + + + + Profile {ensName ? `(${ensName})` : ""} + + { + if (wallet) disconnect(wallet); + }} + > + Logout + + + + ); +} + +function ToggleThemeButton() { + const { colorMode, toggleColorMode } = useColorMode(); + return ( + + ); +} diff --git a/marketplace/src/components/shared/Providers.tsx b/marketplace/src/components/shared/Providers.tsx new file mode 100644 index 0000000..e91ceef --- /dev/null +++ b/marketplace/src/components/shared/Providers.tsx @@ -0,0 +1,19 @@ +"use client"; +import { chakraTheme, chakraThemeConfig } from "@/consts/chakra"; +import { ChakraProvider, ColorModeScript } from "@chakra-ui/react"; +import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; +import type { ReactNode } from "react"; +import { ThirdwebProvider } from "thirdweb/react"; + +const queryClient = new QueryClient(); + +export function Providers({ children }: { children: ReactNode }) { + return ( + + + + {children} + + + ); +} diff --git a/marketplace/src/components/shared/SideMenu.tsx b/marketplace/src/components/shared/SideMenu.tsx new file mode 100644 index 0000000..013d87b --- /dev/null +++ b/marketplace/src/components/shared/SideMenu.tsx @@ -0,0 +1,84 @@ +"use client"; + +import { client } from "@/consts/client"; +import { useGetENSAvatar } from "@/hooks/useGetENSAvatar"; +import { useGetENSName } from "@/hooks/useGetENSName"; +import { HamburgerIcon } from "@chakra-ui/icons"; +import { Link } from "@chakra-ui/next-js"; +import { + Box, + Button, + Drawer, + DrawerBody, + DrawerCloseButton, + DrawerContent, + DrawerFooter, + DrawerHeader, + DrawerOverlay, + useColorMode, + useDisclosure, +} from "@chakra-ui/react"; +import { useRef } from "react"; +import { FaRegMoon } from "react-icons/fa"; +import { IoSunny } from "react-icons/io5"; +import { + ConnectButton, + useActiveAccount, + useActiveWallet, + useDisconnect, +} from "thirdweb/react"; + +export function SideMenu() { + const { isOpen, onOpen, onClose } = useDisclosure(); + const btnRef = useRef(null); + const { disconnect } = useDisconnect(); + const account = useActiveAccount(); + const { data: ensName } = useGetENSName({ address: account?.address }); + const { data: ensAvatar } = useGetENSAvatar({ ensName }); + const { colorMode, toggleColorMode } = useColorMode(); + const wallet = useActiveWallet(); + + return ( + <> + + + + + + + + + + + + + {account && ( + + Profile {ensName ? `(${ensName})` : ""} + + )} + + + {account && ( + + )} + + + + + ); +} diff --git a/marketplace/src/components/token-page/BuyFromListingButton.tsx b/marketplace/src/components/token-page/BuyFromListingButton.tsx new file mode 100644 index 0000000..f22e689 --- /dev/null +++ b/marketplace/src/components/token-page/BuyFromListingButton.tsx @@ -0,0 +1,112 @@ +import { client } from "@/consts/client"; +import { useMarketplaceContext } from "@/hooks/useMarketplaceContext"; +import { Button, useToast } from "@chakra-ui/react"; +import { + type Hex, + NATIVE_TOKEN_ADDRESS, + getContract, + sendAndConfirmTransaction, + sendTransaction, + toTokens, + waitForReceipt, +} from "thirdweb"; +import { allowance, approve, decimals } from "thirdweb/extensions/erc20"; +import { + type DirectListing, + buyFromListing, +} from "thirdweb/extensions/marketplace"; +import { + useActiveWalletChain, + useSwitchActiveWalletChain, +} from "thirdweb/react"; +import type { Account } from "thirdweb/wallets"; + +type Props = { + listing: DirectListing; + account: Account; +}; + +export default function BuyFromListingButton(props: Props) { + const { account, listing } = props; + const { marketplaceContract, refetchAllListings, nftContract } = + useMarketplaceContext(); + const switchChain = useSwitchActiveWalletChain(); + const activeChain = useActiveWalletChain(); + const toast = useToast(); + return ( + + ); +} diff --git a/marketplace/src/components/token-page/CancelListingButton.tsx b/marketplace/src/components/token-page/CancelListingButton.tsx new file mode 100644 index 0000000..53333df --- /dev/null +++ b/marketplace/src/components/token-page/CancelListingButton.tsx @@ -0,0 +1,50 @@ +import { useMarketplaceContext } from "@/hooks/useMarketplaceContext"; +import { Button, useToast } from "@chakra-ui/react"; +import { sendAndConfirmTransaction } from "thirdweb"; +import { cancelListing } from "thirdweb/extensions/marketplace"; +import { + useActiveWalletChain, + useSwitchActiveWalletChain, +} from "thirdweb/react"; +import type { Account } from "thirdweb/wallets"; + +type Props = { + account: Account; + listingId: bigint; +}; + +export default function CancelListingButton(props: Props) { + const { marketplaceContract, refetchAllListings, nftContract } = + useMarketplaceContext(); + const switchChain = useSwitchActiveWalletChain(); + const activeChain = useActiveWalletChain(); + const { account, listingId } = props; + const toast = useToast(); + + return ( + + ); +} diff --git a/marketplace/src/components/token-page/CreateListing.tsx b/marketplace/src/components/token-page/CreateListing.tsx new file mode 100644 index 0000000..ff5319c --- /dev/null +++ b/marketplace/src/components/token-page/CreateListing.tsx @@ -0,0 +1,231 @@ +import { NATIVE_TOKEN_ICON_MAP, Token } from "@/consts/supported_tokens"; +import { useMarketplaceContext } from "@/hooks/useMarketplaceContext"; +import { CheckIcon, ChevronDownIcon } from "@chakra-ui/icons"; +import { + Button, + Flex, + Input, + Menu, + MenuButton, + MenuItem, + MenuList, + Text, + Image, + useToast, + Box, +} from "@chakra-ui/react"; +import { useRef, useState } from "react"; +import { NATIVE_TOKEN_ADDRESS, sendAndConfirmTransaction } from "thirdweb"; +import { + isApprovedForAll as isApprovedForAll1155, + setApprovalForAll as setApprovalForAll1155, +} from "thirdweb/extensions/erc1155"; +import { + isApprovedForAll as isApprovedForAll721, + setApprovalForAll as setApprovalForAll721, +} from "thirdweb/extensions/erc721"; +import { createListing } from "thirdweb/extensions/marketplace"; +import { + useActiveWalletChain, + useSwitchActiveWalletChain, +} from "thirdweb/react"; +import type { Account } from "thirdweb/wallets"; + +type Props = { + tokenId: bigint; + account: Account; +}; + +export function CreateListing(props: Props) { + const priceRef = useRef(null); + const qtyRef = useRef(null); + const { tokenId, account } = props; + const switchChain = useSwitchActiveWalletChain(); + const activeChain = useActiveWalletChain(); + const [currency, setCurrency] = useState(); + const toast = useToast(); + + const { + nftContract, + marketplaceContract, + refetchAllListings, + type, + supportedTokens, + } = useMarketplaceContext(); + const chain = marketplaceContract.chain; + + const nativeToken: Token = { + tokenAddress: NATIVE_TOKEN_ADDRESS, + symbol: chain.nativeCurrency?.symbol || "NATIVE TOKEN", + icon: NATIVE_TOKEN_ICON_MAP[chain.id] || "", + }; + + const options: Token[] = [nativeToken].concat(supportedTokens); + + return ( + <> +
+ + {type === "ERC1155" ? ( + <> + + + Price + + + + Quantity + + + + + ) : ( + <> + Price + + + )} + + }> + {currency ? ( + + + {currency.symbol} + + ) : ( + "Select currency" + )} + + + {options.map((token) => ( + setCurrency(token)} + display={"flex"} + flexDir={"row"} + > + + {token.symbol} + {token.tokenAddress.toLowerCase() === + currency?.tokenAddress.toLowerCase() && ( + + )} + + ))} + + + + + + ); +} diff --git a/marketplace/src/components/token-page/NftAttributes.tsx b/marketplace/src/components/token-page/NftAttributes.tsx new file mode 100644 index 0000000..28472fa --- /dev/null +++ b/marketplace/src/components/token-page/NftAttributes.tsx @@ -0,0 +1,64 @@ +import { + AccordionButton, + AccordionIcon, + AccordionItem, + AccordionPanel, + Box, + Card, + Flex, + Text, +} from "@chakra-ui/react"; + +export function NftAttributes({ + attributes, +}: { + attributes: Record; +}) { + /** + * Assume the NFT attributes follow the conventional format + */ + // @ts-ignore TODO Fix later + const items = attributes.filter( + (item: Record) => item.trait_type + ); + return ( + + + + + Traits + + + + + + + {/* @ts-ignore TODO Fix later */} + {items.map((item) => ( + + {item.trait_type && ( + + {item.trait_type} + + )} + + {typeof item.value === "object" + ? JSON.stringify(item.value || {}) + : item.value} + + + ))} + + + + ); +} diff --git a/marketplace/src/components/token-page/NftDetails.tsx b/marketplace/src/components/token-page/NftDetails.tsx new file mode 100644 index 0000000..3ac4f41 --- /dev/null +++ b/marketplace/src/components/token-page/NftDetails.tsx @@ -0,0 +1,66 @@ +import { useMarketplaceContext } from "@/hooks/useMarketplaceContext"; +import { Link } from "@chakra-ui/next-js"; +import { + AccordionButton, + Text, + AccordionIcon, + AccordionItem, + AccordionPanel, + Box, + Flex, +} from "@chakra-ui/react"; +import type { NFT } from "thirdweb"; +import { shortenAddress } from "thirdweb/utils"; + +type Props = { + nft: NFT; +}; + +export function NftDetails(props: Props) { + const { type, nftContract } = useMarketplaceContext(); + const { nft } = props; + const contractUrl = `${ + nftContract.chain.blockExplorers + ? nftContract.chain.blockExplorers[0]?.url + : "" + }/address/${nftContract.address}`; + const tokenUrl = `${ + nftContract.chain.blockExplorers + ? nftContract.chain.blockExplorers[0]?.url + : "" + }/nft/${nftContract.address}/${nft.id.toString()}`; + return ( + + + + + Details + + + + + + + Contract address + + {shortenAddress(nftContract.address)} + + + + Token ID + + {nft?.id.toString()} + + + + Token Standard + {type} + + + Chain + {nftContract.chain.name ?? "Unnamed chain"} + + + + ); +} diff --git a/marketplace/src/components/token-page/RelatedListings.tsx b/marketplace/src/components/token-page/RelatedListings.tsx new file mode 100644 index 0000000..7a724ff --- /dev/null +++ b/marketplace/src/components/token-page/RelatedListings.tsx @@ -0,0 +1,77 @@ +import { client } from "@/consts/client"; +import { useMarketplaceContext } from "@/hooks/useMarketplaceContext"; +import { Link } from "@chakra-ui/next-js"; +import { + AccordionButton, + AccordionIcon, + AccordionItem, + AccordionPanel, + Box, + Flex, + Text, +} from "@chakra-ui/react"; +import { toEther } from "thirdweb"; +import { MediaRenderer } from "thirdweb/react"; + +export default function RelatedListings({ + excludedListingId, +}: { + excludedListingId: bigint; +}) { + const { nftContract, allValidListings } = useMarketplaceContext(); + const listings = allValidListings?.filter( + (o) => + o.id !== excludedListingId && + o.assetContractAddress.toLowerCase() === + nftContract.address.toLowerCase(), + ); + if (!listings || !listings.length) return <>; + return ( + + + + + More from this collections + + + + + + + {listings?.map((item) => ( + + + + {item.asset.metadata?.name ?? "Unknown item"} + Price + + {item.currencyValuePerToken.displayValue}{" "} + {item.currencyValuePerToken.symbol} + + + + ))} + + + + ); +} diff --git a/marketplace/src/components/token-page/TokenPage.tsx b/marketplace/src/components/token-page/TokenPage.tsx new file mode 100644 index 0000000..79bb9e9 --- /dev/null +++ b/marketplace/src/components/token-page/TokenPage.tsx @@ -0,0 +1,294 @@ +import { client } from "@/consts/client"; +import { + Accordion, + AccordionButton, + AccordionIcon, + AccordionItem, + AccordionPanel, + Box, + Flex, + Heading, + Link, + Table, + TableContainer, + Tbody, + Td, + Text, + Th, + Thead, + Tr, +} from "@chakra-ui/react"; +import { FaExternalLinkAlt } from "react-icons/fa"; +import { balanceOf, getNFT as getERC1155 } from "thirdweb/extensions/erc1155"; +import { getNFT as getERC721 } from "thirdweb/extensions/erc721"; +import { + MediaRenderer, + useActiveAccount, + useReadContract, +} from "thirdweb/react"; +import { shortenAddress } from "thirdweb/utils"; +import { NftAttributes } from "./NftAttributes"; +import { CreateListing } from "./CreateListing"; +import { useMarketplaceContext } from "@/hooks/useMarketplaceContext"; +import dynamic from "next/dynamic"; +import { NftDetails } from "./NftDetails"; +import RelatedListings from "./RelatedListings"; + +const CancelListingButton = dynamic(() => import("./CancelListingButton"), { + ssr: false, +}); +const BuyFromListingButton = dynamic(() => import("./BuyFromListingButton"), { + ssr: false, +}); + +type Props = { + tokenId: bigint; +}; + +export function Token(props: Props) { + const { + type, + nftContract, + allAuctions, + isLoading, + contractMetadata, + isRefetchingAllListings, + listingsInSelectedCollection, + } = useMarketplaceContext(); + const { tokenId } = props; + const account = useActiveAccount(); + + const { data: nft, isLoading: isLoadingNFT } = useReadContract( + type === "ERC1155" ? getERC1155 : getERC721, + { + tokenId: BigInt(tokenId), + contract: nftContract, + includeOwner: true, + } + ); + + const { data: ownedQuantity1155 } = useReadContract(balanceOf, { + contract: nftContract, + owner: account?.address!, + tokenId: tokenId, + queryOptions: { + enabled: !!account?.address && type === "ERC1155", + }, + }); + + const listings = (listingsInSelectedCollection || []).filter( + (item) => + item.assetContractAddress.toLowerCase() === + nftContract.address.toLowerCase() && item.asset.id === BigInt(tokenId) + ); + + const auctions = (allAuctions || []).filter( + (item) => + item.assetContractAddress.toLowerCase() === + nftContract.address.toLowerCase() && item.asset.id === BigInt(tokenId) + ); + + const allLoaded = !isLoadingNFT && !isLoading && !isRefetchingAllListings; + + const ownedByYou = + nft?.owner?.toLowerCase() === account?.address.toLowerCase(); + + return ( + + + + + + + {nft?.metadata.description && ( + + + + + Description + + + + + + {nft.metadata.description} + + + )} + + {nft?.metadata?.attributes && + // @ts-ignore TODO FIx later + nft?.metadata?.attributes.length > 0 && ( + + )} + + {nft && } + + + + Collection + + {contractMetadata?.name} + + + + +
+ # {nft?.id.toString()} + {nft?.metadata.name} +
+ {type === "ERC1155" ? ( + <> + {account && ownedQuantity1155 && ( + <> + You own + {ownedQuantity1155.toString()} + + )} + + ) : ( + <> + Current owner + + + {nft?.owner ? shortenAddress(nft.owner) : "N/A"}{" "} + + {ownedByYou && (You)} + + + )} + {account && + nft && + (ownedByYou || (ownedQuantity1155 && ownedQuantity1155 > 0n)) && ( + + )} + + + + + + Listings ({listings.length}) + + + + + + {listings.length > 0 ? ( + + + + + + {type === "ERC1155" && } + + + + + + + {listings.map((item) => { + const listedByYou = + item.creatorAddress.toLowerCase() === + account?.address.toLowerCase(); + return ( + + + {type === "ERC1155" && ( + + )} + + + {account && ( + + )} + + ); + })} + +
PriceQtyExpirationFrom{""}
+ + {item.currencyValuePerToken.displayValue}{" "} + {item.currencyValuePerToken.symbol} + + + {item.quantity.toString()} + + + {getExpiration(item.endTimeInSeconds)} + + + + {item.creatorAddress.toLowerCase() === + account?.address.toLowerCase() + ? "You" + : shortenAddress(item.creatorAddress)} + + + {!listedByYou ? ( + + ) : ( + + )} +
+
+ ) : ( + This item is not listed for sale + )} +
+
+ + +
+
+
+
+
+ ); +} + +function getExpiration(endTimeInSeconds: bigint) { + // Get the current date and time + const currentDate = new Date(); + + // Convert seconds to milliseconds (bigint) + const milliseconds: bigint = endTimeInSeconds * 1000n; + + // Calculate the future date by adding milliseconds to the current date + const futureDate = new Date(currentDate.getTime() + Number(milliseconds)); + + // Format the future date + const options: Intl.DateTimeFormatOptions = { + year: "numeric", + month: "short", + day: "numeric", + hour: "2-digit", + timeZoneName: "short", + }; + const formattedDate = futureDate.toLocaleDateString("en-US", options); + return formattedDate; +} diff --git a/marketplace/src/consts/chains.ts b/marketplace/src/consts/chains.ts new file mode 100644 index 0000000..e99b7bf --- /dev/null +++ b/marketplace/src/consts/chains.ts @@ -0,0 +1,11 @@ +import { defineChain } from "thirdweb"; + +/** + * All chains should be exported from this file + */ +export { avalancheFuji, sepolia, polygonAmoy } from "thirdweb/chains"; + +/** + * Define any custom chain using `defineChain` + */ +export const example_customChain1 = defineChain(0.001); // don't actually use this diff --git a/marketplace/src/consts/chakra.ts b/marketplace/src/consts/chakra.ts new file mode 100644 index 0000000..0a1bacc --- /dev/null +++ b/marketplace/src/consts/chakra.ts @@ -0,0 +1,10 @@ +import { extendTheme, ThemeConfig } from "@chakra-ui/react"; + +export const chakraThemeConfig: ThemeConfig = { + initialColorMode: "dark", + useSystemColorMode: false, +}; + +export const chakraTheme = extendTheme({ + config: chakraThemeConfig, +}); diff --git a/marketplace/src/consts/client.ts b/marketplace/src/consts/client.ts new file mode 100644 index 0000000..338bfe4 --- /dev/null +++ b/marketplace/src/consts/client.ts @@ -0,0 +1,5 @@ +import { createThirdwebClient } from "thirdweb"; + +export const client = createThirdwebClient({ + clientId: process.env.NEXT_PUBLIC_TW_CLIENT_ID as string, +}); diff --git a/marketplace/src/consts/marketplace_contract.ts b/marketplace/src/consts/marketplace_contract.ts new file mode 100644 index 0000000..11ba3e4 --- /dev/null +++ b/marketplace/src/consts/marketplace_contract.ts @@ -0,0 +1,26 @@ +import type { Chain } from "thirdweb"; +import { avalancheFuji, polygonAmoy, sepolia } from "./chains"; + +type MarketplaceContract = { + address: string; + chain: Chain; +}; + +/** + * You need a marketplace contract on each of the chain you want to support + * Only list one marketplace contract address for each chain + */ +export const MARKETPLACE_CONTRACTS: MarketplaceContract[] = [ + { + address: "0x8C1D464B385A2B7EAa80dcAAD66DD8BC0256e717", + chain: avalancheFuji, + }, + { + address: "0x571B773F1e4A7C080b51C36f37e06f371C515569", + chain: polygonAmoy, + }, + { + address: "0xC33c7c6f491B6AeCB98659460389183BF8045173", + chain: sepolia, + }, +]; diff --git a/marketplace/src/consts/nft_contracts.ts b/marketplace/src/consts/nft_contracts.ts new file mode 100644 index 0000000..134bdcb --- /dev/null +++ b/marketplace/src/consts/nft_contracts.ts @@ -0,0 +1,77 @@ +import type { Chain } from "thirdweb"; +import { avalancheFuji, polygonAmoy, sepolia } from "./chains"; + +export type NftContract = { + address: string; + chain: Chain; + type: "ERC1155" | "ERC721"; + + title?: string; + description?: string; + thumbnailUrl?: string; + slug?: string; +}; + +/** + * Below is a list of all NFT contracts supported by your marketplace(s) + * This is of course hard-coded for demo purpose + * + * In reality, the list should be dynamically fetched from your own data source + */ +export const NFT_CONTRACTS: NftContract[] = [ + { + address: "0xa75f81144217B31ff825F3520f8e63bCDefb8313", + chain: sepolia, + title: "VaultX", + thumbnailUrl: + "ipfs://QmTtoSiYfkyzMhWumJn6TDPijx9jX3JCA25CKNDaWsxprS/1.webp", + type: "ERC721", + }, + { + address: "0x6b869a0cF84147f05a447636c42b8E53De65714E", + chain: avalancheFuji, + title: "Steakhouse: Liberatorz", + thumbnailUrl: + "https://258c828e8cc853bf5e0efd001055fb39.ipfscdn.io/ipfs/bafybeigonh3hde5suwcb3qvkh6ljtvxv7ubfmcqbwfvi3ihoi3igd27jwe/SteakhouseLogo.svg", + type: "ERC721", + }, + { + address: "0xC5A2c72c581eA4A17e17bEeF38a9597132830401", + chain: avalancheFuji, + title: "Ugly Waifu", + thumbnailUrl: + "https://258c828e8cc853bf5e0efd001055fb39.ipfscdn.io/ipfs/bafybeidaadqapi7twzd7pjp24tu4ngsr3teubrhop7hg3jk3oj6lqysfgm/OS-LOGO.png", + slug: "ugly-waifu", + type: "ERC721", + }, + + { + address: "0x0896Db00D8987Fba2152aa7c14c4255eBC7354cE", + chain: avalancheFuji, + title: "Unnamed Collection", + description: "", + thumbnailUrl: + "https://258c828e8cc853bf5e0efd001055fb39.ipfscdn.io/ipfs/Qmct2vS78Uwug3zVtqQognskPPRmd4wRQiaDAQWt1kRJws/0.png", + slug: "unnamed-collection", + type: "ERC721", + }, + { + address: "0x0ACaCa3d3F64bb6e6D3564BBc891c58Bd4A4c83c", + chain: avalancheFuji, + title: "GoroBot", + thumbnailUrl: + "https://258c828e8cc853bf5e0efd001055fb39.ipfscdn.io/ipfs/bafybeiay3ffxy3os56bvnu5cmq7gids4v6n4hf5nvvcb3gy2dzavi3ltnu/profile.jpg", + slug: "gorobot", + type: "ERC721", + }, + { + address: "0x4b6CDEFF5885A57678261bb95250aC43aD490752", + chain: polygonAmoy, + title: "Mata NFT", + thumbnailUrl: + "https://258c828e8cc853bf5e0efd001055fb39.ipfscdn.io/ipfs/bafybeidec7x6bptqmrxgptaedd7wfwxbsccqfogzwfsd4a7duxn4sdmnxy/0.png", + type: "ERC721", + }, + + +]; diff --git a/marketplace/src/consts/supported_tokens.ts b/marketplace/src/consts/supported_tokens.ts new file mode 100644 index 0000000..d42e53f --- /dev/null +++ b/marketplace/src/consts/supported_tokens.ts @@ -0,0 +1,79 @@ +import type { Chain } from "thirdweb"; +import { avalancheFuji, polygonAmoy, sepolia } from "./chains"; + +export type Token = { + tokenAddress: string; + symbol: string; + icon: string; +}; + +export type SupportedTokens = { + chain: Chain; + tokens: Token[]; +}; + +/** + * By default you create listings with the payment currency in the native token of the network (eth, avax, matic etc.) + * + * If you want to allow users to transact using different ERC20 tokens, you can add them to the config below + * Keep in mind this is for front-end usage. Make sure your marketplace v3 contracts accept the ERC20s + * check that in https://thirdweb.com///permissions -> Asset + * By default the Marketplace V3 contract supports any asset (token) + */ +export const SUPPORTED_TOKENS: SupportedTokens[] = [ + { + chain: avalancheFuji, + tokens: [ + { + tokenAddress: "0x5425890298aed601595a70ab815c96711a31bc65", + symbol: "USDC", + icon: "/erc20-icons/usdc.png", + }, + { + tokenAddress: "0x82dcec6aa3c8bfe2c96d40d8805ee0da15708643", + symbol: "USDT", + icon: "/erc20-icons/usdt.png", + }, + // Add more ERC20 here... + ], + }, + + { + chain: polygonAmoy, + tokens: [ + { + tokenAddress: "0x41e94eb019c0762f9bfcf9fb1e58725bfb0e7582", + symbol: "USDC", + icon: "/erc20-icons/usdc.png", + }, + { + tokenAddress: "0xbcf39d8616d15fd146dd5db4a86b4f244a9bc772", + symbol: "USDT", + icon: "/erc20-icons/usdt.png", + }, + ], + }, + + { + chain: sepolia, + tokens: [ + { + tokenAddress: "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238", + symbol: "USDC", + icon: "/erc20-icons/usdc.png", + }, + { + tokenAddress: "0x36160274b0ed3673e67f2ca5923560a7a0c523aa", + symbol: "USDT", + icon: "/erc20-icons/usdt.png", + }, + ], + }, +]; + +export const NATIVE_TOKEN_ICON_MAP: { [key in Chain["id"]]: string } = { + 1: "/native-token-icons/eth.png", + [sepolia.id]: "/native-token-icons/eth.png", + [avalancheFuji.id]: "/native-token-icons/avax.png", + [polygonAmoy.id]: "/native-token-icons/matic.png", +}; diff --git a/marketplace/src/extensions/getLargestCirculatingTokenId.ts b/marketplace/src/extensions/getLargestCirculatingTokenId.ts new file mode 100644 index 0000000..43cc72d --- /dev/null +++ b/marketplace/src/extensions/getLargestCirculatingTokenId.ts @@ -0,0 +1,67 @@ +import type { BaseTransactionOptions } from "thirdweb"; +import { isERC1155 } from "thirdweb/extensions/erc1155"; +import { isERC721 } from "thirdweb/extensions/erc721"; + +export type GetSupplyInfo = {}; + +export type SupplyInfo = { + startTokenId: bigint; + endTokenId: bigint; +}; +/** + * Get the largest token id that _is minted_ - works for both ERC721 and ERC1155 + * @param options + */ +export async function getSupplyInfo( + options: BaseTransactionOptions +): Promise { + const { contract } = options; + const [_is721, _is1155] = await Promise.all([ + isERC721({ contract }), + isERC1155({ contract }), + ]); + if (!_is1155 && !_is721) { + throw new Error("Not an NFT collection"); + } + if (_is1155) { + const { nextTokenIdToMint } = await import("thirdweb/extensions/erc1155"); + const data: SupplyInfo = { + startTokenId: 0n, + endTokenId: await nextTokenIdToMint(options), + }; + return data; + } else { + const { nextTokenIdToMint, startTokenId, totalSupply, ownerOf, getNFT } = + await import("thirdweb/extensions/erc721"); + const [startTokenId_, maxSupply] = await Promise.allSettled([ + startTokenId(options), + nextTokenIdToMint(options), + totalSupply(options), + ]).then(([_startTokenId, _next, _total]) => { + // default to 0 if startTokenId is not available + const startTokenId__ = + _startTokenId.status === "fulfilled" ? _startTokenId.value : 0n; + let maxSupply_: bigint; + // prioritize totalSupply to save on resources + // since totalSupply should always be less than nextTokenIdToMint + if (_total.status === "fulfilled") { + maxSupply_ = _total.value; + } + // otherwise use nextTokenIdToMint + else if (_next.status === "fulfilled") { + // because we always default the startTokenId to 0 we can safely just always subtract here + maxSupply_ = _next.value - startTokenId__; + } else { + throw new Error( + "Contract requires either `nextTokenIdToMint` or `totalSupply` function available to determine the next token ID to mint" + ); + } + return [startTokenId__, maxSupply_] as const; + }); + const data: SupplyInfo = { + startTokenId: startTokenId_, + endTokenId: maxSupply, + }; + return data; + } +} diff --git a/marketplace/src/extensions/getOwnedERC1155s.ts b/marketplace/src/extensions/getOwnedERC1155s.ts new file mode 100644 index 0000000..ef8b849 --- /dev/null +++ b/marketplace/src/extensions/getOwnedERC1155s.ts @@ -0,0 +1,109 @@ +import { type BaseTransactionOptions, type NFT, readContract } from "thirdweb"; +import { + balanceOfBatch, + getNFT, + nextTokenIdToMint, +} from "thirdweb/extensions/erc1155"; + +export type GetERC1155sParams = { + /** + * Which tokenId to start at. + */ + start?: number; + /** + * The number of NFTs to retrieve. Defaults to 100 + */ + count?: number; + /** + * The address of the wallet to get the NFTs of. + */ + owner: string; + + requestPerSec?: number; +}; + +/** + * thirdweb SDK's `getOwnedNFTs` extension only works if your contract has the extension `nextTokenIdToMint` + * This custom extension works for the contracts that don't have such method, but `nextTokenId` + * It also allow you to set a limit on how many RPC requests should per called per second + * @param options + * @returns A list of NFTs (type: NFT[]) + * + * @example + * // Usage with React + * const { data, error } = useReadContract(getOwnedERC1155s, { + * contract, + * address: "0x...", + * start: 0, + * count: 20, + * }); + * + * // Usage with TypeScript + * const nfts = await getOwnedERC1155s({ + * contract, + * address: "0x...", + * start: 0, + * count: 20, + * }); + */ + +export async function getOwnedERC1155s( + options: BaseTransactionOptions +): Promise { + const { contract, owner } = options; + const maxId = await Promise.allSettled([ + readContract({ + contract: contract, + method: "function nextTokenId() view returns (uint256)", + params: [], + }), + nextTokenIdToMint(options), + ]).then(([_next, _nextToMint]) => { + if (_next.status === "fulfilled") { + return _next.value; + } + if (_nextToMint.status === "fulfilled") { + return _nextToMint.value; + } + throw Error("Contract doesn't have required extension"); + }); + const owners: string[] = []; + const tokenIds: bigint[] = []; + for (let i = 0n; i < maxId; i++) { + owners.push(owner); + tokenIds.push(i); + } + + const balances = await balanceOfBatch({ + ...options, + owners, + tokenIds, + }); + + let ownedBalances = balances + .map((b, i) => { + return { + tokenId: i, + balance: b, + }; + }) + .filter((b) => b.balance > 0); + + if (options.start || options.count) { + const start = options?.start || 0; + const count = options?.count || 100; + ownedBalances = ownedBalances.slice(start, start + count); + } + + const nfts = await Promise.all( + ownedBalances.map((ob) => + getNFT({ ...options, tokenId: BigInt(ob.tokenId) }) + ) + ); + + return nfts.map((nft, index) => ({ + ...nft, + owner, + quantityOwned: ownedBalances[index]?.balance || 0n, + })); +} diff --git a/marketplace/src/extensions/getOwnedERC721s.ts b/marketplace/src/extensions/getOwnedERC721s.ts new file mode 100644 index 0000000..e81cd76 --- /dev/null +++ b/marketplace/src/extensions/getOwnedERC721s.ts @@ -0,0 +1,162 @@ +import { ADDRESS_ZERO, type NFT, type BaseTransactionOptions } from "thirdweb"; +import { isERC721 } from "thirdweb/extensions/erc721"; +import { detectMethod } from "thirdweb/utils"; + +export type GetERC721sParams = { + owner: string; + // (optional) If pass `100` then the code will limit the RPC requests to 100 requests per second + requestPerSec?: number; +}; + +/** + * thirdweb SDK's `getOwnedNFTs` extension only works if your contract has the extension `IERC721Enumerable > tokenOfOwnerByIndex` + * This custom extension works for the contracts that don't have such method + * It also allow you to set a limit on how many RPC requests should per called per second + * @param options + * @returns A list of NFTs (type: NFT[]) + * + * @example + * // Usage with React + * const { data, error } = useReadContract(getOwnedERC721s, { + * contract, + * owner: "0x...", + * requestPerSec: 99, // limit RPC reqs to 99 reqs per sec to avoid missing/corrupted data + * }); + * + * // Usage with TypeScript + * const nfts = await getOwnedERC721s({ + * contract, + * owner: "0x...", + * requestPerSec: 99, + * }); + */ +export async function getOwnedERC721s( + options: BaseTransactionOptions, +): Promise { + const { contract, owner, requestPerSec } = options; + + const [is721, has_tokenOfOwnerByIndex] = await Promise.all([ + isERC721({ contract }), + detectMethod({ + method: + "function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256)", + contract, + }), + ]); + + if (!is721) { + throw new Error("Contract is not an ERC721 contract"); + } + + if (has_tokenOfOwnerByIndex) { + const { getOwnedNFTs } = await import("thirdweb/extensions/erc721"); + return getOwnedNFTs(options); + } + + const { nextTokenIdToMint, startTokenId, totalSupply, ownerOf, getNFT } = + await import("thirdweb/extensions/erc721"); + + const [startTokenId_, maxSupply] = await Promise.allSettled([ + startTokenId(options), + nextTokenIdToMint(options), + totalSupply(options), + ]).then(([_startTokenId, _next, _total]) => { + // default to 0 if startTokenId is not available + const startTokenId__ = + _startTokenId.status === "fulfilled" ? _startTokenId.value : 0n; + let maxSupply_: bigint; + // prioritize totalSupply to save on resources + // since totalSupply should always be less than nextTokenIdToMint + if (_total.status === "fulfilled") { + maxSupply_ = _total.value; + } + // otherwise use nextTokenIdToMint + else if (_next.status === "fulfilled") { + // because we always default the startTokenId to 0 we can safely just always subtract here + maxSupply_ = _next.value - startTokenId__; + } else { + throw new Error( + "Contract requires either `nextTokenIdToMint` or `totalSupply` function available to determine the next token ID to mint", + ); + } + return [startTokenId__, maxSupply_] as const; + }); + + const allTokenIds = Array.from( + { length: Number(maxSupply - startTokenId_ + 1n) }, + (_, i) => startTokenId_ + BigInt(i), + ); + + if (requestPerSec) { + let owners: string[] = []; + + const tokenIdsArrays: bigint[][] = []; + + for (let i = 0; i < allTokenIds.length; i += requestPerSec) { + const chunk = allTokenIds.slice(i, i + requestPerSec); + tokenIdsArrays.push(chunk); + } + + for (let i = 0; i < tokenIdsArrays.length; i++) { + const data = await Promise.all( + tokenIdsArrays[i].map((tokenId) => + ownerOf({ contract, tokenId }).catch(() => ADDRESS_ZERO), + ), + ); + owners = owners.concat(data); + } + + const ownedTokenIds = allTokenIds.filter( + (tokenId, index) => owners[index].toLowerCase() === owner.toLowerCase(), + ); + + let ownedNFTs: NFT[] = []; + + const ownedTokenIdsArrays: bigint[][] = []; + + for (let i = 0; i < ownedTokenIds.length; i += requestPerSec) { + const chunk = ownedTokenIds.slice(i, i + requestPerSec); + ownedTokenIdsArrays.push(chunk); + } + + for (let i = 0; i < ownedTokenIdsArrays.length; i++) { + const data = await Promise.all( + ownedTokenIdsArrays[i].map((tokenId) => + getNFT({ + ...options, + tokenId, + }).then((nft) => ({ + ...nft, + owner, + })), + ), + ); + ownedNFTs = ownedNFTs.concat(data); + } + + return ownedNFTs; + // biome-ignore lint/style/noUselessElse: Code is cleaner this way + } else { + const owners = await Promise.all( + allTokenIds.map((tokenId) => + ownerOf({ contract, tokenId }).catch(() => ADDRESS_ZERO), + ), + ); + + const ownedTokenIds = allTokenIds.filter( + (tokenId, index) => owners[index].toLowerCase() === owner.toLowerCase(), + ); + + const promises: ReturnType[] = ownedTokenIds.map((tokenId) => + getNFT({ + ...options, + tokenId, + }).then((nft) => ({ + ...nft, + owner, + })), + ); + + return await Promise.all(promises); + } +} diff --git a/marketplace/src/hooks/useGetENSAvatar.ts b/marketplace/src/hooks/useGetENSAvatar.ts new file mode 100644 index 0000000..ac591bb --- /dev/null +++ b/marketplace/src/hooks/useGetENSAvatar.ts @@ -0,0 +1,24 @@ +import { client } from "@/consts/client"; +import { queryOptions, useQuery } from "@tanstack/react-query"; +import { resolveAvatar, resolveName } from "thirdweb/extensions/ens"; + +// Get ENS name from a wallet address +export function useGetENSAvatar({ + ensName, +}: { + ensName: string | undefined | null; +}) { + return useQuery( + queryOptions({ + queryKey: ["ensAvatar", ensName || "n/a"] as const, + queryFn: async () => { + if (!client) { + throw new Error("client is required"); + } + if (!ensName) return; + return resolveAvatar({ client, name: ensName }); + }, + enabled: !!ensName, + }) + ); +} diff --git a/marketplace/src/hooks/useGetENSName.ts b/marketplace/src/hooks/useGetENSName.ts new file mode 100644 index 0000000..836fe6d --- /dev/null +++ b/marketplace/src/hooks/useGetENSName.ts @@ -0,0 +1,20 @@ +import { client } from "@/consts/client"; +import { queryOptions, useQuery } from "@tanstack/react-query"; +import { resolveName } from "thirdweb/extensions/ens"; + +// Get ENS name from a wallet address +export function useGetENSName({ address }: { address: string | undefined }) { + return useQuery( + queryOptions({ + queryKey: ["ensName", address || "0x0"] as const, + queryFn: async () => { + if (!client) { + throw new Error("client is required"); + } + if (!address) return; + return resolveName({ client, address }); + }, + enabled: !!address, + }) + ); +} diff --git a/marketplace/src/hooks/useMarketplaceContext.tsx b/marketplace/src/hooks/useMarketplaceContext.tsx new file mode 100644 index 0000000..8bb470b --- /dev/null +++ b/marketplace/src/hooks/useMarketplaceContext.tsx @@ -0,0 +1,220 @@ +"use client"; + +import { client } from "@/consts/client"; +import { MARKETPLACE_CONTRACTS } from "@/consts/marketplace_contract"; +import { NFT_CONTRACTS } from "@/consts/nft_contracts"; +import { SUPPORTED_TOKENS, Token } from "@/consts/supported_tokens"; +import { + getSupplyInfo, + SupplyInfo, +} from "@/extensions/getLargestCirculatingTokenId"; +import { Box, Spinner } from "@chakra-ui/react"; +import { createContext, type ReactNode, useContext } from "react"; +import { getContract, type ThirdwebContract } from "thirdweb"; +import { getContractMetadata } from "thirdweb/extensions/common"; +import { isERC1155 } from "thirdweb/extensions/erc1155"; +import { isERC721 } from "thirdweb/extensions/erc721"; +import { + type DirectListing, + type EnglishAuction, + getAllAuctions, + getAllValidListings, +} from "thirdweb/extensions/marketplace"; +import { useReadContract } from "thirdweb/react"; + +export type NftType = "ERC1155" | "ERC721"; + +/** + * Support for English auction coming soon. + */ +const SUPPORT_AUCTION = false; + +type TMarketplaceContext = { + marketplaceContract: ThirdwebContract; + nftContract: ThirdwebContract; + type: NftType; + isLoading: boolean; + allValidListings: DirectListing[] | undefined; + allAuctions: EnglishAuction[] | undefined; + contractMetadata: + | { + [key: string]: any; + name: string; + symbol: string; + } + | undefined; + refetchAllListings: Function; + isRefetchingAllListings: boolean; + listingsInSelectedCollection: DirectListing[]; + supplyInfo: SupplyInfo | undefined; + supportedTokens: Token[]; +}; + +const MarketplaceContext = createContext( + undefined +); + +export default function MarketplaceProvider({ + chainId, + contractAddress, + children, +}: { + chainId: string; + contractAddress: string; + children: ReactNode; +}) { + let _chainId: number; + try { + _chainId = Number.parseInt(chainId); + } catch (err) { + throw new Error("Invalid chain ID"); + } + const marketplaceContract = MARKETPLACE_CONTRACTS.find( + (item) => item.chain.id === _chainId + ); + if (!marketplaceContract) { + throw new Error("Marketplace not supported on this chain"); + } + + const collectionSupported = NFT_CONTRACTS.find( + (item) => + item.address.toLowerCase() === contractAddress.toLowerCase() && + item.chain.id === _chainId + ); + // You can remove this condition if you want to supported _any_ nft collection + // or you can update the entries in `NFT_CONTRACTS` + // if (!collectionSupported) { + // throw new Error("Contract not supported on this marketplace"); + // } + + const contract = getContract({ + chain: marketplaceContract.chain, + client, + address: contractAddress, + }); + + const marketplace = getContract({ + address: marketplaceContract.address, + chain: marketplaceContract.chain, + client, + }); + + const { data: is721, isLoading: isChecking721 } = useReadContract(isERC721, { + contract, + queryOptions: { + enabled: !!marketplaceContract, + }, + }); + const { data: is1155, isLoading: isChecking1155 } = useReadContract( + isERC1155, + { contract, queryOptions: { enabled: !!marketplaceContract } } + ); + + const isNftCollection = is1155 || is721; + console.log(isNftCollection, "nft") + console.log(isChecking1155, "1155") + console.log(isChecking721 , "721") + + if (!isNftCollection && !isChecking1155 && !isChecking721) + throw new Error("Not a valid NFT collection"); + + const { data: contractMetadata, isLoading: isLoadingContractMetadata } = + useReadContract(getContractMetadata, { + contract, + queryOptions: { + enabled: isNftCollection, + }, + }); + + const { + data: allValidListings, + isLoading: isLoadingValidListings, + refetch: refetchAllListings, + isRefetching: isRefetchingAllListings, + } = useReadContract(getAllValidListings, { + contract: marketplace, + queryOptions: { + enabled: isNftCollection, + }, + }); + + const listingsInSelectedCollection = allValidListings?.length + ? allValidListings.filter( + (item) => + item.assetContractAddress.toLowerCase() === + contract.address.toLowerCase() + ) + : []; + + const { data: allAuctions, isLoading: isLoadingAuctions } = useReadContract( + getAllAuctions, + { + contract: marketplace, + queryOptions: { enabled: isNftCollection && SUPPORT_AUCTION }, + } + ); + + const { data: supplyInfo, isLoading: isLoadingSupplyInfo } = useReadContract( + getSupplyInfo, + { + contract, + } + ); + + const isLoading = + isChecking1155 || + isChecking721 || + isLoadingAuctions || + isLoadingContractMetadata || + isLoadingValidListings || + isLoadingSupplyInfo; + + const supportedTokens: Token[] = + SUPPORTED_TOKENS.find( + (item) => item.chain.id === marketplaceContract.chain.id + )?.tokens || []; + + return ( + + {children} + {isLoading && ( + + + + )} + + ); +} + +export function useMarketplaceContext() { + const context = useContext(MarketplaceContext); + if (context === undefined) { + throw new Error( + "useMarketplaceContext must be used inside MarketplaceProvider" + ); + } + return context; +} diff --git a/marketplace/src/hooks/useResolveENSAddress.ts b/marketplace/src/hooks/useResolveENSAddress.ts new file mode 100644 index 0000000..e872154 --- /dev/null +++ b/marketplace/src/hooks/useResolveENSAddress.ts @@ -0,0 +1,25 @@ +import { client } from "@/consts/client"; +import { queryOptions, useQuery } from "@tanstack/react-query"; +import { resolveAddress } from "thirdweb/extensions/ens"; + +// Get ENS name from a wallet address +export function useResolveENSAddress({ + text, + enabled, +}: { + text: string; + enabled: boolean; +}) { + return useQuery( + queryOptions({ + queryKey: ["ensText", text || "ensText"] as const, + queryFn: async () => { + if (!client) { + throw new Error("client is required"); + } + return resolveAddress({ client, name: text }); + }, + enabled, + }) + ); +} diff --git a/marketplace/tsconfig.json b/marketplace/tsconfig.json new file mode 100644 index 0000000..4a17d97 --- /dev/null +++ b/marketplace/tsconfig.json @@ -0,0 +1,27 @@ +{ + "compilerOptions": { + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "incremental": true, + "plugins": [ + { + "name": "next" + } + ], + "paths": { + "@/*": ["./src/*"] + }, + "target": "ES2020" + }, + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], + "exclude": ["node_modules"] +} diff --git a/marketplace/yarn.lock b/marketplace/yarn.lock new file mode 100644 index 0000000..7638d55 --- /dev/null +++ b/marketplace/yarn.lock @@ -0,0 +1,4520 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@adraffy/ens-normalize@1.10.0": + version "1.10.0" + resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.10.0.tgz#d2a39395c587e092d77cbbc80acf956a54f38bf7" + integrity sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q== + +"@babel/code-frame@^7.0.0": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.6.tgz#ab88da19344445c3d8889af2216606d3329f3ef2" + integrity sha512-ZJhac6FkEd1yhG2AHOmfcXG4ceoLltoCVJjN5XsWN9BifBQr+cHJbWi0h68HZuSORq+3WtJ2z0hwF2NG1b5kcA== + dependencies: + "@babel/highlight" "^7.24.6" + picocolors "^1.0.0" + +"@babel/helper-module-imports@^7.16.7": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.6.tgz#65e54ffceed6a268dc4ce11f0433b82cfff57852" + integrity sha512-a26dmxFJBF62rRO9mmpgrfTLsAuyHk4e1hKTUkD/fcMfynt8gvEKwQPQDVxWhca8dHoDck+55DFt42zV0QMw5g== + dependencies: + "@babel/types" "^7.24.6" + +"@babel/helper-string-parser@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.6.tgz#28583c28b15f2a3339cfafafeaad42f9a0e828df" + integrity sha512-WdJjwMEkmBicq5T9fm/cHND3+UlFa2Yj8ALLgmoSQAJZysYbBjw+azChSGPN4DSPLXOcooGRvDwZWMcF/mLO2Q== + +"@babel/helper-validator-identifier@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.6.tgz#08bb6612b11bdec78f3feed3db196da682454a5e" + integrity sha512-4yA7s865JHaqUdRbnaxarZREuPTHrjpDT+pXoAZ1yhyo6uFnIEpS8VMu16siFOHDpZNKYv5BObhsB//ycbICyw== + +"@babel/highlight@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.6.tgz#6d610c1ebd2c6e061cade0153bf69b0590b7b3df" + integrity sha512-2YnuOp4HAk2BsBrJJvYCbItHx0zWscI1C3zgWkz+wDyD9I7GIVrfnLyrR4Y1VR+7p+chAEcrgRQYZAGIKMV7vQ== + dependencies: + "@babel/helper-validator-identifier" "^7.24.6" + chalk "^2.4.2" + js-tokens "^4.0.0" + picocolors "^1.0.0" + +"@babel/runtime@^7.0.0", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.18.3": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.6.tgz#5b76eb89ad45e2e4a0a8db54c456251469a3358e" + integrity sha512-Ja18XcETdEl5mzzACGd+DKgaGJzPTCow7EglgwTmHdwokzDFYh/MHua6lU6DV/hjF2IaOJ4oX2nqnjG7RElKOw== + dependencies: + regenerator-runtime "^0.14.0" + +"@babel/types@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.6.tgz#ba4e1f59870c10dc2fa95a274ac4feec23b21912" + integrity sha512-WaMsgi6Q8zMgMth93GvWPXkhAIEobfsIkLTacoVZoK1J0CevIPGYY2Vo5YvJGqyHqXM6P4ppOYGsIRU8MM9pFQ== + dependencies: + "@babel/helper-string-parser" "^7.24.6" + "@babel/helper-validator-identifier" "^7.24.6" + to-fast-properties "^2.0.0" + +"@chakra-ui/accordion@2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/accordion/-/accordion-2.3.1.tgz#a326509e286a5c4e8478de9bc2b4b05017039e6b" + integrity sha512-FSXRm8iClFyU+gVaXisOSEw0/4Q+qZbFRiuhIAkVU6Boj0FxAMrlo9a8AV5TuF77rgaHytCdHk0Ng+cyUijrag== + dependencies: + "@chakra-ui/descendant" "3.1.0" + "@chakra-ui/icon" "3.2.0" + "@chakra-ui/react-context" "2.1.0" + "@chakra-ui/react-use-controllable-state" "2.1.0" + "@chakra-ui/react-use-merge-refs" "2.1.0" + "@chakra-ui/shared-utils" "2.0.5" + "@chakra-ui/transition" "2.1.0" + +"@chakra-ui/alert@2.2.2": + version "2.2.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/alert/-/alert-2.2.2.tgz#aeba951d120c7c6e69d5f515a695ad6e4db43ffe" + integrity sha512-jHg4LYMRNOJH830ViLuicjb3F+v6iriE/2G5T+Sd0Hna04nukNJ1MxUmBPE+vI22me2dIflfelu2v9wdB6Pojw== + dependencies: + "@chakra-ui/icon" "3.2.0" + "@chakra-ui/react-context" "2.1.0" + "@chakra-ui/shared-utils" "2.0.5" + "@chakra-ui/spinner" "2.1.0" + +"@chakra-ui/anatomy@2.2.2": + version "2.2.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/anatomy/-/anatomy-2.2.2.tgz#2d0e14cba2534d92077ca28abf8c183b6e27897b" + integrity sha512-MV6D4VLRIHr4PkW4zMyqfrNS1mPlCTiCXwvYGtDFQYr+xHFfonhAuf9WjsSc0nyp2m0OdkSLnzmVKkZFLo25Tg== + +"@chakra-ui/avatar@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/avatar/-/avatar-2.3.0.tgz#f018a2714d1e3ba5970bcf66558887925fdfccf4" + integrity sha512-8gKSyLfygnaotbJbDMHDiJoF38OHXUYVme4gGxZ1fLnQEdPVEaIWfH+NndIjOM0z8S+YEFnT9KyGMUtvPrBk3g== + dependencies: + "@chakra-ui/image" "2.1.0" + "@chakra-ui/react-children-utils" "2.0.6" + "@chakra-ui/react-context" "2.1.0" + "@chakra-ui/shared-utils" "2.0.5" + +"@chakra-ui/breadcrumb@2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/breadcrumb/-/breadcrumb-2.2.0.tgz#751bc48498f3c403f97b5d9aae528ebfd405ef48" + integrity sha512-4cWCG24flYBxjruRi4RJREWTGF74L/KzI2CognAW/d/zWR0CjiScuJhf37Am3LFbCySP6WSoyBOtTIoTA4yLEA== + dependencies: + "@chakra-ui/react-children-utils" "2.0.6" + "@chakra-ui/react-context" "2.1.0" + "@chakra-ui/shared-utils" "2.0.5" + +"@chakra-ui/breakpoint-utils@2.0.8": + version "2.0.8" + resolved "https://registry.yarnpkg.com/@chakra-ui/breakpoint-utils/-/breakpoint-utils-2.0.8.tgz#750d3712668b69f6e8917b45915cee0e08688eed" + integrity sha512-Pq32MlEX9fwb5j5xx8s18zJMARNHlQZH2VH1RZgfgRDpp7DcEgtRW5AInfN5CfqdHLO1dGxA7I3MqEuL5JnIsA== + dependencies: + "@chakra-ui/shared-utils" "2.0.5" + +"@chakra-ui/button@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/button/-/button-2.1.0.tgz#623ed32cc92fc8e52492923e9924791fc6f25447" + integrity sha512-95CplwlRKmmUXkdEp/21VkEWgnwcx2TOBG6NfYlsuLBDHSLlo5FKIiE2oSi4zXc4TLcopGcWPNcm/NDaSC5pvA== + dependencies: + "@chakra-ui/react-context" "2.1.0" + "@chakra-ui/react-use-merge-refs" "2.1.0" + "@chakra-ui/shared-utils" "2.0.5" + "@chakra-ui/spinner" "2.1.0" + +"@chakra-ui/card@2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/card/-/card-2.2.0.tgz#b5e59dc51c171fced76ea76bf26088803b8bc184" + integrity sha512-xUB/k5MURj4CtPAhdSoXZidUbm8j3hci9vnc+eZJVDqhDOShNlD6QeniQNRPRys4lWAQLCbFcrwL29C8naDi6g== + dependencies: + "@chakra-ui/shared-utils" "2.0.5" + +"@chakra-ui/checkbox@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/checkbox/-/checkbox-2.3.2.tgz#4ecb14a2f57b7470d1a58542ca4691c3b105bfa1" + integrity sha512-85g38JIXMEv6M+AcyIGLh7igNtfpAN6KGQFYxY9tBj0eWvWk4NKQxvqqyVta0bSAyIl1rixNIIezNpNWk2iO4g== + dependencies: + "@chakra-ui/form-control" "2.2.0" + "@chakra-ui/react-context" "2.1.0" + "@chakra-ui/react-types" "2.0.7" + "@chakra-ui/react-use-callback-ref" "2.1.0" + "@chakra-ui/react-use-controllable-state" "2.1.0" + "@chakra-ui/react-use-merge-refs" "2.1.0" + "@chakra-ui/react-use-safe-layout-effect" "2.1.0" + "@chakra-ui/react-use-update-effect" "2.1.0" + "@chakra-ui/shared-utils" "2.0.5" + "@chakra-ui/visually-hidden" "2.2.0" + "@zag-js/focus-visible" "0.16.0" + +"@chakra-ui/clickable@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/clickable/-/clickable-2.1.0.tgz#800fa8d10cf45a41fc50a3df32c679a3ce1921c3" + integrity sha512-flRA/ClPUGPYabu+/GLREZVZr9j2uyyazCAUHAdrTUEdDYCr31SVGhgh7dgKdtq23bOvAQJpIJjw/0Bs0WvbXw== + dependencies: + "@chakra-ui/react-use-merge-refs" "2.1.0" + "@chakra-ui/shared-utils" "2.0.5" + +"@chakra-ui/close-button@2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/close-button/-/close-button-2.1.1.tgz#995b245c56eb41465a71d8667840c238618a7b66" + integrity sha512-gnpENKOanKexswSVpVz7ojZEALl2x5qjLYNqSQGbxz+aP9sOXPfUS56ebyBrre7T7exuWGiFeRwnM0oVeGPaiw== + dependencies: + "@chakra-ui/icon" "3.2.0" + +"@chakra-ui/color-mode@2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/color-mode/-/color-mode-2.2.0.tgz#828d47234c74ba2fb4c5dd63a63331aead20b9f6" + integrity sha512-niTEA8PALtMWRI9wJ4LL0CSBDo8NBfLNp4GD6/0hstcm3IlbBHTVKxN6HwSaoNYfphDQLxCjT4yG+0BJA5tFpg== + dependencies: + "@chakra-ui/react-use-safe-layout-effect" "2.1.0" + +"@chakra-ui/control-box@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/control-box/-/control-box-2.1.0.tgz#0f4586797b3154c02463bc5c106782e70c88f04f" + integrity sha512-gVrRDyXFdMd8E7rulL0SKeoljkLQiPITFnsyMO8EFHNZ+AHt5wK4LIguYVEq88APqAGZGfHFWXr79RYrNiE3Mg== + +"@chakra-ui/counter@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/counter/-/counter-2.1.0.tgz#e413a2f1093a18f847bb7aa240117fde788a59e6" + integrity sha512-s6hZAEcWT5zzjNz2JIWUBzRubo9la/oof1W7EKZVVfPYHERnl5e16FmBC79Yfq8p09LQ+aqFKm/etYoJMMgghw== + dependencies: + "@chakra-ui/number-utils" "2.0.7" + "@chakra-ui/react-use-callback-ref" "2.1.0" + "@chakra-ui/shared-utils" "2.0.5" + +"@chakra-ui/css-reset@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/css-reset/-/css-reset-2.3.0.tgz#83e3160a9c2a12431cad0ee27ebfbf3aedc5c9c7" + integrity sha512-cQwwBy5O0jzvl0K7PLTLgp8ijqLPKyuEMiDXwYzl95seD3AoeuoCLyzZcJtVqaUZ573PiBdAbY/IlZcwDOItWg== + +"@chakra-ui/descendant@3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/descendant/-/descendant-3.1.0.tgz#f3b80ed13ffc4bf1d615b3ed5541bd0905375cca" + integrity sha512-VxCIAir08g5w27klLyi7PVo8BxhW4tgU/lxQyujkmi4zx7hT9ZdrcQLAted/dAa+aSIZ14S1oV0Q9lGjsAdxUQ== + dependencies: + "@chakra-ui/react-context" "2.1.0" + "@chakra-ui/react-use-merge-refs" "2.1.0" + +"@chakra-ui/dom-utils@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/dom-utils/-/dom-utils-2.1.0.tgz#d15df89e458ef19756db04c7cfd084eb552454f0" + integrity sha512-ZmF2qRa1QZ0CMLU8M1zCfmw29DmPNtfjR9iTo74U5FPr3i1aoAh7fbJ4qAlZ197Xw9eAW28tvzQuoVWeL5C7fQ== + +"@chakra-ui/editable@3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/editable/-/editable-3.1.0.tgz#065783c2e3389c3bb9ab0582cb50d38e1dc00fa1" + integrity sha512-j2JLrUL9wgg4YA6jLlbU88370eCRyor7DZQD9lzpY95tSOXpTljeg3uF9eOmDnCs6fxp3zDWIfkgMm/ExhcGTg== + dependencies: + "@chakra-ui/react-context" "2.1.0" + "@chakra-ui/react-types" "2.0.7" + "@chakra-ui/react-use-callback-ref" "2.1.0" + "@chakra-ui/react-use-controllable-state" "2.1.0" + "@chakra-ui/react-use-focus-on-pointer-down" "2.1.0" + "@chakra-ui/react-use-merge-refs" "2.1.0" + "@chakra-ui/react-use-safe-layout-effect" "2.1.0" + "@chakra-ui/react-use-update-effect" "2.1.0" + "@chakra-ui/shared-utils" "2.0.5" + +"@chakra-ui/event-utils@2.0.8": + version "2.0.8" + resolved "https://registry.yarnpkg.com/@chakra-ui/event-utils/-/event-utils-2.0.8.tgz#e6439ba200825a2f15d8f1973d267d1c00a6d1b4" + integrity sha512-IGM/yGUHS+8TOQrZGpAKOJl/xGBrmRYJrmbHfUE7zrG3PpQyXvbLDP1M+RggkCFVgHlJi2wpYIf0QtQlU0XZfw== + +"@chakra-ui/focus-lock@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/focus-lock/-/focus-lock-2.1.0.tgz#580e5450fe85356987b9a246abaff8333369c667" + integrity sha512-EmGx4PhWGjm4dpjRqM4Aa+rCWBxP+Rq8Uc/nAVnD4YVqkEhBkrPTpui2lnjsuxqNaZ24fIAZ10cF1hlpemte/w== + dependencies: + "@chakra-ui/dom-utils" "2.1.0" + react-focus-lock "^2.9.4" + +"@chakra-ui/form-control@2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/form-control/-/form-control-2.2.0.tgz#69c771d6406ddac8ab357ae88446cc11827656a4" + integrity sha512-wehLC1t4fafCVJ2RvJQT2jyqsAwX7KymmiGqBu7nQoQz8ApTkGABWpo/QwDh3F/dBLrouHDoOvGmYTqft3Mirw== + dependencies: + "@chakra-ui/icon" "3.2.0" + "@chakra-ui/react-context" "2.1.0" + "@chakra-ui/react-types" "2.0.7" + "@chakra-ui/react-use-merge-refs" "2.1.0" + "@chakra-ui/shared-utils" "2.0.5" + +"@chakra-ui/hooks@2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/hooks/-/hooks-2.2.1.tgz#b86ce5eeaaab877ddcb11a50842d1227306ace28" + integrity sha512-RQbTnzl6b1tBjbDPf9zGRo9rf/pQMholsOudTxjy4i9GfTfz6kgp5ValGjQm2z7ng6Z31N1cnjZ1AlSzQ//ZfQ== + dependencies: + "@chakra-ui/react-utils" "2.0.12" + "@chakra-ui/utils" "2.0.15" + compute-scroll-into-view "3.0.3" + copy-to-clipboard "3.3.3" + +"@chakra-ui/icon@3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/icon/-/icon-3.2.0.tgz#92b9454aa0d561b4994bcd6a1b3bb1fdd5c67bef" + integrity sha512-xxjGLvlX2Ys4H0iHrI16t74rG9EBcpFvJ3Y3B7KMQTrnW34Kf7Da/UC8J67Gtx85mTHW020ml85SVPKORWNNKQ== + dependencies: + "@chakra-ui/shared-utils" "2.0.5" + +"@chakra-ui/icons@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/icons/-/icons-2.1.1.tgz#58ff0f9e703f2f4f89debd600ce4e438f43f9c9a" + integrity sha512-3p30hdo4LlRZTT5CwoAJq3G9fHI0wDc0pBaMHj4SUn0yomO+RcDRlzhdXqdr5cVnzax44sqXJVnf3oQG0eI+4g== + dependencies: + "@chakra-ui/icon" "3.2.0" + +"@chakra-ui/image@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/image/-/image-2.1.0.tgz#6c205f1ca148e3bf58345b0b5d4eb3d959eb9f87" + integrity sha512-bskumBYKLiLMySIWDGcz0+D9Th0jPvmX6xnRMs4o92tT3Od/bW26lahmV2a2Op2ItXeCmRMY+XxJH5Gy1i46VA== + dependencies: + "@chakra-ui/react-use-safe-layout-effect" "2.1.0" + "@chakra-ui/shared-utils" "2.0.5" + +"@chakra-ui/input@2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/input/-/input-2.1.2.tgz#0cad49ec372f8f21f2f4f1db365f34b9a708ff9d" + integrity sha512-GiBbb3EqAA8Ph43yGa6Mc+kUPjh4Spmxp1Pkelr8qtudpc3p2PJOOebLpd90mcqw8UePPa+l6YhhPtp6o0irhw== + dependencies: + "@chakra-ui/form-control" "2.2.0" + "@chakra-ui/object-utils" "2.1.0" + "@chakra-ui/react-children-utils" "2.0.6" + "@chakra-ui/react-context" "2.1.0" + "@chakra-ui/shared-utils" "2.0.5" + +"@chakra-ui/layout@2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/layout/-/layout-2.3.1.tgz#0601c5eb91555d24a7015a7c9d4e01fed2698557" + integrity sha512-nXuZ6WRbq0WdgnRgLw+QuxWAHuhDtVX8ElWqcTK+cSMFg/52eVP47czYBE5F35YhnoW2XBwfNoNgZ7+e8Z01Rg== + dependencies: + "@chakra-ui/breakpoint-utils" "2.0.8" + "@chakra-ui/icon" "3.2.0" + "@chakra-ui/object-utils" "2.1.0" + "@chakra-ui/react-children-utils" "2.0.6" + "@chakra-ui/react-context" "2.1.0" + "@chakra-ui/shared-utils" "2.0.5" + +"@chakra-ui/lazy-utils@2.0.5": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@chakra-ui/lazy-utils/-/lazy-utils-2.0.5.tgz#363c3fa1d421362790b416ffa595acb835e1ae5b" + integrity sha512-UULqw7FBvcckQk2n3iPO56TMJvDsNv0FKZI6PlUNJVaGsPbsYxK/8IQ60vZgaTVPtVcjY6BE+y6zg8u9HOqpyg== + +"@chakra-ui/live-region@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/live-region/-/live-region-2.1.0.tgz#02b4b1d997075f19a7a9a87187e08c72e82ef0dd" + integrity sha512-ZOxFXwtaLIsXjqnszYYrVuswBhnIHHP+XIgK1vC6DePKtyK590Wg+0J0slDwThUAd4MSSIUa/nNX84x1GMphWw== + +"@chakra-ui/media-query@3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/media-query/-/media-query-3.3.0.tgz#40f9151dedb6a7af9df3be0474b59a799c92c619" + integrity sha512-IsTGgFLoICVoPRp9ykOgqmdMotJG0CnPsKvGQeSFOB/dZfIujdVb14TYxDU4+MURXry1MhJ7LzZhv+Ml7cr8/g== + dependencies: + "@chakra-ui/breakpoint-utils" "2.0.8" + "@chakra-ui/react-env" "3.1.0" + "@chakra-ui/shared-utils" "2.0.5" + +"@chakra-ui/menu@2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/menu/-/menu-2.2.1.tgz#7d9810d435f6b40fa72ed867a33b88a1ef75073f" + integrity sha512-lJS7XEObzJxsOwWQh7yfG4H8FzFPRP5hVPN/CL+JzytEINCSBvsCDHrYPQGp7jzpCi8vnTqQQGQe0f8dwnXd2g== + dependencies: + "@chakra-ui/clickable" "2.1.0" + "@chakra-ui/descendant" "3.1.0" + "@chakra-ui/lazy-utils" "2.0.5" + "@chakra-ui/popper" "3.1.0" + "@chakra-ui/react-children-utils" "2.0.6" + "@chakra-ui/react-context" "2.1.0" + "@chakra-ui/react-use-animation-state" "2.1.0" + "@chakra-ui/react-use-controllable-state" "2.1.0" + "@chakra-ui/react-use-disclosure" "2.1.0" + "@chakra-ui/react-use-focus-effect" "2.1.0" + "@chakra-ui/react-use-merge-refs" "2.1.0" + "@chakra-ui/react-use-outside-click" "2.2.0" + "@chakra-ui/react-use-update-effect" "2.1.0" + "@chakra-ui/shared-utils" "2.0.5" + "@chakra-ui/transition" "2.1.0" + +"@chakra-ui/modal@2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/modal/-/modal-2.3.1.tgz#524dc32b6b4f545b54ae531dbf6c74e1052ee794" + integrity sha512-TQv1ZaiJMZN+rR9DK0snx/OPwmtaGH1HbZtlYt4W4s6CzyK541fxLRTjIXfEzIGpvNW+b6VFuFjbcR78p4DEoQ== + dependencies: + "@chakra-ui/close-button" "2.1.1" + "@chakra-ui/focus-lock" "2.1.0" + "@chakra-ui/portal" "2.1.0" + "@chakra-ui/react-context" "2.1.0" + "@chakra-ui/react-types" "2.0.7" + "@chakra-ui/react-use-merge-refs" "2.1.0" + "@chakra-ui/shared-utils" "2.0.5" + "@chakra-ui/transition" "2.1.0" + aria-hidden "^1.2.3" + react-remove-scroll "^2.5.6" + +"@chakra-ui/next-js@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/next-js/-/next-js-2.2.0.tgz#80959c19f7509802c21dd73e23c32c60d918e4c7" + integrity sha512-brCz0UEOlImX4Np2jDIaljZJkW6kiDSuXG5erxvYjZlklLhmti1zj0o1sSjt5yff1xndfgHoOJb+BYG5wx+vDg== + dependencies: + "@emotion/cache" "^11.11.0" + +"@chakra-ui/number-input@2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/number-input/-/number-input-2.1.2.tgz#dda9095fba6a4b89212332db02831b94120da163" + integrity sha512-pfOdX02sqUN0qC2ysuvgVDiws7xZ20XDIlcNhva55Jgm095xjm8eVdIBfNm3SFbSUNxyXvLTW/YQanX74tKmuA== + dependencies: + "@chakra-ui/counter" "2.1.0" + "@chakra-ui/form-control" "2.2.0" + "@chakra-ui/icon" "3.2.0" + "@chakra-ui/react-context" "2.1.0" + "@chakra-ui/react-types" "2.0.7" + "@chakra-ui/react-use-callback-ref" "2.1.0" + "@chakra-ui/react-use-event-listener" "2.1.0" + "@chakra-ui/react-use-interval" "2.1.0" + "@chakra-ui/react-use-merge-refs" "2.1.0" + "@chakra-ui/react-use-safe-layout-effect" "2.1.0" + "@chakra-ui/react-use-update-effect" "2.1.0" + "@chakra-ui/shared-utils" "2.0.5" + +"@chakra-ui/number-utils@2.0.7": + version "2.0.7" + resolved "https://registry.yarnpkg.com/@chakra-ui/number-utils/-/number-utils-2.0.7.tgz#aaee979ca2fb1923a0373a91619473811315db11" + integrity sha512-yOGxBjXNvLTBvQyhMDqGU0Oj26s91mbAlqKHiuw737AXHt0aPllOthVUqQMeaYLwLCjGMg0jtI7JReRzyi94Dg== + +"@chakra-ui/object-utils@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/object-utils/-/object-utils-2.1.0.tgz#a4ecf9cea92f1de09f5531f53ffdc41e0b19b6c3" + integrity sha512-tgIZOgLHaoti5PYGPTwK3t/cqtcycW0owaiOXoZOcpwwX/vlVb+H1jFsQyWiiwQVPt9RkoSLtxzXamx+aHH+bQ== + +"@chakra-ui/pin-input@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/pin-input/-/pin-input-2.1.0.tgz#61e6bbf909ec510634307b2861c4f1891a9f8d81" + integrity sha512-x4vBqLStDxJFMt+jdAHHS8jbh294O53CPQJoL4g228P513rHylV/uPscYUHrVJXRxsHfRztQO9k45jjTYaPRMw== + dependencies: + "@chakra-ui/descendant" "3.1.0" + "@chakra-ui/react-children-utils" "2.0.6" + "@chakra-ui/react-context" "2.1.0" + "@chakra-ui/react-use-controllable-state" "2.1.0" + "@chakra-ui/react-use-merge-refs" "2.1.0" + "@chakra-ui/shared-utils" "2.0.5" + +"@chakra-ui/popover@2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/popover/-/popover-2.2.1.tgz#89cfd29817abcd204da570073c0f2b4d8072c3a3" + integrity sha512-K+2ai2dD0ljvJnlrzesCDT9mNzLifE3noGKZ3QwLqd/K34Ym1W/0aL1ERSynrcG78NKoXS54SdEzkhCZ4Gn/Zg== + dependencies: + "@chakra-ui/close-button" "2.1.1" + "@chakra-ui/lazy-utils" "2.0.5" + "@chakra-ui/popper" "3.1.0" + "@chakra-ui/react-context" "2.1.0" + "@chakra-ui/react-types" "2.0.7" + "@chakra-ui/react-use-animation-state" "2.1.0" + "@chakra-ui/react-use-disclosure" "2.1.0" + "@chakra-ui/react-use-focus-effect" "2.1.0" + "@chakra-ui/react-use-focus-on-pointer-down" "2.1.0" + "@chakra-ui/react-use-merge-refs" "2.1.0" + "@chakra-ui/shared-utils" "2.0.5" + +"@chakra-ui/popper@3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/popper/-/popper-3.1.0.tgz#92a9180c6894763af3b22a6003f9a9d958fe2659" + integrity sha512-ciDdpdYbeFG7og6/6J8lkTFxsSvwTdMLFkpVylAF6VNC22jssiWfquj2eyD4rJnzkRFPvIWJq8hvbfhsm+AjSg== + dependencies: + "@chakra-ui/react-types" "2.0.7" + "@chakra-ui/react-use-merge-refs" "2.1.0" + "@popperjs/core" "^2.9.3" + +"@chakra-ui/portal@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/portal/-/portal-2.1.0.tgz#9e7f57424d7041738b6563cac80134561080bd27" + integrity sha512-9q9KWf6SArEcIq1gGofNcFPSWEyl+MfJjEUg/un1SMlQjaROOh3zYr+6JAwvcORiX7tyHosnmWC3d3wI2aPSQg== + dependencies: + "@chakra-ui/react-context" "2.1.0" + "@chakra-ui/react-use-safe-layout-effect" "2.1.0" + +"@chakra-ui/progress@2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/progress/-/progress-2.2.0.tgz#67444ea9779631d7c8395b2c9c78e5634f994999" + integrity sha512-qUXuKbuhN60EzDD9mHR7B67D7p/ZqNS2Aze4Pbl1qGGZfulPW0PY8Rof32qDtttDQBkzQIzFGE8d9QpAemToIQ== + dependencies: + "@chakra-ui/react-context" "2.1.0" + +"@chakra-ui/provider@2.4.2": + version "2.4.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/provider/-/provider-2.4.2.tgz#92cb10b6a7df0720e3fa62716dc7cd872ae3ea3d" + integrity sha512-w0Tef5ZCJK1mlJorcSjItCSbyvVuqpvyWdxZiVQmE6fvSJR83wZof42ux0+sfWD+I7rHSfj+f9nzhNaEWClysw== + dependencies: + "@chakra-ui/css-reset" "2.3.0" + "@chakra-ui/portal" "2.1.0" + "@chakra-ui/react-env" "3.1.0" + "@chakra-ui/system" "2.6.2" + "@chakra-ui/utils" "2.0.15" + +"@chakra-ui/radio@2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/radio/-/radio-2.1.2.tgz#66db19c61a2e628aaf5e727027f7c3b4006ea898" + integrity sha512-n10M46wJrMGbonaghvSRnZ9ToTv/q76Szz284gv4QUWvyljQACcGrXIONUnQ3BIwbOfkRqSk7Xl/JgZtVfll+w== + dependencies: + "@chakra-ui/form-control" "2.2.0" + "@chakra-ui/react-context" "2.1.0" + "@chakra-ui/react-types" "2.0.7" + "@chakra-ui/react-use-merge-refs" "2.1.0" + "@chakra-ui/shared-utils" "2.0.5" + "@zag-js/focus-visible" "0.16.0" + +"@chakra-ui/react-children-utils@2.0.6": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-children-utils/-/react-children-utils-2.0.6.tgz#6c480c6a60678fcb75cb7d57107c7a79e5179b92" + integrity sha512-QVR2RC7QsOsbWwEnq9YduhpqSFnZGvjjGREV8ygKi8ADhXh93C8azLECCUVgRJF2Wc+So1fgxmjLcbZfY2VmBA== + +"@chakra-ui/react-context@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-context/-/react-context-2.1.0.tgz#4858be1d5ff1c8ac0a0ec088d93a3b7f1cbbff99" + integrity sha512-iahyStvzQ4AOwKwdPReLGfDesGG+vWJfEsn0X/NoGph/SkN+HXtv2sCfYFFR9k7bb+Kvc6YfpLlSuLvKMHi2+w== + +"@chakra-ui/react-env@3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-env/-/react-env-3.1.0.tgz#7d3c1c05a501bb369524d9f3d38c9325eb16ab50" + integrity sha512-Vr96GV2LNBth3+IKzr/rq1IcnkXv+MLmwjQH6C8BRtn3sNskgDFD5vLkVXcEhagzZMCh8FR3V/bzZPojBOyNhw== + dependencies: + "@chakra-ui/react-use-safe-layout-effect" "2.1.0" + +"@chakra-ui/react-types@2.0.7": + version "2.0.7" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-types/-/react-types-2.0.7.tgz#799c166a44882b23059c8f510eac9bd5d0869ac4" + integrity sha512-12zv2qIZ8EHwiytggtGvo4iLT0APris7T0qaAWqzpUGS0cdUtR8W+V1BJ5Ocq+7tA6dzQ/7+w5hmXih61TuhWQ== + +"@chakra-ui/react-use-animation-state@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-animation-state/-/react-use-animation-state-2.1.0.tgz#eab661fbafd96804fe867b0df0c27e78feefe6e2" + integrity sha512-CFZkQU3gmDBwhqy0vC1ryf90BVHxVN8cTLpSyCpdmExUEtSEInSCGMydj2fvn7QXsz/za8JNdO2xxgJwxpLMtg== + dependencies: + "@chakra-ui/dom-utils" "2.1.0" + "@chakra-ui/react-use-event-listener" "2.1.0" + +"@chakra-ui/react-use-callback-ref@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-callback-ref/-/react-use-callback-ref-2.1.0.tgz#a508085f4d9e7d84d4ceffdf5f41745c9ac451d7" + integrity sha512-efnJrBtGDa4YaxDzDE90EnKD3Vkh5a1t3w7PhnRQmsphLy3g2UieasoKTlT2Hn118TwDjIv5ZjHJW6HbzXA9wQ== + +"@chakra-ui/react-use-controllable-state@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-controllable-state/-/react-use-controllable-state-2.1.0.tgz#8fb6fa2f45d0c04173582ae8297e604ffdb9c7d9" + integrity sha512-QR/8fKNokxZUs4PfxjXuwl0fj/d71WPrmLJvEpCTkHjnzu7LnYvzoe2wB867IdooQJL0G1zBxl0Dq+6W1P3jpg== + dependencies: + "@chakra-ui/react-use-callback-ref" "2.1.0" + +"@chakra-ui/react-use-disclosure@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-disclosure/-/react-use-disclosure-2.1.0.tgz#90093eaf45db1bea7a6851dd0ce5cdb3eb66f90a" + integrity sha512-Ax4pmxA9LBGMyEZJhhUZobg9C0t3qFE4jVF1tGBsrLDcdBeLR9fwOogIPY9Hf0/wqSlAryAimICbr5hkpa5GSw== + dependencies: + "@chakra-ui/react-use-callback-ref" "2.1.0" + +"@chakra-ui/react-use-event-listener@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-event-listener/-/react-use-event-listener-2.1.0.tgz#afea2645bd9b38f754fc2b8eb858f9bb22385ded" + integrity sha512-U5greryDLS8ISP69DKDsYcsXRtAdnTQT+jjIlRYZ49K/XhUR/AqVZCK5BkR1spTDmO9H8SPhgeNKI70ODuDU/Q== + dependencies: + "@chakra-ui/react-use-callback-ref" "2.1.0" + +"@chakra-ui/react-use-focus-effect@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-focus-effect/-/react-use-focus-effect-2.1.0.tgz#963fb790370dfadd51d12666ff2da60706f53a2a" + integrity sha512-xzVboNy7J64xveLcxTIJ3jv+lUJKDwRM7Szwn9tNzUIPD94O3qwjV7DDCUzN2490nSYDF4OBMt/wuDBtaR3kUQ== + dependencies: + "@chakra-ui/dom-utils" "2.1.0" + "@chakra-ui/react-use-event-listener" "2.1.0" + "@chakra-ui/react-use-safe-layout-effect" "2.1.0" + "@chakra-ui/react-use-update-effect" "2.1.0" + +"@chakra-ui/react-use-focus-on-pointer-down@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-focus-on-pointer-down/-/react-use-focus-on-pointer-down-2.1.0.tgz#2fbcf6bc7d06d97606747e231a908d5c387ca0cc" + integrity sha512-2jzrUZ+aiCG/cfanrolsnSMDykCAbv9EK/4iUyZno6BYb3vziucmvgKuoXbMPAzWNtwUwtuMhkby8rc61Ue+Lg== + dependencies: + "@chakra-ui/react-use-event-listener" "2.1.0" + +"@chakra-ui/react-use-interval@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-interval/-/react-use-interval-2.1.0.tgz#2602c097b3ab74b6644812e4f5efaad621218d98" + integrity sha512-8iWj+I/+A0J08pgEXP1J1flcvhLBHkk0ln7ZvGIyXiEyM6XagOTJpwNhiu+Bmk59t3HoV/VyvyJTa+44sEApuw== + dependencies: + "@chakra-ui/react-use-callback-ref" "2.1.0" + +"@chakra-ui/react-use-latest-ref@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-latest-ref/-/react-use-latest-ref-2.1.0.tgz#d1e926130102566ece1d39f8a48ed125e0c8441a" + integrity sha512-m0kxuIYqoYB0va9Z2aW4xP/5b7BzlDeWwyXCH6QpT2PpW3/281L3hLCm1G0eOUcdVlayqrQqOeD6Mglq+5/xoQ== + +"@chakra-ui/react-use-merge-refs@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-merge-refs/-/react-use-merge-refs-2.1.0.tgz#c0c233527abdbea9a1348269c192012205762314" + integrity sha512-lERa6AWF1cjEtWSGjxWTaSMvneccnAVH4V4ozh8SYiN9fSPZLlSG3kNxfNzdFvMEhM7dnP60vynF7WjGdTgQbQ== + +"@chakra-ui/react-use-outside-click@2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-outside-click/-/react-use-outside-click-2.2.0.tgz#5570b772a255f6f02b69e967127397c1b5fa3d3c" + integrity sha512-PNX+s/JEaMneijbgAM4iFL+f3m1ga9+6QK0E5Yh4s8KZJQ/bLwZzdhMz8J/+mL+XEXQ5J0N8ivZN28B82N1kNw== + dependencies: + "@chakra-ui/react-use-callback-ref" "2.1.0" + +"@chakra-ui/react-use-pan-event@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-pan-event/-/react-use-pan-event-2.1.0.tgz#51c21bc3c0e9e73d1faef5ea4f7e3c3d071a2758" + integrity sha512-xmL2qOHiXqfcj0q7ZK5s9UjTh4Gz0/gL9jcWPA6GVf+A0Od5imEDa/Vz+533yQKWiNSm1QGrIj0eJAokc7O4fg== + dependencies: + "@chakra-ui/event-utils" "2.0.8" + "@chakra-ui/react-use-latest-ref" "2.1.0" + framesync "6.1.2" + +"@chakra-ui/react-use-previous@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-previous/-/react-use-previous-2.1.0.tgz#f6046e6f7398b1e8d7e66ff7ebb8d61c92a2d3d0" + integrity sha512-pjxGwue1hX8AFcmjZ2XfrQtIJgqbTF3Qs1Dy3d1krC77dEsiCUbQ9GzOBfDc8pfd60DrB5N2tg5JyHbypqh0Sg== + +"@chakra-ui/react-use-safe-layout-effect@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-safe-layout-effect/-/react-use-safe-layout-effect-2.1.0.tgz#3a95f0ba6fd5d2d0aa14919160f2c825f13e686f" + integrity sha512-Knbrrx/bcPwVS1TorFdzrK/zWA8yuU/eaXDkNj24IrKoRlQrSBFarcgAEzlCHtzuhufP3OULPkELTzz91b0tCw== + +"@chakra-ui/react-use-size@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-size/-/react-use-size-2.1.0.tgz#fcf3070eaade8b4a84af8ce5341c4d5ca0a42bec" + integrity sha512-tbLqrQhbnqOjzTaMlYytp7wY8BW1JpL78iG7Ru1DlV4EWGiAmXFGvtnEt9HftU0NJ0aJyjgymkxfVGI55/1Z4A== + dependencies: + "@zag-js/element-size" "0.10.5" + +"@chakra-ui/react-use-timeout@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-timeout/-/react-use-timeout-2.1.0.tgz#24415f54267d7241a3c1d36a5cae4d472834cef7" + integrity sha512-cFN0sobKMM9hXUhyCofx3/Mjlzah6ADaEl/AXl5Y+GawB5rgedgAcu2ErAgarEkwvsKdP6c68CKjQ9dmTQlJxQ== + dependencies: + "@chakra-ui/react-use-callback-ref" "2.1.0" + +"@chakra-ui/react-use-update-effect@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-use-update-effect/-/react-use-update-effect-2.1.0.tgz#5c57cd1f50c2a6a8119e0f57f69510723d69884b" + integrity sha512-ND4Q23tETaR2Qd3zwCKYOOS1dfssojPLJMLvUtUbW5M9uW1ejYWgGUobeAiOVfSplownG8QYMmHTP86p/v0lbA== + +"@chakra-ui/react-utils@2.0.12": + version "2.0.12" + resolved "https://registry.yarnpkg.com/@chakra-ui/react-utils/-/react-utils-2.0.12.tgz#d6b773b9a5b2e51dce61f51ac8a0e9a0f534f479" + integrity sha512-GbSfVb283+YA3kA8w8xWmzbjNWk14uhNpntnipHCftBibl0lxtQ9YqMFQLwuFOO0U2gYVocszqqDWX+XNKq9hw== + dependencies: + "@chakra-ui/utils" "2.0.15" + +"@chakra-ui/react@^2.8.2": + version "2.8.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/react/-/react-2.8.2.tgz#94d692fb35e4447748c5bfd73d8d38a746193c7d" + integrity sha512-Hn0moyxxyCDKuR9ywYpqgX8dvjqwu9ArwpIb9wHNYjnODETjLwazgNIliCVBRcJvysGRiV51U2/JtJVrpeCjUQ== + dependencies: + "@chakra-ui/accordion" "2.3.1" + "@chakra-ui/alert" "2.2.2" + "@chakra-ui/avatar" "2.3.0" + "@chakra-ui/breadcrumb" "2.2.0" + "@chakra-ui/button" "2.1.0" + "@chakra-ui/card" "2.2.0" + "@chakra-ui/checkbox" "2.3.2" + "@chakra-ui/close-button" "2.1.1" + "@chakra-ui/control-box" "2.1.0" + "@chakra-ui/counter" "2.1.0" + "@chakra-ui/css-reset" "2.3.0" + "@chakra-ui/editable" "3.1.0" + "@chakra-ui/focus-lock" "2.1.0" + "@chakra-ui/form-control" "2.2.0" + "@chakra-ui/hooks" "2.2.1" + "@chakra-ui/icon" "3.2.0" + "@chakra-ui/image" "2.1.0" + "@chakra-ui/input" "2.1.2" + "@chakra-ui/layout" "2.3.1" + "@chakra-ui/live-region" "2.1.0" + "@chakra-ui/media-query" "3.3.0" + "@chakra-ui/menu" "2.2.1" + "@chakra-ui/modal" "2.3.1" + "@chakra-ui/number-input" "2.1.2" + "@chakra-ui/pin-input" "2.1.0" + "@chakra-ui/popover" "2.2.1" + "@chakra-ui/popper" "3.1.0" + "@chakra-ui/portal" "2.1.0" + "@chakra-ui/progress" "2.2.0" + "@chakra-ui/provider" "2.4.2" + "@chakra-ui/radio" "2.1.2" + "@chakra-ui/react-env" "3.1.0" + "@chakra-ui/select" "2.1.2" + "@chakra-ui/skeleton" "2.1.0" + "@chakra-ui/skip-nav" "2.1.0" + "@chakra-ui/slider" "2.1.0" + "@chakra-ui/spinner" "2.1.0" + "@chakra-ui/stat" "2.1.1" + "@chakra-ui/stepper" "2.3.1" + "@chakra-ui/styled-system" "2.9.2" + "@chakra-ui/switch" "2.1.2" + "@chakra-ui/system" "2.6.2" + "@chakra-ui/table" "2.1.0" + "@chakra-ui/tabs" "3.0.0" + "@chakra-ui/tag" "3.1.1" + "@chakra-ui/textarea" "2.1.2" + "@chakra-ui/theme" "3.3.1" + "@chakra-ui/theme-utils" "2.0.21" + "@chakra-ui/toast" "7.0.2" + "@chakra-ui/tooltip" "2.3.1" + "@chakra-ui/transition" "2.1.0" + "@chakra-ui/utils" "2.0.15" + "@chakra-ui/visually-hidden" "2.2.0" + +"@chakra-ui/select@2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/select/-/select-2.1.2.tgz#f57d6cec0559373c32094fd4a5abd32855829264" + integrity sha512-ZwCb7LqKCVLJhru3DXvKXpZ7Pbu1TDZ7N0PdQ0Zj1oyVLJyrpef1u9HR5u0amOpqcH++Ugt0f5JSmirjNlctjA== + dependencies: + "@chakra-ui/form-control" "2.2.0" + "@chakra-ui/shared-utils" "2.0.5" + +"@chakra-ui/shared-utils@2.0.5": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@chakra-ui/shared-utils/-/shared-utils-2.0.5.tgz#cb2b49705e113853647f1822142619570feba081" + integrity sha512-4/Wur0FqDov7Y0nCXl7HbHzCg4aq86h+SXdoUeuCMD3dSj7dpsVnStLYhng1vxvlbUnLpdF4oz5Myt3i/a7N3Q== + +"@chakra-ui/skeleton@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/skeleton/-/skeleton-2.1.0.tgz#e3b25dd3afa330029d6d63be0f7cb8d44ad25531" + integrity sha512-JNRuMPpdZGd6zFVKjVQ0iusu3tXAdI29n4ZENYwAJEMf/fN0l12sVeirOxkJ7oEL0yOx2AgEYFSKdbcAgfUsAQ== + dependencies: + "@chakra-ui/media-query" "3.3.0" + "@chakra-ui/react-use-previous" "2.1.0" + "@chakra-ui/shared-utils" "2.0.5" + +"@chakra-ui/skip-nav@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/skip-nav/-/skip-nav-2.1.0.tgz#cac27eecc6eded1e83c8f0cf7445d727739cb325" + integrity sha512-Hk+FG+vadBSH0/7hwp9LJnLjkO0RPGnx7gBJWI4/SpoJf3e4tZlWYtwGj0toYY4aGKl93jVghuwGbDBEMoHDug== + +"@chakra-ui/slider@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/slider/-/slider-2.1.0.tgz#1caeed18761ba2a390777418cc9389ba25e39bce" + integrity sha512-lUOBcLMCnFZiA/s2NONXhELJh6sY5WtbRykPtclGfynqqOo47lwWJx+VP7xaeuhDOPcWSSecWc9Y1BfPOCz9cQ== + dependencies: + "@chakra-ui/number-utils" "2.0.7" + "@chakra-ui/react-context" "2.1.0" + "@chakra-ui/react-types" "2.0.7" + "@chakra-ui/react-use-callback-ref" "2.1.0" + "@chakra-ui/react-use-controllable-state" "2.1.0" + "@chakra-ui/react-use-latest-ref" "2.1.0" + "@chakra-ui/react-use-merge-refs" "2.1.0" + "@chakra-ui/react-use-pan-event" "2.1.0" + "@chakra-ui/react-use-size" "2.1.0" + "@chakra-ui/react-use-update-effect" "2.1.0" + +"@chakra-ui/spinner@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/spinner/-/spinner-2.1.0.tgz#aa24a3d692c6ac90714e0f0f82c76c12c78c8e60" + integrity sha512-hczbnoXt+MMv/d3gE+hjQhmkzLiKuoTo42YhUG7Bs9OSv2lg1fZHW1fGNRFP3wTi6OIbD044U1P9HK+AOgFH3g== + dependencies: + "@chakra-ui/shared-utils" "2.0.5" + +"@chakra-ui/stat@2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/stat/-/stat-2.1.1.tgz#a204ba915795345996a16c79794d84826d7dcc2d" + integrity sha512-LDn0d/LXQNbAn2KaR3F1zivsZCewY4Jsy1qShmfBMKwn6rI8yVlbvu6SiA3OpHS0FhxbsZxQI6HefEoIgtqY6Q== + dependencies: + "@chakra-ui/icon" "3.2.0" + "@chakra-ui/react-context" "2.1.0" + "@chakra-ui/shared-utils" "2.0.5" + +"@chakra-ui/stepper@2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/stepper/-/stepper-2.3.1.tgz#a0a0b73e147f202ab4e51cae55dad45489cc89fd" + integrity sha512-ky77lZbW60zYkSXhYz7kbItUpAQfEdycT0Q4bkHLxfqbuiGMf8OmgZOQkOB9uM4v0zPwy2HXhe0vq4Dd0xa55Q== + dependencies: + "@chakra-ui/icon" "3.2.0" + "@chakra-ui/react-context" "2.1.0" + "@chakra-ui/shared-utils" "2.0.5" + +"@chakra-ui/styled-system@2.9.2": + version "2.9.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/styled-system/-/styled-system-2.9.2.tgz#898ab63da560a4a014f7b05fa7767e8c76da6d2f" + integrity sha512-To/Z92oHpIE+4nk11uVMWqo2GGRS86coeMmjxtpnErmWRdLcp1WVCVRAvn+ZwpLiNR+reWFr2FFqJRsREuZdAg== + dependencies: + "@chakra-ui/shared-utils" "2.0.5" + csstype "^3.1.2" + lodash.mergewith "4.6.2" + +"@chakra-ui/switch@2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/switch/-/switch-2.1.2.tgz#f7c6878d8126bfac8fa3b939079f1017c21b7479" + integrity sha512-pgmi/CC+E1v31FcnQhsSGjJnOE2OcND4cKPyTE+0F+bmGm48Q/b5UmKD9Y+CmZsrt/7V3h8KNczowupfuBfIHA== + dependencies: + "@chakra-ui/checkbox" "2.3.2" + "@chakra-ui/shared-utils" "2.0.5" + +"@chakra-ui/system@2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/system/-/system-2.6.2.tgz#528ec955bd6a7f74da46470ee8225b1e2c80a78b" + integrity sha512-EGtpoEjLrUu4W1fHD+a62XR+hzC5YfsWm+6lO0Kybcga3yYEij9beegO0jZgug27V+Rf7vns95VPVP6mFd/DEQ== + dependencies: + "@chakra-ui/color-mode" "2.2.0" + "@chakra-ui/object-utils" "2.1.0" + "@chakra-ui/react-utils" "2.0.12" + "@chakra-ui/styled-system" "2.9.2" + "@chakra-ui/theme-utils" "2.0.21" + "@chakra-ui/utils" "2.0.15" + react-fast-compare "3.2.2" + +"@chakra-ui/table@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/table/-/table-2.1.0.tgz#20dce14c5e4d70dc7c6c0e87cce9b05907ff8c50" + integrity sha512-o5OrjoHCh5uCLdiUb0Oc0vq9rIAeHSIRScc2ExTC9Qg/uVZl2ygLrjToCaKfaaKl1oQexIeAcZDKvPG8tVkHyQ== + dependencies: + "@chakra-ui/react-context" "2.1.0" + "@chakra-ui/shared-utils" "2.0.5" + +"@chakra-ui/tabs@3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/tabs/-/tabs-3.0.0.tgz#854c06880af26158d7c72881c4b5e0453f6c485d" + integrity sha512-6Mlclp8L9lqXmsGWF5q5gmemZXOiOYuh0SGT/7PgJVNPz3LXREXlXg2an4MBUD8W5oTkduCX+3KTMCwRrVrDYw== + dependencies: + "@chakra-ui/clickable" "2.1.0" + "@chakra-ui/descendant" "3.1.0" + "@chakra-ui/lazy-utils" "2.0.5" + "@chakra-ui/react-children-utils" "2.0.6" + "@chakra-ui/react-context" "2.1.0" + "@chakra-ui/react-use-controllable-state" "2.1.0" + "@chakra-ui/react-use-merge-refs" "2.1.0" + "@chakra-ui/react-use-safe-layout-effect" "2.1.0" + "@chakra-ui/shared-utils" "2.0.5" + +"@chakra-ui/tag@3.1.1": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/tag/-/tag-3.1.1.tgz#d05284b6549a84d3a08e57eec57df3ad0eebd882" + integrity sha512-Bdel79Dv86Hnge2PKOU+t8H28nm/7Y3cKd4Kfk9k3lOpUh4+nkSGe58dhRzht59lEqa4N9waCgQiBdkydjvBXQ== + dependencies: + "@chakra-ui/icon" "3.2.0" + "@chakra-ui/react-context" "2.1.0" + +"@chakra-ui/textarea@2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/textarea/-/textarea-2.1.2.tgz#30f8af0e233cec2dee79d527450c6586e7122eff" + integrity sha512-ip7tvklVCZUb2fOHDb23qPy/Fr2mzDOGdkrpbNi50hDCiV4hFX02jdQJdi3ydHZUyVgZVBKPOJ+lT9i7sKA2wA== + dependencies: + "@chakra-ui/form-control" "2.2.0" + "@chakra-ui/shared-utils" "2.0.5" + +"@chakra-ui/theme-tools@2.1.2", "@chakra-ui/theme-tools@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/theme-tools/-/theme-tools-2.1.2.tgz#913be05879cd816c546993ccb9ff7615f85ff69f" + integrity sha512-Qdj8ajF9kxY4gLrq7gA+Azp8CtFHGO9tWMN2wfF9aQNgG9AuMhPrUzMq9AMQ0MXiYcgNq/FD3eegB43nHVmXVA== + dependencies: + "@chakra-ui/anatomy" "2.2.2" + "@chakra-ui/shared-utils" "2.0.5" + color2k "^2.0.2" + +"@chakra-ui/theme-utils@2.0.21": + version "2.0.21" + resolved "https://registry.yarnpkg.com/@chakra-ui/theme-utils/-/theme-utils-2.0.21.tgz#da7ed541a5241a8ed0384eb14f37fa9b998382cf" + integrity sha512-FjH5LJbT794r0+VSCXB3lT4aubI24bLLRWB+CuRKHijRvsOg717bRdUN/N1fEmEpFnRVrbewttWh/OQs0EWpWw== + dependencies: + "@chakra-ui/shared-utils" "2.0.5" + "@chakra-ui/styled-system" "2.9.2" + "@chakra-ui/theme" "3.3.1" + lodash.mergewith "4.6.2" + +"@chakra-ui/theme@3.3.1": + version "3.3.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/theme/-/theme-3.3.1.tgz#75c6cd0b5c70c0aa955068274ee4780f299bd8a4" + integrity sha512-Hft/VaT8GYnItGCBbgWd75ICrIrIFrR7lVOhV/dQnqtfGqsVDlrztbSErvMkoPKt0UgAkd9/o44jmZ6X4U2nZQ== + dependencies: + "@chakra-ui/anatomy" "2.2.2" + "@chakra-ui/shared-utils" "2.0.5" + "@chakra-ui/theme-tools" "2.1.2" + +"@chakra-ui/toast@7.0.2": + version "7.0.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/toast/-/toast-7.0.2.tgz#d1c396bbfced12e22b010899731fd8cc294d53ec" + integrity sha512-yvRP8jFKRs/YnkuE41BVTq9nB2v/KDRmje9u6dgDmE5+1bFt3bwjdf9gVbif4u5Ve7F7BGk5E093ARRVtvLvXA== + dependencies: + "@chakra-ui/alert" "2.2.2" + "@chakra-ui/close-button" "2.1.1" + "@chakra-ui/portal" "2.1.0" + "@chakra-ui/react-context" "2.1.0" + "@chakra-ui/react-use-timeout" "2.1.0" + "@chakra-ui/react-use-update-effect" "2.1.0" + "@chakra-ui/shared-utils" "2.0.5" + "@chakra-ui/styled-system" "2.9.2" + "@chakra-ui/theme" "3.3.1" + +"@chakra-ui/tooltip@2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/tooltip/-/tooltip-2.3.1.tgz#29fb8508a37bb6b20ab8dbb32bca6cd59b098796" + integrity sha512-Rh39GBn/bL4kZpuEMPPRwYNnccRCL+w9OqamWHIB3Qboxs6h8cOyXfIdGxjo72lvhu1QI/a4KFqkM3St+WfC0A== + dependencies: + "@chakra-ui/dom-utils" "2.1.0" + "@chakra-ui/popper" "3.1.0" + "@chakra-ui/portal" "2.1.0" + "@chakra-ui/react-types" "2.0.7" + "@chakra-ui/react-use-disclosure" "2.1.0" + "@chakra-ui/react-use-event-listener" "2.1.0" + "@chakra-ui/react-use-merge-refs" "2.1.0" + "@chakra-ui/shared-utils" "2.0.5" + +"@chakra-ui/transition@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/transition/-/transition-2.1.0.tgz#c8e95564f7ab356e78119780037bae5ad150c7b3" + integrity sha512-orkT6T/Dt+/+kVwJNy7zwJ+U2xAZ3EU7M3XCs45RBvUnZDr/u9vdmaM/3D/rOpmQJWgQBwKPJleUXrYWUagEDQ== + dependencies: + "@chakra-ui/shared-utils" "2.0.5" + +"@chakra-ui/utils@2.0.15": + version "2.0.15" + resolved "https://registry.yarnpkg.com/@chakra-ui/utils/-/utils-2.0.15.tgz#bd800b1cff30eb5a5e8c36fa039f49984b4c5e4a" + integrity sha512-El4+jL0WSaYYs+rJbuYFDbjmfCcfGDmRY95GO4xwzit6YAPZBLcR65rOEwLps+XWluZTy1xdMrusg/hW0c1aAA== + dependencies: + "@types/lodash.mergewith" "4.6.7" + css-box-model "1.2.1" + framesync "6.1.2" + lodash.mergewith "4.6.2" + +"@chakra-ui/visually-hidden@2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/visually-hidden/-/visually-hidden-2.2.0.tgz#9b0ecef8f01263ab808ba3bda7b36a0d91b4d5c1" + integrity sha512-KmKDg01SrQ7VbTD3+cPWf/UfpF5MSwm3v7MWi0n5t8HnnadT13MF0MJCDSXbBWnzLv1ZKJ6zlyAOeARWX+DpjQ== + +"@coinbase/wallet-sdk@4.0.3": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@coinbase/wallet-sdk/-/wallet-sdk-4.0.3.tgz#fd52dd4c168c35979c7b3294018a6f78d163a593" + integrity sha512-y/OGEjlvosikjfB+wk+4CVb9OxD1ob9cidEBLI5h8Hxaf/Qoob2XoVT1uvhtAzBx34KpGYSd+alKvh/GCRre4Q== + dependencies: + buffer "^6.0.3" + clsx "^1.2.1" + eventemitter3 "^5.0.1" + keccak "^3.0.3" + preact "^10.16.0" + sha.js "^2.4.11" + +"@emotion/babel-plugin@^11.11.0": + version "11.11.0" + resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz#c2d872b6a7767a9d176d007f5b31f7d504bb5d6c" + integrity sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ== + dependencies: + "@babel/helper-module-imports" "^7.16.7" + "@babel/runtime" "^7.18.3" + "@emotion/hash" "^0.9.1" + "@emotion/memoize" "^0.8.1" + "@emotion/serialize" "^1.1.2" + babel-plugin-macros "^3.1.0" + convert-source-map "^1.5.0" + escape-string-regexp "^4.0.0" + find-root "^1.1.0" + source-map "^0.5.7" + stylis "4.2.0" + +"@emotion/cache@^11.11.0": + version "11.11.0" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.11.0.tgz#809b33ee6b1cb1a625fef7a45bc568ccd9b8f3ff" + integrity sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ== + dependencies: + "@emotion/memoize" "^0.8.1" + "@emotion/sheet" "^1.2.2" + "@emotion/utils" "^1.2.1" + "@emotion/weak-memoize" "^0.3.1" + stylis "4.2.0" + +"@emotion/hash@^0.9.1": + version "0.9.1" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.1.tgz#4ffb0055f7ef676ebc3a5a91fb621393294e2f43" + integrity sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ== + +"@emotion/is-prop-valid@^1.2.1", "@emotion/is-prop-valid@^1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz#d4175076679c6a26faa92b03bb786f9e52612337" + integrity sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw== + dependencies: + "@emotion/memoize" "^0.8.1" + +"@emotion/memoize@^0.8.1": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17" + integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== + +"@emotion/react@11.11.4", "@emotion/react@^11.11.4": + version "11.11.4" + resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.11.4.tgz#3a829cac25c1f00e126408fab7f891f00ecc3c1d" + integrity sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw== + dependencies: + "@babel/runtime" "^7.18.3" + "@emotion/babel-plugin" "^11.11.0" + "@emotion/cache" "^11.11.0" + "@emotion/serialize" "^1.1.3" + "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1" + "@emotion/utils" "^1.2.1" + "@emotion/weak-memoize" "^0.3.1" + hoist-non-react-statics "^3.3.1" + +"@emotion/serialize@^1.1.2", "@emotion/serialize@^1.1.3", "@emotion/serialize@^1.1.4": + version "1.1.4" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.1.4.tgz#fc8f6d80c492cfa08801d544a05331d1cc7cd451" + integrity sha512-RIN04MBT8g+FnDwgvIUi8czvr1LU1alUMI05LekWB5DGyTm8cCBMCRpq3GqaiyEDRptEXOyXnvZ58GZYu4kBxQ== + dependencies: + "@emotion/hash" "^0.9.1" + "@emotion/memoize" "^0.8.1" + "@emotion/unitless" "^0.8.1" + "@emotion/utils" "^1.2.1" + csstype "^3.0.2" + +"@emotion/sheet@^1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.2.tgz#d58e788ee27267a14342303e1abb3d508b6d0fec" + integrity sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA== + +"@emotion/styled@11.11.0": + version "11.11.0" + resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.11.0.tgz#26b75e1b5a1b7a629d7c0a8b708fbf5a9cdce346" + integrity sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng== + dependencies: + "@babel/runtime" "^7.18.3" + "@emotion/babel-plugin" "^11.11.0" + "@emotion/is-prop-valid" "^1.2.1" + "@emotion/serialize" "^1.1.2" + "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1" + "@emotion/utils" "^1.2.1" + +"@emotion/styled@^11.11.5": + version "11.11.5" + resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.11.5.tgz#0c5c8febef9d86e8a926e663b2e5488705545dfb" + integrity sha512-/ZjjnaNKvuMPxcIiUkf/9SHoG4Q196DRl1w82hQ3WCsjo1IUR8uaGWrC6a87CrYAW0Kb/pK7hk8BnLgLRi9KoQ== + dependencies: + "@babel/runtime" "^7.18.3" + "@emotion/babel-plugin" "^11.11.0" + "@emotion/is-prop-valid" "^1.2.2" + "@emotion/serialize" "^1.1.4" + "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1" + "@emotion/utils" "^1.2.1" + +"@emotion/unitless@^0.8.1": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.1.tgz#182b5a4704ef8ad91bde93f7a860a88fd92c79a3" + integrity sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ== + +"@emotion/use-insertion-effect-with-fallbacks@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz#08de79f54eb3406f9daaf77c76e35313da963963" + integrity sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw== + +"@emotion/utils@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.2.1.tgz#bbab58465738d31ae4cb3dbb6fc00a5991f755e4" + integrity sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg== + +"@emotion/weak-memoize@^0.3.1": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz#d0fce5d07b0620caa282b5131c297bb60f9d87e6" + integrity sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww== + +"@floating-ui/core@^1.0.0": + version "1.6.2" + resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.6.2.tgz#d37f3e0ac1f1c756c7de45db13303a266226851a" + integrity sha512-+2XpQV9LLZeanU4ZevzRnGFg2neDeKHgFLjP6YLW+tly0IvrhqT4u8enLGjLH3qeh85g19xY5rsAusfwTdn5lg== + dependencies: + "@floating-ui/utils" "^0.2.0" + +"@floating-ui/dom@^1.0.0": + version "1.6.5" + resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.6.5.tgz#323f065c003f1d3ecf0ff16d2c2c4d38979f4cb9" + integrity sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw== + dependencies: + "@floating-ui/core" "^1.0.0" + "@floating-ui/utils" "^0.2.0" + +"@floating-ui/react-dom@^2.0.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.1.0.tgz#4f0e5e9920137874b2405f7d6c862873baf4beff" + integrity sha512-lNzj5EQmEKn5FFKc04+zasr09h/uX8RtJRNj5gUXsSQIXHVWTVh+hVAg1vOMCexkX8EgvemMvIFpQfkosnVNyA== + dependencies: + "@floating-ui/dom" "^1.0.0" + +"@floating-ui/utils@^0.2.0": + version "0.2.2" + resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.2.tgz#d8bae93ac8b815b2bd7a98078cf91e2724ef11e5" + integrity sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw== + +"@google/model-viewer@2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@google/model-viewer/-/model-viewer-2.1.1.tgz#37c51143740c07c592d5cccbc8cfaa8be8b7ef82" + integrity sha512-5umyLoD5vMxlSVQwtmUXeNCNWs9dzmWykGm1qrHe/pCYrj/1lyJIgJRw+IxoMNodGqtcHEtfDhdNjRDM9yo/TA== + dependencies: + lit "^2.2.3" + three "^0.146.0" + +"@lit-labs/ssr-dom-shim@^1.0.0", "@lit-labs/ssr-dom-shim@^1.1.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.2.0.tgz#353ce4a76c83fadec272ea5674ede767650762fd" + integrity sha512-yWJKmpGE6lUURKAaIltoPIE/wrbY3TEkqQt+X0m+7fQNnAv0keydnYvbiJFP1PnMhizmIWRWOG5KLhYyc/xl+g== + +"@lit/reactive-element@^1.3.0", "@lit/reactive-element@^1.6.0": + version "1.6.3" + resolved "https://registry.yarnpkg.com/@lit/reactive-element/-/reactive-element-1.6.3.tgz#25b4eece2592132845d303e091bad9b04cdcfe03" + integrity sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ== + dependencies: + "@lit-labs/ssr-dom-shim" "^1.0.0" + +"@motionone/animation@^10.15.1", "@motionone/animation@^10.17.0": + version "10.17.0" + resolved "https://registry.yarnpkg.com/@motionone/animation/-/animation-10.17.0.tgz#7633c6f684b5fee2b61c405881b8c24662c68fca" + integrity sha512-ANfIN9+iq1kGgsZxs+Nz96uiNcPLGTXwfNo2Xz/fcJXniPYpaz/Uyrfa+7I5BPLxCP82sh7quVDudf1GABqHbg== + dependencies: + "@motionone/easing" "^10.17.0" + "@motionone/types" "^10.17.0" + "@motionone/utils" "^10.17.0" + tslib "^2.3.1" + +"@motionone/dom@^10.16.2", "@motionone/dom@^10.16.4": + version "10.17.0" + resolved "https://registry.yarnpkg.com/@motionone/dom/-/dom-10.17.0.tgz#519dd78aab0750a94614c69a82da5290cd617383" + integrity sha512-cMm33swRlCX/qOPHWGbIlCl0K9Uwi6X5RiL8Ma6OrlJ/TP7Q+Np5GE4xcZkFptysFjMTi4zcZzpnNQGQ5D6M0Q== + dependencies: + "@motionone/animation" "^10.17.0" + "@motionone/generators" "^10.17.0" + "@motionone/types" "^10.17.0" + "@motionone/utils" "^10.17.0" + hey-listen "^1.0.8" + tslib "^2.3.1" + +"@motionone/easing@^10.17.0": + version "10.17.0" + resolved "https://registry.yarnpkg.com/@motionone/easing/-/easing-10.17.0.tgz#d66cecf7e3ee30104ad00389fb3f0b2282d81aa9" + integrity sha512-Bxe2wSuLu/qxqW4rBFS5m9tMLOw+QBh8v5A7Z5k4Ul4sTj5jAOfZG5R0bn5ywmk+Fs92Ij1feZ5pmC4TeXA8Tg== + dependencies: + "@motionone/utils" "^10.17.0" + tslib "^2.3.1" + +"@motionone/generators@^10.17.0": + version "10.17.0" + resolved "https://registry.yarnpkg.com/@motionone/generators/-/generators-10.17.0.tgz#878d292539c41434c13310d5f863a87a94e6e689" + integrity sha512-T6Uo5bDHrZWhIfxG/2Aut7qyWQyJIWehk6OB4qNvr/jwA/SRmixwbd7SOrxZi1z5rH3LIeFFBKK1xHnSbGPZSQ== + dependencies: + "@motionone/types" "^10.17.0" + "@motionone/utils" "^10.17.0" + tslib "^2.3.1" + +"@motionone/svelte@^10.16.2": + version "10.16.4" + resolved "https://registry.yarnpkg.com/@motionone/svelte/-/svelte-10.16.4.tgz#5daf117cf5b2576fc6dd487c5e0500938a742470" + integrity sha512-zRVqk20lD1xqe+yEDZhMYgftsuHc25+9JSo+r0a0OWUJFocjSV9D/+UGhX4xgJsuwB9acPzXLr20w40VnY2PQA== + dependencies: + "@motionone/dom" "^10.16.4" + tslib "^2.3.1" + +"@motionone/types@^10.15.1", "@motionone/types@^10.17.0": + version "10.17.0" + resolved "https://registry.yarnpkg.com/@motionone/types/-/types-10.17.0.tgz#179571ce98851bac78e19a1c3974767227f08ba3" + integrity sha512-EgeeqOZVdRUTEHq95Z3t8Rsirc7chN5xFAPMYFobx8TPubkEfRSm5xihmMUkbaR2ErKJTUw3347QDPTHIW12IA== + +"@motionone/utils@^10.15.1", "@motionone/utils@^10.17.0": + version "10.17.0" + resolved "https://registry.yarnpkg.com/@motionone/utils/-/utils-10.17.0.tgz#cc0ba8acdc6848ff48d8c1f2d0d3e7602f4f942e" + integrity sha512-bGwrki4896apMWIj9yp5rAS2m0xyhxblg6gTB/leWDPt+pb410W8lYWsxyurX+DH+gO1zsQsfx2su/c1/LtTpg== + dependencies: + "@motionone/types" "^10.17.0" + hey-listen "^1.0.8" + tslib "^2.3.1" + +"@motionone/vue@^10.16.2": + version "10.16.4" + resolved "https://registry.yarnpkg.com/@motionone/vue/-/vue-10.16.4.tgz#07d09e3aa5115ca0bcc0076cb9e5322775277c09" + integrity sha512-z10PF9JV6SbjFq+/rYabM+8CVlMokgl8RFGvieSGNTmrkQanfHn+15XBrhG3BgUfvmTeSeyShfOHpG0i9zEdcg== + dependencies: + "@motionone/dom" "^10.16.4" + tslib "^2.3.1" + +"@next/env@14.2.4": + version "14.2.4" + resolved "https://registry.yarnpkg.com/@next/env/-/env-14.2.4.tgz#5546813dc4f809884a37d257b254a5ce1b0248d7" + integrity sha512-3EtkY5VDkuV2+lNmKlbkibIJxcO4oIHEhBWne6PaAp+76J9KoSsGvNikp6ivzAT8dhhBMYrm6op2pS1ApG0Hzg== + +"@next/swc-darwin-arm64@14.2.4": + version "14.2.4" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.4.tgz#da9f04c34a3d5f0b8401ed745768420e4a604036" + integrity sha512-AH3mO4JlFUqsYcwFUHb1wAKlebHU/Hv2u2kb1pAuRanDZ7pD/A/KPD98RHZmwsJpdHQwfEc/06mgpSzwrJYnNg== + +"@next/swc-darwin-x64@14.2.4": + version "14.2.4" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.4.tgz#46dedb29ec5503bf171a72a3ecb8aac6e738e9d6" + integrity sha512-QVadW73sWIO6E2VroyUjuAxhWLZWEpiFqHdZdoQ/AMpN9YWGuHV8t2rChr0ahy+irKX5mlDU7OY68k3n4tAZTg== + +"@next/swc-linux-arm64-gnu@14.2.4": + version "14.2.4" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.4.tgz#c9697ab9eb422bd1d7ffd0eb0779cc2aefa9d4a1" + integrity sha512-KT6GUrb3oyCfcfJ+WliXuJnD6pCpZiosx2X3k66HLR+DMoilRb76LpWPGb4tZprawTtcnyrv75ElD6VncVamUQ== + +"@next/swc-linux-arm64-musl@14.2.4": + version "14.2.4" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.4.tgz#cbbceb2008571c743b5a310a488d2e166d200a75" + integrity sha512-Alv8/XGSs/ytwQcbCHwze1HmiIkIVhDHYLjczSVrf0Wi2MvKn/blt7+S6FJitj3yTlMwMxII1gIJ9WepI4aZ/A== + +"@next/swc-linux-x64-gnu@14.2.4": + version "14.2.4" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.4.tgz#d79184223f857bacffb92f643cb2943a43632568" + integrity sha512-ze0ShQDBPCqxLImzw4sCdfnB3lRmN3qGMB2GWDRlq5Wqy4G36pxtNOo2usu/Nm9+V2Rh/QQnrRc2l94kYFXO6Q== + +"@next/swc-linux-x64-musl@14.2.4": + version "14.2.4" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.4.tgz#6b6c3e5ac02ca5e63394d280ec8ee607491902df" + integrity sha512-8dwC0UJoc6fC7PX70csdaznVMNr16hQrTDAMPvLPloazlcaWfdPogq+UpZX6Drqb1OBlwowz8iG7WR0Tzk/diQ== + +"@next/swc-win32-arm64-msvc@14.2.4": + version "14.2.4" + resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.4.tgz#dbad3906e870dba84c5883d9d4c4838472e0697f" + integrity sha512-jxyg67NbEWkDyvM+O8UDbPAyYRZqGLQDTPwvrBBeOSyVWW/jFQkQKQ70JDqDSYg1ZDdl+E3nkbFbq8xM8E9x8A== + +"@next/swc-win32-ia32-msvc@14.2.4": + version "14.2.4" + resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.4.tgz#6074529b91ba49132922ce89a2e16d25d2ec235d" + integrity sha512-twrmN753hjXRdcrZmZttb/m5xaCBFa48Dt3FbeEItpJArxriYDunWxJn+QFXdJ3hPkm4u7CKxncVvnmgQMY1ag== + +"@next/swc-win32-x64-msvc@14.2.4": + version "14.2.4" + resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.4.tgz#e65a1c6539a671f97bb86d5183d6e3a1733c29c7" + integrity sha512-tkLrjBzqFTP8DVrAAQmZelEahfR9OxWpFR++vAI9FBhCiIxtwHwBHC23SBHCTURBtwB4kc/x44imVOnkKGNVGg== + +"@noble/curves@1.2.0", "@noble/curves@~1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.2.0.tgz#92d7e12e4e49b23105a2555c6984d41733d65c35" + integrity sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw== + dependencies: + "@noble/hashes" "1.3.2" + +"@noble/curves@1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.4.0.tgz#f05771ef64da724997f69ee1261b2417a49522d6" + integrity sha512-p+4cb332SFCrReJkCYe8Xzm0OWi4Jji5jVdIZRL/PmacmDkFNw6MrrV+gGpiPxLHbV+zKFRywUWbaseT+tZRXg== + dependencies: + "@noble/hashes" "1.4.0" + +"@noble/hashes@1.3.2": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39" + integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== + +"@noble/hashes@1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.4.0.tgz#45814aa329f30e4fe0ba49426f49dfccdd066426" + integrity sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg== + +"@noble/hashes@~1.3.0", "@noble/hashes@~1.3.2": + version "1.3.3" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.3.tgz#39908da56a4adc270147bb07968bf3b16cfe1699" + integrity sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA== + +"@parcel/watcher-android-arm64@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.1.tgz#c2c19a3c442313ff007d2d7a9c2c1dd3e1c9ca84" + integrity sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg== + +"@parcel/watcher-darwin-arm64@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.1.tgz#c817c7a3b4f3a79c1535bfe54a1c2818d9ffdc34" + integrity sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA== + +"@parcel/watcher-darwin-x64@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.1.tgz#1a3f69d9323eae4f1c61a5f480a59c478d2cb020" + integrity sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg== + +"@parcel/watcher-freebsd-x64@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.1.tgz#0d67fef1609f90ba6a8a662bc76a55fc93706fc8" + integrity sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w== + +"@parcel/watcher-linux-arm-glibc@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.1.tgz#ce5b340da5829b8e546bd00f752ae5292e1c702d" + integrity sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA== + +"@parcel/watcher-linux-arm64-glibc@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.1.tgz#6d7c00dde6d40608f9554e73998db11b2b1ff7c7" + integrity sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA== + +"@parcel/watcher-linux-arm64-musl@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.1.tgz#bd39bc71015f08a4a31a47cd89c236b9d6a7f635" + integrity sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA== + +"@parcel/watcher-linux-x64-glibc@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.1.tgz#0ce29966b082fb6cdd3de44f2f74057eef2c9e39" + integrity sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg== + +"@parcel/watcher-linux-x64-musl@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.1.tgz#d2ebbf60e407170bb647cd6e447f4f2bab19ad16" + integrity sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ== + +"@parcel/watcher-wasm@^2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-wasm/-/watcher-wasm-2.4.1.tgz#c4353e4fdb96ee14389856f7f6f6d21b7dcef9e1" + integrity sha512-/ZR0RxqxU/xxDGzbzosMjh4W6NdYFMqq2nvo2b8SLi7rsl/4jkL8S5stIikorNkdR50oVDvqb/3JT05WM+CRRA== + dependencies: + is-glob "^4.0.3" + micromatch "^4.0.5" + napi-wasm "^1.1.0" + +"@parcel/watcher-win32-arm64@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.1.tgz#eb4deef37e80f0b5e2f215dd6d7a6d40a85f8adc" + integrity sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg== + +"@parcel/watcher-win32-ia32@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.1.tgz#94fbd4b497be39fd5c8c71ba05436927842c9df7" + integrity sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw== + +"@parcel/watcher-win32-x64@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.1.tgz#4bf920912f67cae5f2d264f58df81abfea68dadf" + integrity sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A== + +"@parcel/watcher@^2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.4.1.tgz#a50275151a1bb110879c6123589dba90c19f1bf8" + integrity sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA== + dependencies: + detect-libc "^1.0.3" + is-glob "^4.0.3" + micromatch "^4.0.5" + node-addon-api "^7.0.0" + optionalDependencies: + "@parcel/watcher-android-arm64" "2.4.1" + "@parcel/watcher-darwin-arm64" "2.4.1" + "@parcel/watcher-darwin-x64" "2.4.1" + "@parcel/watcher-freebsd-x64" "2.4.1" + "@parcel/watcher-linux-arm-glibc" "2.4.1" + "@parcel/watcher-linux-arm64-glibc" "2.4.1" + "@parcel/watcher-linux-arm64-musl" "2.4.1" + "@parcel/watcher-linux-x64-glibc" "2.4.1" + "@parcel/watcher-linux-x64-musl" "2.4.1" + "@parcel/watcher-win32-arm64" "2.4.1" + "@parcel/watcher-win32-ia32" "2.4.1" + "@parcel/watcher-win32-x64" "2.4.1" + +"@passwordless-id/webauthn@^1.6.1": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@passwordless-id/webauthn/-/webauthn-1.6.1.tgz#2cda072423282fc213888f6768ae7829d549e871" + integrity sha512-YQ1ZHU+exsqF1xAdQ1eBEQ3NZrMT4PSHKsaMSA5Oq38esursuH1hhOT2VHDfT/gimlipUfZr2VEs/cfriswT8w== + +"@popperjs/core@^2.9.3": + version "2.11.8" + resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" + integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== + +"@radix-ui/primitive@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/primitive/-/primitive-1.0.1.tgz#e46f9958b35d10e9f6dc71c497305c22e3e55dbd" + integrity sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw== + dependencies: + "@babel/runtime" "^7.13.10" + +"@radix-ui/react-arrow@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-arrow/-/react-arrow-1.0.3.tgz#c24f7968996ed934d57fe6cde5d6ec7266e1d25d" + integrity sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-primitive" "1.0.3" + +"@radix-ui/react-compose-refs@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz#7ed868b66946aa6030e580b1ffca386dd4d21989" + integrity sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw== + dependencies: + "@babel/runtime" "^7.13.10" + +"@radix-ui/react-context@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-context/-/react-context-1.0.1.tgz#fe46e67c96b240de59187dcb7a1a50ce3e2ec00c" + integrity sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg== + dependencies: + "@babel/runtime" "^7.13.10" + +"@radix-ui/react-dialog@1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@radix-ui/react-dialog/-/react-dialog-1.0.5.tgz#71657b1b116de6c7a0b03242d7d43e01062c7300" + integrity sha512-GjWJX/AUpB703eEBanuBnIWdIXg6NvJFCXcNlSZk4xdszCdhrJgBoUd1cGk67vFO+WdA2pfI/plOpqz/5GUP6Q== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/primitive" "1.0.1" + "@radix-ui/react-compose-refs" "1.0.1" + "@radix-ui/react-context" "1.0.1" + "@radix-ui/react-dismissable-layer" "1.0.5" + "@radix-ui/react-focus-guards" "1.0.1" + "@radix-ui/react-focus-scope" "1.0.4" + "@radix-ui/react-id" "1.0.1" + "@radix-ui/react-portal" "1.0.4" + "@radix-ui/react-presence" "1.0.1" + "@radix-ui/react-primitive" "1.0.3" + "@radix-ui/react-slot" "1.0.2" + "@radix-ui/react-use-controllable-state" "1.0.1" + aria-hidden "^1.1.1" + react-remove-scroll "2.5.5" + +"@radix-ui/react-dismissable-layer@1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.5.tgz#3f98425b82b9068dfbab5db5fff3df6ebf48b9d4" + integrity sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/primitive" "1.0.1" + "@radix-ui/react-compose-refs" "1.0.1" + "@radix-ui/react-primitive" "1.0.3" + "@radix-ui/react-use-callback-ref" "1.0.1" + "@radix-ui/react-use-escape-keydown" "1.0.3" + +"@radix-ui/react-focus-guards@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.1.tgz#1ea7e32092216b946397866199d892f71f7f98ad" + integrity sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA== + dependencies: + "@babel/runtime" "^7.13.10" + +"@radix-ui/react-focus-scope@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.4.tgz#2ac45fce8c5bb33eb18419cdc1905ef4f1906525" + integrity sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-compose-refs" "1.0.1" + "@radix-ui/react-primitive" "1.0.3" + "@radix-ui/react-use-callback-ref" "1.0.1" + +"@radix-ui/react-icons@1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@radix-ui/react-icons/-/react-icons-1.3.0.tgz#c61af8f323d87682c5ca76b856d60c2312dbcb69" + integrity sha512-jQxj/0LKgp+j9BiTXz3O3sgs26RNet2iLWmsPyRz2SIcR4q/4SbazXfnYwbAr+vLYKSfc7qxzyGQA1HLlYiuNw== + +"@radix-ui/react-id@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-id/-/react-id-1.0.1.tgz#73cdc181f650e4df24f0b6a5b7aa426b912c88c0" + integrity sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-use-layout-effect" "1.0.1" + +"@radix-ui/react-popper@1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-popper/-/react-popper-1.1.3.tgz#24c03f527e7ac348fabf18c89795d85d21b00b42" + integrity sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w== + dependencies: + "@babel/runtime" "^7.13.10" + "@floating-ui/react-dom" "^2.0.0" + "@radix-ui/react-arrow" "1.0.3" + "@radix-ui/react-compose-refs" "1.0.1" + "@radix-ui/react-context" "1.0.1" + "@radix-ui/react-primitive" "1.0.3" + "@radix-ui/react-use-callback-ref" "1.0.1" + "@radix-ui/react-use-layout-effect" "1.0.1" + "@radix-ui/react-use-rect" "1.0.1" + "@radix-ui/react-use-size" "1.0.1" + "@radix-ui/rect" "1.0.1" + +"@radix-ui/react-portal@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@radix-ui/react-portal/-/react-portal-1.0.4.tgz#df4bfd353db3b1e84e639e9c63a5f2565fb00e15" + integrity sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-primitive" "1.0.3" + +"@radix-ui/react-presence@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-presence/-/react-presence-1.0.1.tgz#491990ba913b8e2a5db1b06b203cb24b5cdef9ba" + integrity sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-compose-refs" "1.0.1" + "@radix-ui/react-use-layout-effect" "1.0.1" + +"@radix-ui/react-primitive@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz#d49ea0f3f0b2fe3ab1cb5667eb03e8b843b914d0" + integrity sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-slot" "1.0.2" + +"@radix-ui/react-slot@1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@radix-ui/react-slot/-/react-slot-1.0.2.tgz#a9ff4423eade67f501ffb32ec22064bc9d3099ab" + integrity sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-compose-refs" "1.0.1" + +"@radix-ui/react-tooltip@1.0.7": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@radix-ui/react-tooltip/-/react-tooltip-1.0.7.tgz#8f55070f852e7e7450cc1d9210b793d2e5a7686e" + integrity sha512-lPh5iKNFVQ/jav/j6ZrWq3blfDJ0OH9R6FlNUHPMqdLuQ9vwDgFsRxvl8b7Asuy5c8xmoojHUxKHQSOAvMHxyw== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/primitive" "1.0.1" + "@radix-ui/react-compose-refs" "1.0.1" + "@radix-ui/react-context" "1.0.1" + "@radix-ui/react-dismissable-layer" "1.0.5" + "@radix-ui/react-id" "1.0.1" + "@radix-ui/react-popper" "1.1.3" + "@radix-ui/react-portal" "1.0.4" + "@radix-ui/react-presence" "1.0.1" + "@radix-ui/react-primitive" "1.0.3" + "@radix-ui/react-slot" "1.0.2" + "@radix-ui/react-use-controllable-state" "1.0.1" + "@radix-ui/react-visually-hidden" "1.0.3" + +"@radix-ui/react-use-callback-ref@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz#f4bb1f27f2023c984e6534317ebc411fc181107a" + integrity sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ== + dependencies: + "@babel/runtime" "^7.13.10" + +"@radix-ui/react-use-controllable-state@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz#ecd2ced34e6330caf89a82854aa2f77e07440286" + integrity sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-use-callback-ref" "1.0.1" + +"@radix-ui/react-use-escape-keydown@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.3.tgz#217b840c250541609c66f67ed7bab2b733620755" + integrity sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-use-callback-ref" "1.0.1" + +"@radix-ui/react-use-layout-effect@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz#be8c7bc809b0c8934acf6657b577daf948a75399" + integrity sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ== + dependencies: + "@babel/runtime" "^7.13.10" + +"@radix-ui/react-use-rect@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-rect/-/react-use-rect-1.0.1.tgz#fde50b3bb9fd08f4a1cd204572e5943c244fcec2" + integrity sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/rect" "1.0.1" + +"@radix-ui/react-use-size@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-size/-/react-use-size-1.0.1.tgz#1c5f5fea940a7d7ade77694bb98116fb49f870b2" + integrity sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-use-layout-effect" "1.0.1" + +"@radix-ui/react-visually-hidden@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.0.3.tgz#51aed9dd0fe5abcad7dee2a234ad36106a6984ac" + integrity sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-primitive" "1.0.3" + +"@radix-ui/rect@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/rect/-/rect-1.0.1.tgz#bf8e7d947671996da2e30f4904ece343bc4a883f" + integrity sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ== + dependencies: + "@babel/runtime" "^7.13.10" + +"@scure/base@~1.1.0", "@scure/base@~1.1.2": + version "1.1.6" + resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.6.tgz#8ce5d304b436e4c84f896e0550c83e4d88cb917d" + integrity sha512-ok9AWwhcgYuGG3Zfhyqg+zwl+Wn5uE+dwC0NV/2qQkx4dABbb/bx96vWu8NSj+BNjjSjno+JRYRjle1jV08k3g== + +"@scure/bip32@1.3.2": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.3.2.tgz#90e78c027d5e30f0b22c1f8d50ff12f3fb7559f8" + integrity sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA== + dependencies: + "@noble/curves" "~1.2.0" + "@noble/hashes" "~1.3.2" + "@scure/base" "~1.1.2" + +"@scure/bip39@1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.2.1.tgz#5cee8978656b272a917b7871c981e0541ad6ac2a" + integrity sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg== + dependencies: + "@noble/hashes" "~1.3.0" + "@scure/base" "~1.1.0" + +"@stablelib/aead@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/aead/-/aead-1.0.1.tgz#c4b1106df9c23d1b867eb9b276d8f42d5fc4c0c3" + integrity sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg== + +"@stablelib/binary@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/binary/-/binary-1.0.1.tgz#c5900b94368baf00f811da5bdb1610963dfddf7f" + integrity sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q== + dependencies: + "@stablelib/int" "^1.0.1" + +"@stablelib/bytes@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/bytes/-/bytes-1.0.1.tgz#0f4aa7b03df3080b878c7dea927d01f42d6a20d8" + integrity sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ== + +"@stablelib/chacha20poly1305@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/chacha20poly1305/-/chacha20poly1305-1.0.1.tgz#de6b18e283a9cb9b7530d8767f99cde1fec4c2ee" + integrity sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA== + dependencies: + "@stablelib/aead" "^1.0.1" + "@stablelib/binary" "^1.0.1" + "@stablelib/chacha" "^1.0.1" + "@stablelib/constant-time" "^1.0.1" + "@stablelib/poly1305" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/chacha@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/chacha/-/chacha-1.0.1.tgz#deccfac95083e30600c3f92803a3a1a4fa761371" + integrity sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg== + dependencies: + "@stablelib/binary" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/constant-time@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/constant-time/-/constant-time-1.0.1.tgz#bde361465e1cf7b9753061b77e376b0ca4c77e35" + integrity sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg== + +"@stablelib/ed25519@^1.0.2": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@stablelib/ed25519/-/ed25519-1.0.3.tgz#f8fdeb6f77114897c887bb6a3138d659d3f35996" + integrity sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg== + dependencies: + "@stablelib/random" "^1.0.2" + "@stablelib/sha512" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/hash@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/hash/-/hash-1.0.1.tgz#3c944403ff2239fad8ebb9015e33e98444058bc5" + integrity sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg== + +"@stablelib/hkdf@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/hkdf/-/hkdf-1.0.1.tgz#b4efd47fd56fb43c6a13e8775a54b354f028d98d" + integrity sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g== + dependencies: + "@stablelib/hash" "^1.0.1" + "@stablelib/hmac" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/hmac@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/hmac/-/hmac-1.0.1.tgz#3d4c1b8cf194cb05d28155f0eed8a299620a07ec" + integrity sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA== + dependencies: + "@stablelib/constant-time" "^1.0.1" + "@stablelib/hash" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/int@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/int/-/int-1.0.1.tgz#75928cc25d59d73d75ae361f02128588c15fd008" + integrity sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w== + +"@stablelib/keyagreement@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/keyagreement/-/keyagreement-1.0.1.tgz#4612efb0a30989deb437cd352cee637ca41fc50f" + integrity sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg== + dependencies: + "@stablelib/bytes" "^1.0.1" + +"@stablelib/poly1305@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/poly1305/-/poly1305-1.0.1.tgz#93bfb836c9384685d33d70080718deae4ddef1dc" + integrity sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA== + dependencies: + "@stablelib/constant-time" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/random@1.0.2", "@stablelib/random@^1.0.1", "@stablelib/random@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@stablelib/random/-/random-1.0.2.tgz#2dece393636489bf7e19c51229dd7900eddf742c" + integrity sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w== + dependencies: + "@stablelib/binary" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/sha256@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/sha256/-/sha256-1.0.1.tgz#77b6675b67f9b0ea081d2e31bda4866297a3ae4f" + integrity sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ== + dependencies: + "@stablelib/binary" "^1.0.1" + "@stablelib/hash" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/sha512@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/sha512/-/sha512-1.0.1.tgz#6da700c901c2c0ceacbd3ae122a38ac57c72145f" + integrity sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw== + dependencies: + "@stablelib/binary" "^1.0.1" + "@stablelib/hash" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/wipe@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/wipe/-/wipe-1.0.1.tgz#d21401f1d59ade56a62e139462a97f104ed19a36" + integrity sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg== + +"@stablelib/x25519@1.0.3", "@stablelib/x25519@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@stablelib/x25519/-/x25519-1.0.3.tgz#13c8174f774ea9f3e5e42213cbf9fc68a3c7b7fd" + integrity sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw== + dependencies: + "@stablelib/keyagreement" "^1.0.1" + "@stablelib/random" "^1.0.2" + "@stablelib/wipe" "^1.0.1" + +"@swc/counter@^0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@swc/counter/-/counter-0.1.3.tgz#cc7463bd02949611c6329596fccd2b0ec782b0e9" + integrity sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ== + +"@swc/helpers@0.5.5": + version "0.5.5" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.5.tgz#12689df71bfc9b21c4f4ca00ae55f2f16c8b77c0" + integrity sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A== + dependencies: + "@swc/counter" "^0.1.3" + tslib "^2.4.0" + +"@tanstack/query-core@5.29.0": + version "5.29.0" + resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-5.29.0.tgz#d0b3d12c07d5a47f42ab0c1ed4f317106f3d4b20" + integrity sha512-WgPTRs58hm9CMzEr5jpISe8HXa3qKQ8CxewdYZeVnA54JrPY9B1CZiwsCoLpLkf0dGRZq+LcX5OiJb0bEsOFww== + +"@tanstack/query-core@5.44.0": + version "5.44.0" + resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-5.44.0.tgz#f7d5e04eaca0ed0c8ff52b36d0a6df142b3a78fb" + integrity sha512-Fa1J7iEEyJnjXG1N4+Fz4OXNH/INve3XSn0Htms3X4wgRsXHxMDwqBE2XtDCts7swkwSIs4izEtaFqWVFr/eLQ== + +"@tanstack/react-query@5.29.2": + version "5.29.2" + resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-5.29.2.tgz#c55ffbfaf9d8cf34212428db2b6c61ca6b545188" + integrity sha512-nyuWILR4u7H5moLGSiifLh8kIqQDLNOHGuSz0rcp+J75fNc8aQLyr5+I2JCHU3n+nJrTTW1ssgAD8HiKD7IFBQ== + dependencies: + "@tanstack/query-core" "5.29.0" + +"@tanstack/react-query@^5.44.0": + version "5.44.0" + resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-5.44.0.tgz#8a93738e17d511f271708d344b93a830d1131625" + integrity sha512-zmaD6cw8P2cBOfRHhqRmwvDsAi56gqbiwG2CDR6oQOCXSDOvRagvpP6RUStn+RrfcVUrNjKsxBmrgG6Za8p5zg== + dependencies: + "@tanstack/query-core" "5.44.0" + +"@types/lodash.mergewith@4.6.7": + version "4.6.7" + resolved "https://registry.yarnpkg.com/@types/lodash.mergewith/-/lodash.mergewith-4.6.7.tgz#eaa65aa5872abdd282f271eae447b115b2757212" + integrity sha512-3m+lkO5CLRRYU0fhGRp7zbsGi6+BZj0uTVSwvcKU+nSlhjA9/QRNfuSGnD2mX6hQA7ZbmcCkzk5h4ZYGOtk14A== + dependencies: + "@types/lodash" "*" + +"@types/lodash@*": + version "4.17.4" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.4.tgz#0303b64958ee070059e3a7184048a55159fe20b7" + integrity sha512-wYCP26ZLxaT3R39kiN2+HcJ4kTd3U1waI/cY7ivWYqFP6pW3ZNpvi6Wd6PHZx7T/t8z0vlkXMg3QYLa7DZ/IJQ== + +"@types/node@^20": + version "20.12.13" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.13.tgz#90ed3b8a4e52dd3c5dc5a42dde5b85b74ad8ed88" + integrity sha512-gBGeanV41c1L171rR7wjbMiEpEI/l5XFQdLLfhr/REwpgDy/4U8y89+i8kRiLzDyZdOkXh+cRaTetUnCYutoXA== + dependencies: + undici-types "~5.26.4" + +"@types/parse-json@^4.0.0": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" + integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== + +"@types/prop-types@*": + version "15.7.12" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.12.tgz#12bb1e2be27293c1406acb6af1c3f3a1481d98c6" + integrity sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q== + +"@types/react-dom@^18": + version "18.3.0" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.3.0.tgz#0cbc818755d87066ab6ca74fbedb2547d74a82b0" + integrity sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg== + dependencies: + "@types/react" "*" + +"@types/react@*", "@types/react@^18": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.3.tgz#9679020895318b0915d7a3ab004d92d33375c45f" + integrity sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw== + dependencies: + "@types/prop-types" "*" + csstype "^3.0.2" + +"@types/trusted-types@^2.0.2": + version "2.0.7" + resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.7.tgz#baccb07a970b91707df3a3e8ba6896c57ead2d11" + integrity sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw== + +"@walletconnect/core@2.12.2": + version "2.12.2" + resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.12.2.tgz#12bd568b90daed876e58ebcc098c12843a3321e6" + integrity sha512-7Adv/b3pp9F42BkvReaaM4KS8NEvlkS7AMtwO3uF/o6aRMKtcfTJq9/jgWdKJh4RP8pPRTRFjCw6XQ/RZtT4aQ== + dependencies: + "@walletconnect/heartbeat" "1.2.1" + "@walletconnect/jsonrpc-provider" "1.0.13" + "@walletconnect/jsonrpc-types" "1.0.3" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/jsonrpc-ws-connection" "1.0.14" + "@walletconnect/keyvaluestorage" "^1.1.1" + "@walletconnect/logger" "^2.1.2" + "@walletconnect/relay-api" "^1.0.9" + "@walletconnect/relay-auth" "^1.0.4" + "@walletconnect/safe-json" "^1.0.2" + "@walletconnect/time" "^1.0.2" + "@walletconnect/types" "2.12.2" + "@walletconnect/utils" "2.12.2" + events "^3.3.0" + isomorphic-unfetch "3.1.0" + lodash.isequal "4.5.0" + uint8arrays "^3.1.0" + +"@walletconnect/core@2.13.2": + version "2.13.2" + resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.13.2.tgz#8f83a12afdbfd23f04a045caf0efd9cbf8af8063" + integrity sha512-t1miHox71hh7tUrYFhLzNkm67wSS4kwVWO2jpwY5aHOoqkFpDSjb3A3nr+Adjrz4ZNxpObLJutQpApqkgwisjw== + dependencies: + "@walletconnect/heartbeat" "1.2.2" + "@walletconnect/jsonrpc-provider" "1.0.14" + "@walletconnect/jsonrpc-types" "1.0.4" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/jsonrpc-ws-connection" "1.0.14" + "@walletconnect/keyvaluestorage" "1.1.1" + "@walletconnect/logger" "2.1.2" + "@walletconnect/relay-api" "1.0.10" + "@walletconnect/relay-auth" "1.0.4" + "@walletconnect/safe-json" "1.0.2" + "@walletconnect/time" "1.0.2" + "@walletconnect/types" "2.13.2" + "@walletconnect/utils" "2.13.2" + events "3.3.0" + isomorphic-unfetch "3.1.0" + lodash.isequal "4.5.0" + uint8arrays "3.1.0" + +"@walletconnect/environment@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@walletconnect/environment/-/environment-1.0.1.tgz#1d7f82f0009ab821a2ba5ad5e5a7b8ae3b214cd7" + integrity sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg== + dependencies: + tslib "1.14.1" + +"@walletconnect/ethereum-provider@2.12.2": + version "2.12.2" + resolved "https://registry.yarnpkg.com/@walletconnect/ethereum-provider/-/ethereum-provider-2.12.2.tgz#43195a14cd43f928b2fcbba6b1a08e17e7838c4f" + integrity sha512-vBl2zCnNm2iPaomJdr5YT16cT7aa8cH2WFs6879XPngU5i7HXS3bU6TamhyhKKl13sdIfifmCkCC+RWn5GdPMw== + dependencies: + "@walletconnect/jsonrpc-http-connection" "^1.0.7" + "@walletconnect/jsonrpc-provider" "^1.0.13" + "@walletconnect/jsonrpc-types" "^1.0.3" + "@walletconnect/jsonrpc-utils" "^1.0.8" + "@walletconnect/modal" "^2.6.2" + "@walletconnect/sign-client" "2.12.2" + "@walletconnect/types" "2.12.2" + "@walletconnect/universal-provider" "2.12.2" + "@walletconnect/utils" "2.12.2" + events "^3.3.0" + +"@walletconnect/events@1.0.1", "@walletconnect/events@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@walletconnect/events/-/events-1.0.1.tgz#2b5f9c7202019e229d7ccae1369a9e86bda7816c" + integrity sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ== + dependencies: + keyvaluestorage-interface "^1.0.0" + tslib "1.14.1" + +"@walletconnect/heartbeat@1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@walletconnect/heartbeat/-/heartbeat-1.2.1.tgz#afaa3a53232ae182d7c9cff41c1084472d8f32e9" + integrity sha512-yVzws616xsDLJxuG/28FqtZ5rzrTA4gUjdEMTbWB5Y8V1XHRmqq4efAxCw5ie7WjbXFSUyBHaWlMR+2/CpQC5Q== + dependencies: + "@walletconnect/events" "^1.0.1" + "@walletconnect/time" "^1.0.2" + tslib "1.14.1" + +"@walletconnect/heartbeat@1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@walletconnect/heartbeat/-/heartbeat-1.2.2.tgz#e8dc5179db7769950c6f9cf59b23516d9b95227d" + integrity sha512-uASiRmC5MwhuRuf05vq4AT48Pq8RMi876zV8rr8cV969uTOzWdB/k+Lj5yI2PBtB1bGQisGen7MM1GcZlQTBXw== + dependencies: + "@walletconnect/events" "^1.0.1" + "@walletconnect/time" "^1.0.2" + events "^3.3.0" + +"@walletconnect/jsonrpc-http-connection@^1.0.7": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-http-connection/-/jsonrpc-http-connection-1.0.8.tgz#2f4c3948f074960a3edd07909560f3be13e2c7ae" + integrity sha512-+B7cRuaxijLeFDJUq5hAzNyef3e3tBDIxyaCNmFtjwnod5AGis3RToNqzFU33vpVcxFhofkpE7Cx+5MYejbMGw== + dependencies: + "@walletconnect/jsonrpc-utils" "^1.0.6" + "@walletconnect/safe-json" "^1.0.1" + cross-fetch "^3.1.4" + events "^3.3.0" + +"@walletconnect/jsonrpc-provider@1.0.13": + version "1.0.13" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.13.tgz#9a74da648d015e1fffc745f0c7d629457f53648b" + integrity sha512-K73EpThqHnSR26gOyNEL+acEex3P7VWZe6KE12ZwKzAt2H4e5gldZHbjsu2QR9cLeJ8AXuO7kEMOIcRv1QEc7g== + dependencies: + "@walletconnect/jsonrpc-utils" "^1.0.8" + "@walletconnect/safe-json" "^1.0.2" + tslib "1.14.1" + +"@walletconnect/jsonrpc-provider@1.0.14", "@walletconnect/jsonrpc-provider@^1.0.13": + version "1.0.14" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.14.tgz#696f3e3b6d728b361f2e8b853cfc6afbdf2e4e3e" + integrity sha512-rtsNY1XqHvWj0EtITNeuf8PHMvlCLiS3EjQL+WOkxEOA4KPxsohFnBDeyPYiNm4ZvkQdLnece36opYidmtbmow== + dependencies: + "@walletconnect/jsonrpc-utils" "^1.0.8" + "@walletconnect/safe-json" "^1.0.2" + events "^3.3.0" + +"@walletconnect/jsonrpc-types@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.3.tgz#65e3b77046f1a7fa8347ae02bc1b841abe6f290c" + integrity sha512-iIQ8hboBl3o5ufmJ8cuduGad0CQm3ZlsHtujv9Eu16xq89q+BG7Nh5VLxxUgmtpnrePgFkTwXirCTkwJH1v+Yw== + dependencies: + keyvaluestorage-interface "^1.0.0" + tslib "1.14.1" + +"@walletconnect/jsonrpc-types@1.0.4", "@walletconnect/jsonrpc-types@^1.0.2", "@walletconnect/jsonrpc-types@^1.0.3": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.4.tgz#ce1a667d79eadf2a2d9d002c152ceb68739c230c" + integrity sha512-P6679fG/M+wuWg9TY8mh6xFSdYnFyFjwFelxyISxMDrlbXokorEVXYOxiqEbrU3x1BmBoCAJJ+vtEaEoMlpCBQ== + dependencies: + events "^3.3.0" + keyvaluestorage-interface "^1.0.0" + +"@walletconnect/jsonrpc-utils@1.0.8", "@walletconnect/jsonrpc-utils@^1.0.6", "@walletconnect/jsonrpc-utils@^1.0.7", "@walletconnect/jsonrpc-utils@^1.0.8": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.8.tgz#82d0cc6a5d6ff0ecc277cb35f71402c91ad48d72" + integrity sha512-vdeb03bD8VzJUL6ZtzRYsFMq1eZQcM3EAzT0a3st59dyLfJ0wq+tKMpmGH7HlB7waD858UWgfIcudbPFsbzVdw== + dependencies: + "@walletconnect/environment" "^1.0.1" + "@walletconnect/jsonrpc-types" "^1.0.3" + tslib "1.14.1" + +"@walletconnect/jsonrpc-ws-connection@1.0.14": + version "1.0.14" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.14.tgz#eec700e74766c7887de2bd76c91a0206628732aa" + integrity sha512-Jsl6fC55AYcbkNVkwNM6Jo+ufsuCQRqViOQ8ZBPH9pRREHH9welbBiszuTLqEJiQcO/6XfFDl6bzCJIkrEi8XA== + dependencies: + "@walletconnect/jsonrpc-utils" "^1.0.6" + "@walletconnect/safe-json" "^1.0.2" + events "^3.3.0" + ws "^7.5.1" + +"@walletconnect/keyvaluestorage@1.1.1", "@walletconnect/keyvaluestorage@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.1.1.tgz#dd2caddabfbaf80f6b8993a0704d8b83115a1842" + integrity sha512-V7ZQq2+mSxAq7MrRqDxanTzu2RcElfK1PfNYiaVnJgJ7Q7G7hTVwF8voIBx92qsRyGHZihrwNPHuZd1aKkd0rA== + dependencies: + "@walletconnect/safe-json" "^1.0.1" + idb-keyval "^6.2.1" + unstorage "^1.9.0" + +"@walletconnect/logger@2.1.2", "@walletconnect/logger@^2.0.1", "@walletconnect/logger@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@walletconnect/logger/-/logger-2.1.2.tgz#813c9af61b96323a99f16c10089bfeb525e2a272" + integrity sha512-aAb28I3S6pYXZHQm5ESB+V6rDqIYfsnHaQyzFbwUUBFY4H0OXx/YtTl8lvhUNhMMfb9UxbwEBS253TlXUYJWSw== + dependencies: + "@walletconnect/safe-json" "^1.0.2" + pino "7.11.0" + +"@walletconnect/modal-core@2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@walletconnect/modal-core/-/modal-core-2.6.2.tgz#d73e45d96668764e0c8668ea07a45bb8b81119e9" + integrity sha512-cv8ibvdOJQv2B+nyxP9IIFdxvQznMz8OOr/oR/AaUZym4hjXNL/l1a2UlSQBXrVjo3xxbouMxLb3kBsHoYP2CA== + dependencies: + valtio "1.11.2" + +"@walletconnect/modal-ui@2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@walletconnect/modal-ui/-/modal-ui-2.6.2.tgz#fa57c087c57b7f76aaae93deab0f84bb68b59cf9" + integrity sha512-rbdstM1HPGvr7jprQkyPggX7rP4XiCG85ZA+zWBEX0dVQg8PpAgRUqpeub4xQKDgY7pY/xLRXSiCVdWGqvG2HA== + dependencies: + "@walletconnect/modal-core" "2.6.2" + lit "2.8.0" + motion "10.16.2" + qrcode "1.5.3" + +"@walletconnect/modal@^2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@walletconnect/modal/-/modal-2.6.2.tgz#4b534a836f5039eeb3268b80be7217a94dd12651" + integrity sha512-eFopgKi8AjKf/0U4SemvcYw9zlLpx9njVN8sf6DAkowC2Md0gPU/UNEbH1Wwj407pEKnEds98pKWib1NN1ACoA== + dependencies: + "@walletconnect/modal-core" "2.6.2" + "@walletconnect/modal-ui" "2.6.2" + +"@walletconnect/relay-api@1.0.10", "@walletconnect/relay-api@^1.0.9": + version "1.0.10" + resolved "https://registry.yarnpkg.com/@walletconnect/relay-api/-/relay-api-1.0.10.tgz#5aef3cd07c21582b968136179aa75849dcc65499" + integrity sha512-tqrdd4zU9VBNqUaXXQASaexklv6A54yEyQQEXYOCr+Jz8Ket0dmPBDyg19LVSNUN2cipAghQc45/KVmfFJ0cYw== + dependencies: + "@walletconnect/jsonrpc-types" "^1.0.2" + +"@walletconnect/relay-auth@1.0.4", "@walletconnect/relay-auth@^1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@walletconnect/relay-auth/-/relay-auth-1.0.4.tgz#0b5c55c9aa3b0ef61f526ce679f3ff8a5c4c2c7c" + integrity sha512-kKJcS6+WxYq5kshpPaxGHdwf5y98ZwbfuS4EE/NkQzqrDFm5Cj+dP8LofzWvjrrLkZq7Afy7WrQMXdLy8Sx7HQ== + dependencies: + "@stablelib/ed25519" "^1.0.2" + "@stablelib/random" "^1.0.1" + "@walletconnect/safe-json" "^1.0.1" + "@walletconnect/time" "^1.0.2" + tslib "1.14.1" + uint8arrays "^3.0.0" + +"@walletconnect/safe-json@1.0.2", "@walletconnect/safe-json@^1.0.1", "@walletconnect/safe-json@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@walletconnect/safe-json/-/safe-json-1.0.2.tgz#7237e5ca48046e4476154e503c6d3c914126fa77" + integrity sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA== + dependencies: + tslib "1.14.1" + +"@walletconnect/sign-client@2.12.2": + version "2.12.2" + resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.12.2.tgz#10cddcba3740f726149c33ef1a9040a808d65e08" + integrity sha512-cM0ualXj6nVvLqS4BDNRk+ZWR+lubcsz/IHreH+3wYrQ2sV+C0fN6ctrd7MMGZss0C0qacWCx0pm62ZBuoKvqA== + dependencies: + "@walletconnect/core" "2.12.2" + "@walletconnect/events" "^1.0.1" + "@walletconnect/heartbeat" "1.2.1" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/logger" "^2.1.2" + "@walletconnect/time" "^1.0.2" + "@walletconnect/types" "2.12.2" + "@walletconnect/utils" "2.12.2" + events "^3.3.0" + +"@walletconnect/sign-client@^2.13.1": + version "2.13.2" + resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.13.2.tgz#ab7b78c3dec4172a69fe09885a8e6542b634992a" + integrity sha512-KIjAYwEkjR55uy0eZTRbKKxiLpC/hZYmjZEQf2stcTVuTOes5q3aZDlHXFHrVWn8b0pl7k0BqcDDNGklU7Xaew== + dependencies: + "@walletconnect/core" "2.13.2" + "@walletconnect/events" "1.0.1" + "@walletconnect/heartbeat" "1.2.2" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/logger" "2.1.2" + "@walletconnect/time" "1.0.2" + "@walletconnect/types" "2.13.2" + "@walletconnect/utils" "2.13.2" + events "3.3.0" + +"@walletconnect/time@1.0.2", "@walletconnect/time@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@walletconnect/time/-/time-1.0.2.tgz#6c5888b835750ecb4299d28eecc5e72c6d336523" + integrity sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g== + dependencies: + tslib "1.14.1" + +"@walletconnect/types@2.12.2": + version "2.12.2" + resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.12.2.tgz#8b64a2015a0a96972d28acb2ff317a9a994abfdb" + integrity sha512-9CmwTlPbrFTzayTL9q7xM7s3KTJkS6kYFtH2m1/fHFgALs6pIUjf1qAx1TF2E4tv7SEzLAIzU4NqgYUt2vWXTg== + dependencies: + "@walletconnect/events" "^1.0.1" + "@walletconnect/heartbeat" "1.2.1" + "@walletconnect/jsonrpc-types" "1.0.3" + "@walletconnect/keyvaluestorage" "^1.1.1" + "@walletconnect/logger" "^2.0.1" + events "^3.3.0" + +"@walletconnect/types@2.13.2": + version "2.13.2" + resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.13.2.tgz#2b371b25dee1b8920b753a860eb10afe68efcc81" + integrity sha512-rcomCPp1dwslIZC/e01BLSWC6to2TFM4I1QbAo7kaqh6xTVN9rCtGfdaNi0RbtfBhCEULFvc18v33r/wR0iAPQ== + dependencies: + "@walletconnect/events" "1.0.1" + "@walletconnect/heartbeat" "1.2.2" + "@walletconnect/jsonrpc-types" "1.0.4" + "@walletconnect/keyvaluestorage" "1.1.1" + "@walletconnect/logger" "2.1.2" + events "3.3.0" + +"@walletconnect/universal-provider@2.12.2": + version "2.12.2" + resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.12.2.tgz#0c855bbb5584fd11bdf2318344fe6f42fa3e91cb" + integrity sha512-0k5ZgSkABopQLVhkiwl2gRGG7dAP4SWiI915pIlyN5sRvWV+qX1ALhWAmRcdv0TXWlKHDcDgPJw/q2sCSAHuMQ== + dependencies: + "@walletconnect/jsonrpc-http-connection" "^1.0.7" + "@walletconnect/jsonrpc-provider" "1.0.13" + "@walletconnect/jsonrpc-types" "^1.0.2" + "@walletconnect/jsonrpc-utils" "^1.0.7" + "@walletconnect/logger" "^2.1.2" + "@walletconnect/sign-client" "2.12.2" + "@walletconnect/types" "2.12.2" + "@walletconnect/utils" "2.12.2" + events "^3.3.0" + +"@walletconnect/utils@2.12.2": + version "2.12.2" + resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.12.2.tgz#a2c349d4effef7c1c5e72e74a5483d8dfbb10918" + integrity sha512-zf50HeS3SfoLv1N9GPl2IXTZ9TsXfet4usVAsZmX9P6/Xzq7d/7QakjVQCHH/Wk1O9XkcsfeoZoUhRxoMJ5uJw== + dependencies: + "@stablelib/chacha20poly1305" "1.0.1" + "@stablelib/hkdf" "1.0.1" + "@stablelib/random" "^1.0.2" + "@stablelib/sha256" "1.0.1" + "@stablelib/x25519" "^1.0.3" + "@walletconnect/relay-api" "^1.0.9" + "@walletconnect/safe-json" "^1.0.2" + "@walletconnect/time" "^1.0.2" + "@walletconnect/types" "2.12.2" + "@walletconnect/window-getters" "^1.0.1" + "@walletconnect/window-metadata" "^1.0.1" + detect-browser "5.3.0" + query-string "7.1.3" + uint8arrays "^3.1.0" + +"@walletconnect/utils@2.13.2": + version "2.13.2" + resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.13.2.tgz#9b4c00005ef3c82438313f44e7126a6a5ab7670e" + integrity sha512-wDu+g/lWO93dVrntWgxwiX6XeuCHD9kxMWLEtyGZ7AmWHZv3U1Z8EWIU/e9kv4yBQxmHN3b0DhcrowfcMF3YOA== + dependencies: + "@stablelib/chacha20poly1305" "1.0.1" + "@stablelib/hkdf" "1.0.1" + "@stablelib/random" "1.0.2" + "@stablelib/sha256" "1.0.1" + "@stablelib/x25519" "1.0.3" + "@walletconnect/relay-api" "1.0.10" + "@walletconnect/safe-json" "1.0.2" + "@walletconnect/time" "1.0.2" + "@walletconnect/types" "2.13.2" + "@walletconnect/window-getters" "1.0.1" + "@walletconnect/window-metadata" "1.0.1" + detect-browser "5.3.0" + query-string "7.1.3" + uint8arrays "3.1.0" + +"@walletconnect/window-getters@1.0.1", "@walletconnect/window-getters@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@walletconnect/window-getters/-/window-getters-1.0.1.tgz#f36d1c72558a7f6b87ecc4451fc8bd44f63cbbdc" + integrity sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q== + dependencies: + tslib "1.14.1" + +"@walletconnect/window-metadata@1.0.1", "@walletconnect/window-metadata@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@walletconnect/window-metadata/-/window-metadata-1.0.1.tgz#2124f75447b7e989e4e4e1581d55d25bc75f7be5" + integrity sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA== + dependencies: + "@walletconnect/window-getters" "^1.0.1" + tslib "1.14.1" + +"@zag-js/dom-query@0.16.0": + version "0.16.0" + resolved "https://registry.yarnpkg.com/@zag-js/dom-query/-/dom-query-0.16.0.tgz#bca46bcd78f78c900064478646d95f9781ed098e" + integrity sha512-Oqhd6+biWyKnhKwFFuZrrf6lxBz2tX2pRQe6grUnYwO6HJ8BcbqZomy2lpOdr+3itlaUqx+Ywj5E5ZZDr/LBfQ== + +"@zag-js/element-size@0.10.5": + version "0.10.5" + resolved "https://registry.yarnpkg.com/@zag-js/element-size/-/element-size-0.10.5.tgz#a24bad2eeb7e2c8709e32be5336e158e1a1a174f" + integrity sha512-uQre5IidULANvVkNOBQ1tfgwTQcGl4hliPSe69Fct1VfYb2Fd0jdAcGzqQgPhfrXFpR62MxLPB7erxJ/ngtL8w== + +"@zag-js/focus-visible@0.16.0": + version "0.16.0" + resolved "https://registry.yarnpkg.com/@zag-js/focus-visible/-/focus-visible-0.16.0.tgz#c9e53e3dbab0f2649d04a489bb379f5800f4f069" + integrity sha512-a7U/HSopvQbrDU4GLerpqiMcHKEkQkNPeDZJWz38cw/6Upunh41GjHetq5TB84hxyCaDzJ6q2nEdNoBQfC0FKA== + dependencies: + "@zag-js/dom-query" "0.16.0" + +abitype@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.0.tgz#237176dace81d90d018bebf3a45cb42f2a2d9e97" + integrity sha512-NMeMah//6bJ56H5XRj8QCV4AwuW6hB6zqz2LnhhLdcWVQOsXki6/Pn3APeqxCma62nXIcmZWdu1DlHWS74umVQ== + +acorn@^8.11.3: + version "8.11.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" + integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +anymatch@^3.1.3, anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +aria-hidden@^1.1.1, aria-hidden@^1.2.3: + version "1.2.4" + resolved "https://registry.yarnpkg.com/aria-hidden/-/aria-hidden-1.2.4.tgz#b78e383fdbc04d05762c78b4a25a501e736c4522" + integrity sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A== + dependencies: + tslib "^2.0.0" + +asn1.js@^4.10.1: + version "4.10.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" + integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +assert@^1.1.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.1.tgz#038ab248e4ff078e7bc2485ba6e6388466c78f76" + integrity sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A== + dependencies: + object.assign "^4.1.4" + util "^0.10.4" + +atomic-sleep@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" + integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== + +babel-plugin-macros@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" + integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== + dependencies: + "@babel/runtime" "^7.12.5" + cosmiconfig "^7.0.0" + resolve "^1.19.0" + +base64-js@^1.0.2, base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +binary-extensions@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" + integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== + +blo@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/blo/-/blo-1.2.0.tgz#393fd67f85b08e6835d37e5beb9607ec152044da" + integrity sha512-bZES7RzJ14B4WBT3JuOHSOAvCBmUhqznrojQ8xRjN1Fx9X9N7R+rygOFS3k4wXel2nFg4lwzL3luAYzObaDLng== + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +bn.js@^5.0.0, bn.js@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" + integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== + +braces@^3.0.3, braces@~3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== + dependencies: + fill-range "^7.1.1" + +brorand@^1.0.1, brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== + +browserify-aes@^1.0.4, browserify-aes@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + dependencies: + 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@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +browserify-rsa@^4.0.0, browserify-rsa@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" + integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== + dependencies: + bn.js "^5.0.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.2.3" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.3.tgz#7afe4c01ec7ee59a89a558a4b75bd85ae62d4208" + integrity sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw== + dependencies: + bn.js "^5.2.1" + browserify-rsa "^4.1.0" + create-hash "^1.2.0" + create-hmac "^1.1.7" + elliptic "^6.5.5" + hash-base "~3.0" + inherits "^2.0.4" + parse-asn1 "^5.1.7" + readable-stream "^2.3.8" + safe-buffer "^5.2.1" + +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== + dependencies: + pako "~1.0.5" + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== + +buffer@^4.3.0: + version "4.9.2" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" + integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +buffer@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== + +busboy@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893" + integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== + dependencies: + streamsearch "^1.1.0" + +call-bind@^1.0.5, call-bind@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" + integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + set-function-length "^1.2.1" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase@^5.0.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +caniuse-lite@^1.0.30001579: + version "1.0.30001625" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001625.tgz#ead1b155ea691d6a87938754d3cb119c24465b03" + integrity sha512-4KE9N2gcRH+HQhpeiRZXd+1niLB/XNLAhSy4z7fI8EzcbcPoAqjNInxVHTiTwWfTIV4w096XG8OtCOCQQKPv3w== + +chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chokidar@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.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" + optionalDependencies: + fsevents "~2.3.2" + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +citty@^0.1.5, citty@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/citty/-/citty-0.1.6.tgz#0f7904da1ed4625e1a9ea7e0fa780981aab7c5e4" + integrity sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ== + dependencies: + consola "^3.2.3" + +client-only@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/client-only/-/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1" + integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA== + +clipboardy@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/clipboardy/-/clipboardy-4.0.0.tgz#e73ced93a76d19dd379ebf1f297565426dffdca1" + integrity sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w== + dependencies: + execa "^8.0.1" + is-wsl "^3.1.0" + is64bit "^2.0.0" + +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + +clsx@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" + integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color2k@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/color2k/-/color2k-2.0.3.tgz#a771244f6b6285541c82aa65ff0a0c624046e533" + integrity sha512-zW190nQTIoXcGCaU08DvVNFTmQhUpnJfVuAKfWqUQkflXKpaDdpaYoM0iluLS9lgJNHyBF58KKA2FBEwkD7wog== + +compute-scroll-into-view@3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-3.0.3.tgz#c418900a5c56e2b04b885b54995df164535962b1" + integrity sha512-nadqwNxghAGTamwIqQSG433W6OADZx2vCo3UXHNrzTRHK/htu+7+L0zhjEoaeaQVNAi3YgqWDv8+tzf0hRfR+A== + +confbox@^0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/confbox/-/confbox-0.1.7.tgz#ccfc0a2bcae36a84838e83a3b7f770fb17d6c579" + integrity sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA== + +consola@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/consola/-/consola-3.2.3.tgz#0741857aa88cfa0d6fd53f1cff0375136e98502f" + integrity sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ== + +console-browserify@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" + integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + integrity sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ== + +convert-source-map@^1.5.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +cookie-es@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/cookie-es/-/cookie-es-1.1.0.tgz#68f8d9f48aeb5a534f3896f80e792760d3d20def" + integrity sha512-L2rLOcK0wzWSfSDA33YR+PUHDG10a8px7rUHKWbGLP4YfbsMed2KFUw5fczvDPbT98DDe3LEzviswl810apTEw== + +copy-to-clipboard@3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz#55ac43a1db8ae639a4bd99511c148cdd1b83a1b0" + integrity sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA== + dependencies: + toggle-selection "^1.0.6" + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cosmiconfig@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" + integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== + dependencies: + "@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" + +create-ecdh@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" + integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== + dependencies: + bn.js "^4.1.0" + elliptic "^6.5.3" + +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + dependencies: + 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@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + dependencies: + 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" + +cross-fetch@^3.1.4: + version "3.1.8" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.8.tgz#0327eba65fd68a7d119f8fb2bf9334a1a7956f82" + integrity sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg== + dependencies: + node-fetch "^2.6.12" + +cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +crossws@^0.2.0, crossws@^0.2.2: + version "0.2.4" + resolved "https://registry.yarnpkg.com/crossws/-/crossws-0.2.4.tgz#82a8b518bff1018ab1d21ced9e35ffbe1681ad03" + integrity sha512-DAxroI2uSOgUKLz00NX6A8U/8EE3SZHmIND+10jkVSaypvyt57J5JEOxAQOL6lQxyzi/wZbTIwssU1uy69h5Vg== + +crypto-browserify@^3.11.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== + 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" + +css-box-model@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/css-box-model/-/css-box-model-1.2.1.tgz#59951d3b81fd6b2074a62d49444415b0d2b4d7c1" + integrity sha512-a7Vr4Q/kd/aw96bnJG332W9V9LkJO69JRcaCYDUqjp6/z0w6VcZjgAcTbgFxEPfBgdnAwlh3iwu+hLopa+flJw== + dependencies: + tiny-invariant "^1.0.6" + +csstype@^3.0.2, csstype@^3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== + +decode-uri-component@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" + integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== + +define-data-property@^1.0.1, define-data-property@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" + integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + gopd "^1.0.1" + +define-properties@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" + integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== + dependencies: + define-data-property "^1.0.1" + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +defu@^6.1.3, defu@^6.1.4: + version "6.1.4" + resolved "https://registry.yarnpkg.com/defu/-/defu-6.1.4.tgz#4e0c9cf9ff68fe5f3d7f2765cc1a012dfdcb0479" + integrity sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg== + +des.js@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.1.0.tgz#1d37f5766f3bbff4ee9638e871a8768c173b81da" + integrity sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg== + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +destr@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/destr/-/destr-2.0.3.tgz#7f9e97cb3d16dbdca7be52aca1644ce402cfe449" + integrity sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ== + +detect-browser@5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/detect-browser/-/detect-browser-5.3.0.tgz#9705ef2bddf46072d0f7265a1fe300e36fe7ceca" + integrity sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w== + +detect-libc@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg== + +detect-node-es@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/detect-node-es/-/detect-node-es-1.1.0.tgz#163acdf643330caa0b4cd7c21e7ee7755d6fa493" + integrity sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ== + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +dijkstrajs@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.3.tgz#4c8dbdea1f0f6478bff94d9c49c784d623e4fc23" + integrity sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA== + +domain-browser@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" + integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== + +duplexify@^4.1.2: + version "4.1.3" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-4.1.3.tgz#a07e1c0d0a2c001158563d32592ba58bddb0236f" + integrity sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA== + dependencies: + end-of-stream "^1.4.1" + inherits "^2.0.3" + readable-stream "^3.1.1" + stream-shift "^1.0.2" + +elliptic@^6.5.3, elliptic@^6.5.5: + version "6.5.5" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.5.tgz#c715e09f78b6923977610d4c2346d6ce22e6dded" + integrity sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +encode-utf8@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/encode-utf8/-/encode-utf8-1.0.3.tgz#f30fdd31da07fb596f281beb2f6b027851994cda" + integrity sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw== + +end-of-stream@^1.4.1: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" + integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== + dependencies: + get-intrinsic "^1.2.4" + +es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eventemitter3@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" + integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== + +events@3.3.0, events@^3.0.0, events@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +execa@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c" + integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^8.0.1" + human-signals "^5.0.0" + is-stream "^3.0.0" + merge-stream "^2.0.0" + npm-run-path "^5.1.0" + onetime "^6.0.0" + signal-exit "^4.1.0" + strip-final-newline "^3.0.0" + +fast-redact@^3.0.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.5.0.tgz#e9ea02f7e57d0cd8438180083e93077e496285e4" + integrity sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A== + +fast-text-encoding@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/fast-text-encoding/-/fast-text-encoding-1.0.6.tgz#0aa25f7f638222e3396d72bf936afcf1d42d6867" + integrity sha512-VhXlQgj9ioXCqGstD37E/HBeqEGV/qOD/kmbVG8h5xKBYvM1L3lR1Zn4555cQ8GkYbJa8aJSipLPndE1k6zK2w== + +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== + dependencies: + to-regex-range "^5.0.1" + +filter-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" + integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== + +find-root@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" + integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== + +find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +focus-lock@^1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/focus-lock/-/focus-lock-1.3.5.tgz#aa644576e5ec47d227b57eb14e1efb2abf33914c" + integrity sha512-QFaHbhv9WPUeLYBDe/PAuLKJ4Dd9OPvKs9xZBr3yLXnUrDNaVXKu2baDBXe3naPY30hgHYSsf2JW4jzas2mDEQ== + dependencies: + tslib "^2.0.3" + +framer-motion@^11.2.10: + version "11.2.10" + resolved "https://registry.yarnpkg.com/framer-motion/-/framer-motion-11.2.10.tgz#c8671e33e8f8d4abbd95efd20d3b8a888f457ed7" + integrity sha512-/gr3PLZUVFCc86a9MqCUboVrALscrdluzTb3yew+2/qKBU8CX6nzs918/SRBRCqaPbx0TZP10CB6yFgK2C5cYQ== + dependencies: + tslib "^2.4.0" + +framesync@6.1.2: + version "6.1.2" + resolved "https://registry.yarnpkg.com/framesync/-/framesync-6.1.2.tgz#755eff2fb5b8f3b4d2b266dd18121b300aefea27" + integrity sha512-jBTqhX6KaQVDyus8muwZbBeGGP0XgujBRbQ7gM7BRdS3CadCZIHiawyzYLnafYcvZIh5j8WE7cxZKFn7dXhu9g== + dependencies: + tslib "2.4.0" + +fsevents@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +fuse.js@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/fuse.js/-/fuse.js-7.0.0.tgz#6573c9fcd4c8268e403b4fc7d7131ffcf99a9eb2" + integrity sha512-14F4hBIxqKvD4Zz/XjDc3y94mNZN6pRv3U13Udo0lNLCWRBUsrMv2xwcF/y/Z5sV6+FQW+/ow68cHpm4sunt8Q== + +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-intrinsic@^1.1.3, get-intrinsic@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" + integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + has-proto "^1.0.1" + has-symbols "^1.0.3" + hasown "^2.0.0" + +get-nonce@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/get-nonce/-/get-nonce-1.0.1.tgz#fdf3f0278073820d2ce9426c18f07481b1e0cdf3" + integrity sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q== + +get-port-please@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/get-port-please/-/get-port-please-3.1.2.tgz#502795e56217128e4183025c89a48c71652f4e49" + integrity sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ== + +get-stream@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-8.0.1.tgz#def9dfd71742cd7754a7761ed43749a27d02eca2" + integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== + +glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +graceful-fs@^4.2.11: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +h3@^1.10.2, h3@^1.11.1: + version "1.11.1" + resolved "https://registry.yarnpkg.com/h3/-/h3-1.11.1.tgz#e9414ae6f2a076a345ea07256b320edb29bab9f7" + integrity sha512-AbaH6IDnZN6nmbnJOH72y3c5Wwh9P97soSVdGSBbcDACRdkC0FEWf25pzx4f/NuOCK6quHmW18yF2Wx+G4Zi1A== + dependencies: + cookie-es "^1.0.0" + crossws "^0.2.2" + defu "^6.1.4" + destr "^2.0.3" + iron-webcrypto "^1.0.0" + ohash "^1.1.3" + radix3 "^1.1.0" + ufo "^1.4.0" + uncrypto "^0.1.3" + unenv "^1.9.0" + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" + integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== + dependencies: + es-define-property "^1.0.0" + +has-proto@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" + integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== + +has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash-base@~3.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" + integrity sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +hasown@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + +hey-listen@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/hey-listen/-/hey-listen-1.0.8.tgz#8e59561ff724908de1aa924ed6ecc84a56a9aa68" + integrity sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q== + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +hoist-non-react-statics@^3.3.1: + version "3.3.2" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" + integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== + dependencies: + react-is "^16.7.0" + +http-shutdown@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/http-shutdown/-/http-shutdown-1.2.2.tgz#41bc78fc767637c4c95179bc492f312c0ae64c5f" + integrity sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw== + +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg== + +human-signals@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28" + integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== + +idb-keyval@^6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/idb-keyval/-/idb-keyval-6.2.1.tgz#94516d625346d16f56f3b33855da11bfded2db33" + integrity sha512-8Sb3veuYCyrZL+VBt9LJfZjLUPWVvqn8tG28VqYNFCo43KHcKuq+b4EiXGeuaLAQWL2YmyDgMp2aSpH9JHsEQg== + +ieee754@^1.1.4, ieee754@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== + +inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +input-otp@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/input-otp/-/input-otp-1.2.4.tgz#9834af8675ac72c7f1b7c010f181b3b4ffdd0f72" + integrity sha512-md6rhmD+zmMnUh5crQNSQxq3keBRYvE3odbr4Qb9g2NWzQv9azi+t1a3X4TBTbh98fsGHgEEJlzbe1q860uGCA== + +invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + +iron-webcrypto@^1.0.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz#aa60ff2aa10550630f4c0b11fd2442becdb35a6f" + integrity sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg== + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-core-module@^2.13.0: + version "2.13.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== + dependencies: + hasown "^2.0.0" + +is-docker@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-3.0.0.tgz#90093aa3106277d8a77a5910dbae71747e15a200" + integrity sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ== + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-inside-container@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-inside-container/-/is-inside-container-1.0.0.tgz#e81fba699662eb31dbdaf26766a61d4814717ea4" + integrity sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA== + dependencies: + is-docker "^3.0.0" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" + integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== + +is-wsl@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-3.1.0.tgz#e1c657e39c10090afcbedec61720f6b924c3cbd2" + integrity sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw== + dependencies: + is-inside-container "^1.0.0" + +is64bit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is64bit/-/is64bit-2.0.0.tgz#198c627cbcb198bbec402251f88e5e1a51236c07" + integrity sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw== + dependencies: + system-architecture "^0.1.0" + +isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isomorphic-unfetch@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/isomorphic-unfetch/-/isomorphic-unfetch-3.1.0.tgz#87341d5f4f7b63843d468438128cb087b7c3e98f" + integrity sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q== + dependencies: + node-fetch "^2.6.1" + unfetch "^4.2.0" + +isows@1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/isows/-/isows-1.0.4.tgz#810cd0d90cc4995c26395d2aa4cfa4037ebdf061" + integrity sha512-hEzjY+x9u9hPmBom9IIAqdJCwNLax+xrPb51vEPpERoFlIxgmZcHzsT5jKG06nvInKOBGvReAVz80Umed5CczQ== + +jiti@^1.21.0: + version "1.21.0" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.0.tgz#7c97f8fe045724e136a397f7340475244156105d" + integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +keccak@^3.0.3: + version "3.0.4" + resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.4.tgz#edc09b89e633c0549da444432ecf062ffadee86d" + integrity sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q== + dependencies: + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + readable-stream "^3.6.0" + +keyvaluestorage-interface@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/keyvaluestorage-interface/-/keyvaluestorage-interface-1.0.0.tgz#13ebdf71f5284ad54be94bd1ad9ed79adad515ff" + integrity sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +listhen@^1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/listhen/-/listhen-1.7.2.tgz#66b81740692269d5d8cafdc475020f2fc51afbae" + integrity sha512-7/HamOm5YD9Wb7CFgAZkKgVPA96WwhcTQoqtm2VTZGVbVVn3IWKRBTgrU7cchA3Q8k9iCsG8Osoi9GX4JsGM9g== + dependencies: + "@parcel/watcher" "^2.4.1" + "@parcel/watcher-wasm" "^2.4.1" + citty "^0.1.6" + clipboardy "^4.0.0" + consola "^3.2.3" + crossws "^0.2.0" + defu "^6.1.4" + get-port-please "^3.1.2" + h3 "^1.10.2" + http-shutdown "^1.2.2" + jiti "^1.21.0" + mlly "^1.6.1" + node-forge "^1.3.1" + pathe "^1.1.2" + std-env "^3.7.0" + ufo "^1.4.0" + untun "^0.1.3" + uqr "^0.1.2" + +lit-element@^3.3.0: + version "3.3.3" + resolved "https://registry.yarnpkg.com/lit-element/-/lit-element-3.3.3.tgz#10bc19702b96ef5416cf7a70177255bfb17b3209" + integrity sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA== + dependencies: + "@lit-labs/ssr-dom-shim" "^1.1.0" + "@lit/reactive-element" "^1.3.0" + lit-html "^2.8.0" + +lit-html@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/lit-html/-/lit-html-2.8.0.tgz#96456a4bb4ee717b9a7d2f94562a16509d39bffa" + integrity sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q== + dependencies: + "@types/trusted-types" "^2.0.2" + +lit@2.8.0, lit@^2.2.3: + version "2.8.0" + resolved "https://registry.yarnpkg.com/lit/-/lit-2.8.0.tgz#4d838ae03059bf9cafa06e5c61d8acc0081e974e" + integrity sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA== + dependencies: + "@lit/reactive-element" "^1.6.0" + lit-element "^3.3.0" + lit-html "^2.8.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +lodash.isequal@4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== + +lodash.mergewith@4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz#617121f89ac55f59047c7aec1ccd6654c6590f55" + integrity sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ== + +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lru-cache@^10.2.0: + version "10.2.2" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.2.tgz#48206bc114c1252940c41b25b41af5b545aca878" + integrity sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ== + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +micromatch@^4.0.5: + version "4.0.7" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.7.tgz#33e8190d9fe474a9895525f5618eee136d46c2e5" + integrity sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q== + dependencies: + braces "^3.0.3" + picomatch "^2.3.1" + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-3.0.0.tgz#b374550dca3a0c18443b0c950a6a58f1931cf7a7" + integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A== + +mimic-fn@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" + integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== + +mipd@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/mipd/-/mipd-0.0.7.tgz#bb5559e21fa18dc3d9fe1c08902ef14b7ce32fd9" + integrity sha512-aAPZPNDQ3uMTdKbuO2YmAw2TxLHO0moa4YKAyETM/DTj5FloZo+a+8tU+iv4GmW+sOxKLSRwcSFuczk+Cpt6fg== + +mlly@^1.6.1, mlly@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.7.0.tgz#587383ae40dda23cadb11c3c3cc972b277724271" + integrity sha512-U9SDaXGEREBYQgfejV97coK0UL1r+qnF2SyO9A3qcI8MzKnsIFKHNVEkrDyNncQTKQQumsasmeq84eNMdBfsNQ== + dependencies: + acorn "^8.11.3" + pathe "^1.1.2" + pkg-types "^1.1.0" + ufo "^1.5.3" + +motion@10.16.2: + version "10.16.2" + resolved "https://registry.yarnpkg.com/motion/-/motion-10.16.2.tgz#7dc173c6ad62210a7e9916caeeaf22c51e598d21" + integrity sha512-p+PurYqfUdcJZvtnmAqu5fJgV2kR0uLFQuBKtLeFVTrYEVllI99tiOTSefVNYuip9ELTEkepIIDftNdze76NAQ== + dependencies: + "@motionone/animation" "^10.15.1" + "@motionone/dom" "^10.16.2" + "@motionone/svelte" "^10.16.2" + "@motionone/types" "^10.15.1" + "@motionone/utils" "^10.15.1" + "@motionone/vue" "^10.16.2" + +mri@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" + integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== + +multiformats@^9.4.2: + version "9.9.0" + resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.9.0.tgz#c68354e7d21037a8f1f8833c8ccd68618e8f1d37" + integrity sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg== + +nanoid@^3.3.6, nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + +napi-wasm@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/napi-wasm/-/napi-wasm-1.1.0.tgz#bbe617823765ae9c1bc12ff5942370eae7b2ba4e" + integrity sha512-lHwIAJbmLSjF9VDRm9GoVOy9AGp3aIvkjv+Kvz9h16QR3uSVYH78PNQUnT2U4X53mhlnV2M7wrhibQ3GHicDmg== + +next@14.2.4: + version "14.2.4" + resolved "https://registry.yarnpkg.com/next/-/next-14.2.4.tgz#ef66c39c71e2d8ad0a3caa0383c8933f4663e4d1" + integrity sha512-R8/V7vugY+822rsQGQCjoLhMuC9oFj9SOi4Cl4b2wjDrseD0LRZ10W7R6Czo4w9ZznVSshKjuIomsRjvm9EKJQ== + dependencies: + "@next/env" "14.2.4" + "@swc/helpers" "0.5.5" + busboy "1.6.0" + caniuse-lite "^1.0.30001579" + graceful-fs "^4.2.11" + postcss "8.4.31" + styled-jsx "5.1.1" + optionalDependencies: + "@next/swc-darwin-arm64" "14.2.4" + "@next/swc-darwin-x64" "14.2.4" + "@next/swc-linux-arm64-gnu" "14.2.4" + "@next/swc-linux-arm64-musl" "14.2.4" + "@next/swc-linux-x64-gnu" "14.2.4" + "@next/swc-linux-x64-musl" "14.2.4" + "@next/swc-win32-arm64-msvc" "14.2.4" + "@next/swc-win32-ia32-msvc" "14.2.4" + "@next/swc-win32-x64-msvc" "14.2.4" + +node-addon-api@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" + integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== + +node-addon-api@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.1.0.tgz#71f609369379c08e251c558527a107107b5e0fdb" + integrity sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g== + +node-fetch-native@^1.6.1, node-fetch-native@^1.6.2, node-fetch-native@^1.6.3: + version "1.6.4" + resolved "https://registry.yarnpkg.com/node-fetch-native/-/node-fetch-native-1.6.4.tgz#679fc8fd8111266d47d7e72c379f1bed9acff06e" + integrity sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ== + +node-fetch@^2.6.1, node-fetch@^2.6.12: + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + +node-forge@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" + integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== + +node-gyp-build@^4.2.0: + version "4.8.1" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.1.tgz#976d3ad905e71b76086f4f0b0d3637fe79b6cda5" + integrity sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw== + +node-libs-browser@2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" + integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== + dependencies: + assert "^1.1.1" + browserify-zlib "^0.2.0" + buffer "^4.3.0" + console-browserify "^1.1.0" + constants-browserify "^1.0.0" + crypto-browserify "^3.11.0" + domain-browser "^1.1.1" + events "^3.0.0" + https-browserify "^1.0.0" + os-browserify "^0.3.0" + path-browserify "0.0.1" + process "^0.11.10" + punycode "^1.2.4" + querystring-es3 "^0.2.0" + readable-stream "^2.3.3" + stream-browserify "^2.0.1" + stream-http "^2.7.2" + string_decoder "^1.0.0" + timers-browserify "^2.0.4" + tty-browserify "0.0.0" + url "^0.11.0" + util "^0.11.0" + vm-browserify "^1.0.1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +npm-run-path@^5.1.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.3.0.tgz#e23353d0ebb9317f174e93417e4a4d82d0249e9f" + integrity sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ== + dependencies: + path-key "^4.0.0" + +object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-inspect@^1.13.1: + version "1.13.1" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" + integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.4: + version "4.1.5" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" + integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== + dependencies: + call-bind "^1.0.5" + define-properties "^1.2.1" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +ofetch@^1.3.3: + version "1.3.4" + resolved "https://registry.yarnpkg.com/ofetch/-/ofetch-1.3.4.tgz#7ea65ced3c592ec2b9906975ae3fe1d26a56f635" + integrity sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw== + dependencies: + destr "^2.0.3" + node-fetch-native "^1.6.3" + ufo "^1.5.3" + +ohash@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/ohash/-/ohash-1.1.3.tgz#f12c3c50bfe7271ce3fd1097d42568122ccdcf07" + integrity sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw== + +on-exit-leak-free@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/on-exit-leak-free/-/on-exit-leak-free-0.2.0.tgz#b39c9e3bf7690d890f4861558b0d7b90a442d209" + integrity sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg== + +once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" + integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== + dependencies: + mimic-fn "^4.0.0" + +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + integrity sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A== + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +pako@~1.0.5: + version "1.0.11" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-asn1@^5.0.0, parse-asn1@^5.1.7: + version "5.1.7" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.7.tgz#73cdaaa822125f9647165625eb45f8a051d2df06" + integrity sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg== + dependencies: + asn1.js "^4.10.1" + browserify-aes "^1.2.0" + evp_bytestokey "^1.0.3" + hash-base "~3.0" + pbkdf2 "^3.1.2" + safe-buffer "^5.2.1" + +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@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" + +path-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" + integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-key@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" + integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +pathe@^1.1.1, pathe@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.2.tgz#6c4cb47a945692e48a1ddd6e4094d170516437ec" + integrity sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ== + +pbkdf2@^3.0.3, pbkdf2@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== + 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" + +picocolors@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" + integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pino-abstract-transport@v0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/pino-abstract-transport/-/pino-abstract-transport-0.5.0.tgz#4b54348d8f73713bfd14e3dc44228739aa13d9c0" + integrity sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ== + dependencies: + duplexify "^4.1.2" + split2 "^4.0.0" + +pino-std-serializers@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-4.0.0.tgz#1791ccd2539c091ae49ce9993205e2cd5dbba1e2" + integrity sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q== + +pino@7.11.0: + version "7.11.0" + resolved "https://registry.yarnpkg.com/pino/-/pino-7.11.0.tgz#0f0ea5c4683dc91388081d44bff10c83125066f6" + integrity sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg== + dependencies: + atomic-sleep "^1.0.0" + fast-redact "^3.0.0" + on-exit-leak-free "^0.2.0" + pino-abstract-transport v0.5.0 + pino-std-serializers "^4.0.0" + process-warning "^1.0.0" + quick-format-unescaped "^4.0.3" + real-require "^0.1.0" + safe-stable-stringify "^2.1.0" + sonic-boom "^2.2.1" + thread-stream "^0.15.1" + +pkg-types@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/pkg-types/-/pkg-types-1.1.1.tgz#07b626880749beb607b0c817af63aac1845a73f2" + integrity sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ== + dependencies: + confbox "^0.1.7" + mlly "^1.7.0" + pathe "^1.1.2" + +pngjs@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb" + integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw== + +postcss@8.4.31: + version "8.4.31" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d" + integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ== + dependencies: + nanoid "^3.3.6" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +postcss@^8: + version "8.4.38" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.38.tgz#b387d533baf2054288e337066d81c6bee9db9e0e" + integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.0" + source-map-js "^1.2.0" + +preact@^10.16.0: + version "10.22.0" + resolved "https://registry.yarnpkg.com/preact/-/preact-10.22.0.tgz#a50f38006ae438d255e2631cbdaf7488e6dd4e16" + integrity sha512-RRurnSjJPj4rp5K6XoP45Ui33ncb7e4H7WiOHVpjbkvqvA3U+N8Z6Qbo0AE6leGYBV66n8EhEaFixvIu3SkxFw== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +process-warning@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/process-warning/-/process-warning-1.0.0.tgz#980a0b25dc38cd6034181be4b7726d89066b4616" + integrity sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q== + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== + +prop-types@^15.6.2: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +proxy-compare@2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/proxy-compare/-/proxy-compare-2.5.1.tgz#17818e33d1653fbac8c2ec31406bce8a2966f600" + integrity sha512-oyfc0Tx87Cpwva5ZXezSp5V9vht1c7dZBhvuV/y3ctkgMVUmiAGDVeeB0dKhGSyT0v1ZTEQYpe/RXlBVBNuCLA== + +public-encrypt@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== + 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" + +punycode@^1.2.4, punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== + +qrcode@1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.3.tgz#03afa80912c0dccf12bc93f615a535aad1066170" + integrity sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg== + dependencies: + dijkstrajs "^1.0.1" + encode-utf8 "^1.0.3" + pngjs "^5.0.0" + yargs "^15.3.1" + +qs@^6.11.2: + version "6.12.1" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.12.1.tgz#39422111ca7cbdb70425541cba20c7d7b216599a" + integrity sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ== + dependencies: + side-channel "^1.0.6" + +query-string@7.1.3: + version "7.1.3" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-7.1.3.tgz#a1cf90e994abb113a325804a972d98276fe02328" + integrity sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg== + dependencies: + decode-uri-component "^0.2.2" + filter-obj "^1.1.0" + split-on-first "^1.0.0" + strict-uri-encode "^2.0.0" + +querystring-es3@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + integrity sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA== + +quick-format-unescaped@^4.0.3: + version "4.0.4" + resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz#93ef6dd8d3453cbc7970dd614fad4c5954d6b5a7" + integrity sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg== + +radix3@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/radix3/-/radix3-1.1.2.tgz#fd27d2af3896c6bf4bcdfab6427c69c2afc69ec0" + integrity sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA== + +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + +react-clientside-effect@^1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/react-clientside-effect/-/react-clientside-effect-1.2.6.tgz#29f9b14e944a376b03fb650eed2a754dd128ea3a" + integrity sha512-XGGGRQAKY+q25Lz9a/4EPqom7WRjz3z9R2k4jhVKA/puQFH/5Nt27vFZYql4m4NVNdUvX8PS3O7r/Zzm7cjUlg== + dependencies: + "@babel/runtime" "^7.12.13" + +react-dom@^18: + version "18.3.1" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.3.1.tgz#c2265d79511b57d479b3dd3fdfa51536494c5cb4" + integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== + dependencies: + loose-envify "^1.1.0" + scheduler "^0.23.2" + +react-fast-compare@3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz#929a97a532304ce9fee4bcae44234f1ce2c21d49" + integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ== + +react-focus-lock@^2.9.4: + version "2.12.1" + resolved "https://registry.yarnpkg.com/react-focus-lock/-/react-focus-lock-2.12.1.tgz#0eaefd5fc34de8998967043d902e426352393349" + integrity sha512-lfp8Dve4yJagkHiFrC1bGtib3mF2ktqwPJw4/WGcgPW+pJ/AVQA5X2vI7xgp13FcxFEpYBBHpXai/N2DBNC0Jw== + dependencies: + "@babel/runtime" "^7.0.0" + focus-lock "^1.3.5" + prop-types "^15.6.2" + react-clientside-effect "^1.2.6" + use-callback-ref "^1.3.2" + use-sidecar "^1.1.2" + +react-icons@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/react-icons/-/react-icons-5.2.1.tgz#28c2040917b2a2eda639b0f797bff1888e018e4a" + integrity sha512-zdbW5GstTzXaVKvGSyTaBalt7HSfuK5ovrzlpyiWHAFXndXTdd/1hdDHI4xBM1Mn7YriT6aqESucFl9kEXzrdw== + +react-is@^16.13.1, react-is@^16.7.0: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-remove-scroll-bar@^2.3.3, react-remove-scroll-bar@^2.3.6: + version "2.3.6" + resolved "https://registry.yarnpkg.com/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.6.tgz#3e585e9d163be84a010180b18721e851ac81a29c" + integrity sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g== + dependencies: + react-style-singleton "^2.2.1" + tslib "^2.0.0" + +react-remove-scroll@2.5.5: + version "2.5.5" + resolved "https://registry.yarnpkg.com/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz#1e31a1260df08887a8a0e46d09271b52b3a37e77" + integrity sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw== + dependencies: + react-remove-scroll-bar "^2.3.3" + react-style-singleton "^2.2.1" + tslib "^2.1.0" + use-callback-ref "^1.3.0" + use-sidecar "^1.1.2" + +react-remove-scroll@^2.5.6: + version "2.5.10" + resolved "https://registry.yarnpkg.com/react-remove-scroll/-/react-remove-scroll-2.5.10.tgz#5fae456a23962af6d3c38ca1978bcfe0806c4061" + integrity sha512-m3zvBRANPBw3qxVVjEIPEQinkcwlFZ4qyomuWVpNJdv4c6MvHfXV0C3L9Jx5rr3HeBHKNRX+1jreB5QloDIJjA== + dependencies: + react-remove-scroll-bar "^2.3.6" + react-style-singleton "^2.2.1" + tslib "^2.1.0" + use-callback-ref "^1.3.0" + use-sidecar "^1.1.2" + +react-style-singleton@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/react-style-singleton/-/react-style-singleton-2.2.1.tgz#f99e420492b2d8f34d38308ff660b60d0b1205b4" + integrity sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g== + dependencies: + get-nonce "^1.0.0" + invariant "^2.2.4" + tslib "^2.0.0" + +react@^18: + version "18.3.1" + resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891" + integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== + dependencies: + loose-envify "^1.1.0" + +readable-stream@^2.0.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@^2.3.8: + version "2.3.8" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + 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" + +readable-stream@^3.1.1, readable-stream@^3.6.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +real-require@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/real-require/-/real-require-0.1.0.tgz#736ac214caa20632847b7ca8c1056a0767df9381" + integrity sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg== + +regenerator-runtime@^0.14.0: + version "0.14.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" + integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve@^1.19.0: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-stable-stringify@^2.1.0: + version "2.4.3" + resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz#138c84b6f6edb3db5f8ef3ef7115b8f55ccbf886" + integrity sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g== + +scheduler@^0.23.2: + version "0.23.2" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.2.tgz#414ba64a3b282892e944cf2108ecc078d115cdc3" + integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ== + dependencies: + loose-envify "^1.1.0" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== + +set-function-length@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" + integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + +setimmediate@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== + +sha.js@^2.4.0, sha.js@^2.4.11, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +side-channel@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" + integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + object-inspect "^1.13.1" + +signal-exit@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== + +sonic-boom@^2.2.1: + version "2.8.0" + resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-2.8.0.tgz#c1def62a77425090e6ad7516aad8eb402e047611" + integrity sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg== + dependencies: + atomic-sleep "^1.0.0" + +source-map-js@^1.0.2, source-map-js@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af" + integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== + +source-map@^0.5.7: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== + +split-on-first@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" + integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== + +split2@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/split2/-/split2-4.2.0.tgz#c9c5920904d148bab0b9f67145f245a86aadbfa4" + integrity sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== + +std-env@^3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.7.0.tgz#c9f7386ced6ecf13360b6c6c55b8aaa4ef7481d2" + integrity sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg== + +stream-browserify@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" + integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== + dependencies: + inherits "~2.0.1" + readable-stream "^2.0.2" + +stream-http@^2.7.2: + version "2.8.3" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" + integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.1" + readable-stream "^2.3.6" + to-arraybuffer "^1.0.0" + xtend "^4.0.0" + +stream-shift@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.3.tgz#85b8fab4d71010fc3ba8772e8046cc49b8a3864b" + integrity sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ== + +streamsearch@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" + integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== + +strict-uri-encode@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" + integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string_decoder@^1.0.0, string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-final-newline@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" + integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== + +styled-jsx@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.1.1.tgz#839a1c3aaacc4e735fed0781b8619ea5d0009d1f" + integrity sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw== + dependencies: + client-only "0.0.1" + +stylis@4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51" + integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw== + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +system-architecture@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/system-architecture/-/system-architecture-0.1.0.tgz#71012b3ac141427d97c67c56bc7921af6bff122d" + integrity sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA== + +thirdweb@^5.28.0: + version "5.28.0" + resolved "https://registry.yarnpkg.com/thirdweb/-/thirdweb-5.28.0.tgz#0584c940330d499c82d69d21a0237e4f4524db3b" + integrity sha512-nEc2b+5tWdvmizcUIIzovFuXeXTKIzTO+sRviiPYaoaAddNJjuoyWR58lsmo2gIBD8jjJohVBhN7FTRdz2ERbA== + dependencies: + "@coinbase/wallet-sdk" "4.0.3" + "@emotion/react" "11.11.4" + "@emotion/styled" "11.11.0" + "@google/model-viewer" "2.1.1" + "@noble/curves" "1.4.0" + "@noble/hashes" "1.4.0" + "@passwordless-id/webauthn" "^1.6.1" + "@radix-ui/react-dialog" "1.0.5" + "@radix-ui/react-focus-scope" "1.0.4" + "@radix-ui/react-icons" "1.3.0" + "@radix-ui/react-tooltip" "1.0.7" + "@tanstack/react-query" "5.29.2" + "@walletconnect/ethereum-provider" "2.12.2" + "@walletconnect/sign-client" "^2.13.1" + abitype "1.0.0" + fast-text-encoding "^1.0.6" + fuse.js "7.0.0" + input-otp "^1.2.4" + mipd "0.0.7" + node-libs-browser "2.2.1" + uqr "0.1.2" + viem "2.10.9" + +thread-stream@^0.15.1: + version "0.15.2" + resolved "https://registry.yarnpkg.com/thread-stream/-/thread-stream-0.15.2.tgz#fb95ad87d2f1e28f07116eb23d85aba3bc0425f4" + integrity sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA== + dependencies: + real-require "^0.1.0" + +three@^0.146.0: + version "0.146.0" + resolved "https://registry.yarnpkg.com/three/-/three-0.146.0.tgz#fd80f0d128ab4bb821a02191ae241e4e6326f17a" + integrity sha512-1lvNfLezN6OJ9NaFAhfX4sm5e9YCzHtaRgZ1+B4C+Hv6TibRMsuBAM5/wVKzxjpYIlMymvgsHEFrrigEfXnb2A== + +timers-browserify@^2.0.4: + version "2.0.12" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" + integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== + dependencies: + setimmediate "^1.0.4" + +tiny-invariant@^1.0.6: + version "1.3.3" + resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.3.tgz#46680b7a873a0d5d10005995eb90a70d74d60127" + integrity sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg== + +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + integrity sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA== + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +toggle-selection@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" + integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ== + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + +tslib@1.14.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" + integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== + +tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.1, tslib@^2.4.0: + version "2.6.2" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + +tty-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + integrity sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw== + +typescript@^5: + version "5.4.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.5.tgz#42ccef2c571fdbd0f6718b1d1f5e6e5ef006f611" + integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== + +ufo@^1.4.0, ufo@^1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.5.3.tgz#3325bd3c977b6c6cd3160bf4ff52989adc9d3344" + integrity sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw== + +uint8arrays@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-3.1.0.tgz#8186b8eafce68f28bd29bd29d683a311778901e2" + integrity sha512-ei5rfKtoRO8OyOIor2Rz5fhzjThwIHJZ3uyDPnDHTXbP0aMQ1RN/6AI5B5d9dBxJOU+BvOAk7ZQ1xphsX8Lrog== + dependencies: + multiformats "^9.4.2" + +uint8arrays@^3.0.0, uint8arrays@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-3.1.1.tgz#2d8762acce159ccd9936057572dade9459f65ae0" + integrity sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg== + dependencies: + multiformats "^9.4.2" + +uncrypto@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/uncrypto/-/uncrypto-0.1.3.tgz#e1288d609226f2d02d8d69ee861fa20d8348ef2b" + integrity sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q== + +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + +unenv@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/unenv/-/unenv-1.9.0.tgz#469502ae85be1bd3a6aa60f810972b1a904ca312" + integrity sha512-QKnFNznRxmbOF1hDgzpqrlIf6NC5sbZ2OJ+5Wl3OX8uM+LUJXbj4TXvLJCtwbPTmbMHCLIz6JLKNinNsMShK9g== + dependencies: + consola "^3.2.3" + defu "^6.1.3" + mime "^3.0.0" + node-fetch-native "^1.6.1" + pathe "^1.1.1" + +unfetch@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.2.0.tgz#7e21b0ef7d363d8d9af0fb929a5555f6ef97a3be" + integrity sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA== + +unstorage@^1.9.0: + version "1.10.2" + resolved "https://registry.yarnpkg.com/unstorage/-/unstorage-1.10.2.tgz#fb7590ada8b30e83be9318f85100158b02a76dae" + integrity sha512-cULBcwDqrS8UhlIysUJs2Dk0Mmt8h7B0E6mtR+relW9nZvsf/u4SkAYyNliPiPW7XtFNb5u3IUMkxGxFTTRTgQ== + dependencies: + anymatch "^3.1.3" + chokidar "^3.6.0" + destr "^2.0.3" + h3 "^1.11.1" + listhen "^1.7.2" + lru-cache "^10.2.0" + mri "^1.2.0" + node-fetch-native "^1.6.2" + ofetch "^1.3.3" + ufo "^1.4.0" + +untun@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/untun/-/untun-0.1.3.tgz#5d10dee37a3a5737ff03d158be877dae0a0e58a6" + integrity sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ== + dependencies: + citty "^0.1.5" + consola "^3.2.3" + pathe "^1.1.1" + +uqr@0.1.2, uqr@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/uqr/-/uqr-0.1.2.tgz#5c6cd5dcff9581f9bb35b982cb89e2c483a41d7d" + integrity sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA== + +url@^0.11.0: + version "0.11.3" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.3.tgz#6f495f4b935de40ce4a0a52faee8954244f3d3ad" + integrity sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw== + dependencies: + punycode "^1.4.1" + qs "^6.11.2" + +use-callback-ref@^1.3.0, use-callback-ref@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/use-callback-ref/-/use-callback-ref-1.3.2.tgz#6134c7f6ff76e2be0b56c809b17a650c942b1693" + integrity sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA== + dependencies: + tslib "^2.0.0" + +use-sidecar@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/use-sidecar/-/use-sidecar-1.1.2.tgz#2f43126ba2d7d7e117aa5855e5d8f0276dfe73c2" + integrity sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw== + dependencies: + detect-node-es "^1.1.0" + tslib "^2.0.0" + +use-sync-external-store@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" + integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== + +util-deprecate@^1.0.1, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +util@^0.10.4: + version "0.10.4" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz#3aa0125bfe668a4672de58857d3ace27ecb76901" + integrity sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A== + dependencies: + inherits "2.0.3" + +util@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" + integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== + dependencies: + inherits "2.0.3" + +valtio@1.11.2: + version "1.11.2" + resolved "https://registry.yarnpkg.com/valtio/-/valtio-1.11.2.tgz#b8049c02dfe65620635d23ebae9121a741bb6530" + integrity sha512-1XfIxnUXzyswPAPXo1P3Pdx2mq/pIqZICkWN60Hby0d9Iqb+MEIpqgYVlbflvHdrp2YR/q3jyKWRPJJ100yxaw== + dependencies: + proxy-compare "2.5.1" + use-sync-external-store "1.2.0" + +viem@2.10.9: + version "2.10.9" + resolved "https://registry.yarnpkg.com/viem/-/viem-2.10.9.tgz#2ccd69cb073b547507ea86c42c122daa3128af55" + integrity sha512-XsbEXhOcmQOkI80zDLW0EdksimNuYTS61HZ03vQYpHoug7gwVHDQ83nY+nuyT7punuFx0fmRG6+HZg3yVQhptQ== + dependencies: + "@adraffy/ens-normalize" "1.10.0" + "@noble/curves" "1.2.0" + "@noble/hashes" "1.3.2" + "@scure/bip32" "1.3.2" + "@scure/bip39" "1.2.1" + abitype "1.0.0" + isows "1.0.4" + ws "8.13.0" + +vm-browserify@^1.0.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" + integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +which-module@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" + integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +ws@8.13.0: + version "8.13.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" + integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== + +ws@^7.5.1: + version "7.5.9" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" + integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== + +xtend@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + +yaml@^1.10.0: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs@^15.3.1: + version "15.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== + dependencies: + 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" From 02408fdd3acf8e73d19100f66f02322cade90273 Mon Sep 17 00:00:00 2001 From: Pradyumna Kaushal Date: Sun, 3 Nov 2024 20:30:08 +0530 Subject: [PATCH 2/3] nfc --- marketplace/.gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/marketplace/.gitignore b/marketplace/.gitignore index 00bba9b..85e3790 100644 --- a/marketplace/.gitignore +++ b/marketplace/.gitignore @@ -1,6 +1,7 @@ # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. # dependencies + /node_modules /.pnp .pnp.js From 4077ec25756d9bf2da229e496961cd972704f54d Mon Sep 17 00:00:00 2001 From: Pradyumna Kaushal Date: Sun, 3 Nov 2024 20:31:34 +0530 Subject: [PATCH 3/3] nfc --- jsnfc | 1 - nfcfrontend/index.html | 46 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) delete mode 160000 jsnfc create mode 100644 nfcfrontend/index.html diff --git a/jsnfc b/jsnfc deleted file mode 160000 index 024c05e..0000000 --- a/jsnfc +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 024c05e9e05c3dcfce979ba188d68dcdd0e7fa5e diff --git a/nfcfrontend/index.html b/nfcfrontend/index.html new file mode 100644 index 0000000..84be576 --- /dev/null +++ b/nfcfrontend/index.html @@ -0,0 +1,46 @@ + + + + + + + Web NFC Reader + + + + +

Web NFC Reader

+ +

+ + + + \ No newline at end of file