From 3b438924d3de14edbb38f600927f531796561258 Mon Sep 17 00:00:00 2001 From: Garvit Khatri Date: Fri, 20 Sep 2024 15:47:55 +0100 Subject: [PATCH 01/13] 7677 mvp --- bun.lockb | Bin 579552 -> 577440 bytes package.json | 27 +- packages/wagmi-demo/.gitignore | 24 + packages/wagmi-demo/.npmrc | 1 + packages/wagmi-demo/README.md | 1 + packages/wagmi-demo/biome.json | 13 + .../index.html | 0 packages/wagmi-demo/package.json | 15 + packages/wagmi-demo/pnpm-lock.yaml | 9432 +++++++++++++++++ packages/wagmi-demo/src/App.tsx | 101 + .../wagmi-demo/src/erc7677hookCreator.tsx | 0 .../src/index.css | 14 - .../src/main.tsx | 22 +- packages/wagmi-demo/src/paymasterService.ts | 199 + .../wagmi-demo/src/usePaymasterService.tsx | 43 + packages/wagmi-demo/src/useSendTransaction.ts | 173 + .../src/useWaitForTransactionReceipt.ts | 206 + .../src/vite-env.d.ts | 0 packages/wagmi-demo/src/wagmi.ts | 19 + packages/wagmi-demo/tsconfig.json | 25 + packages/wagmi-demo/tsconfig.node.json | 10 + packages/wagmi-demo/vite.config.ts | 7 + packages/wagmi-test-demo/.env.example | 2 - packages/wagmi-test-demo/package.json | 27 - packages/wagmi-test-demo/src/App.tsx | 183 - .../wagmi/connectors/biconomySmartAccount.ts | 53 - .../wagmi/connectors/kernelSmartAccount.ts | 53 - packages/wagmi/connectors/safeSmartAccount.ts | 50 - .../wagmi/connectors/simpleSmartAccount.ts | 90 - packages/wagmi/connectors/smartAccount.ts | 72 - packages/wagmi/index.ts | 32 - packages/wagmi/package.json | 6 +- 32 files changed, 10298 insertions(+), 602 deletions(-) create mode 100644 packages/wagmi-demo/.gitignore create mode 100644 packages/wagmi-demo/.npmrc create mode 100644 packages/wagmi-demo/README.md create mode 100644 packages/wagmi-demo/biome.json rename packages/{wagmi-test-demo => wagmi-demo}/index.html (100%) create mode 100644 packages/wagmi-demo/package.json create mode 100644 packages/wagmi-demo/pnpm-lock.yaml create mode 100644 packages/wagmi-demo/src/App.tsx create mode 100644 packages/wagmi-demo/src/erc7677hookCreator.tsx rename packages/{wagmi-test-demo => wagmi-demo}/src/index.css (62%) rename packages/{wagmi-test-demo => wagmi-demo}/src/main.tsx (54%) create mode 100644 packages/wagmi-demo/src/paymasterService.ts create mode 100644 packages/wagmi-demo/src/usePaymasterService.tsx create mode 100644 packages/wagmi-demo/src/useSendTransaction.ts create mode 100644 packages/wagmi-demo/src/useWaitForTransactionReceipt.ts rename packages/{wagmi-test-demo => wagmi-demo}/src/vite-env.d.ts (100%) create mode 100644 packages/wagmi-demo/src/wagmi.ts create mode 100644 packages/wagmi-demo/tsconfig.json create mode 100644 packages/wagmi-demo/tsconfig.node.json create mode 100644 packages/wagmi-demo/vite.config.ts delete mode 100644 packages/wagmi-test-demo/.env.example delete mode 100644 packages/wagmi-test-demo/package.json delete mode 100644 packages/wagmi-test-demo/src/App.tsx delete mode 100644 packages/wagmi/connectors/biconomySmartAccount.ts delete mode 100644 packages/wagmi/connectors/kernelSmartAccount.ts delete mode 100644 packages/wagmi/connectors/safeSmartAccount.ts delete mode 100644 packages/wagmi/connectors/simpleSmartAccount.ts delete mode 100644 packages/wagmi/connectors/smartAccount.ts diff --git a/bun.lockb b/bun.lockb index 4757c3aca92e96f0e3df57b82e55651a8ba9635a..54bfcfad7f61378bcc76c03166a66b2990a6acfd 100755 GIT binary patch delta 138711 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Çsg{Gpg9X|!|a{xcga0oyA91_1@ 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

ZL9AFrw|@b~9qLMg20XW6Lp_B8QJ! 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 delta 139957 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±*M@AwBt*(*SWI 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 diff --git a/package.json b/package.json index 35ead2f7..c929d91b 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "workspaces": [ "packages/permissionless", "packages/wagmi", - "packages/wagmi-test-demo", + "packages/wagmi-demo", "packages/create-permissionless-app" ], "private": true, @@ -24,7 +24,23 @@ "tslib": "^2.6.2", "@pimlico/alto": "^0.0.4", "prool": "^0.0.12", - "typescript": "^5.2.2" + "typescript": "^5.2.2", + "async-mutex": "^0.5.0", + "get-port": "^7.0.0", + "tsc-alias": "^1.8.8", + "vitest": "^1.2.0", + "viem": "^2.20.0", + "wagmi": "^2.12.8", + "@permissionless/wagmi": "workspace:packages/wagmi", + "@types/react": "^18.3.1", + "@types/react-dom": "^18.3.0", + "@vitejs/plugin-react": "^4.2.1", + "@wagmi/cli": "latest", + "buffer": "^6.0.3", + "vite": "^5.2.11", + "@tanstack/react-query": "5.45.1", + "react": "^18.3.1", + "react-dom": "^18.3.1" }, "description": "", "keywords": [], @@ -55,12 +71,5 @@ }, "simple-git-hooks": { "pre-commit": "bun run format && bun run lint:fix" - }, - "dependencies": { - "async-mutex": "^0.5.0", - "get-port": "^7.0.0", - "tsc-alias": "^1.8.8", - "vitest": "^1.2.0", - "viem": "2.20.0" } } diff --git a/packages/wagmi-demo/.gitignore b/packages/wagmi-demo/.gitignore new file mode 100644 index 00000000..a547bf36 --- /dev/null +++ b/packages/wagmi-demo/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/packages/wagmi-demo/.npmrc b/packages/wagmi-demo/.npmrc new file mode 100644 index 00000000..ca1e9d98 --- /dev/null +++ b/packages/wagmi-demo/.npmrc @@ -0,0 +1 @@ +legacy-peer-deps = true \ No newline at end of file diff --git a/packages/wagmi-demo/README.md b/packages/wagmi-demo/README.md new file mode 100644 index 00000000..15f6f795 --- /dev/null +++ b/packages/wagmi-demo/README.md @@ -0,0 +1 @@ +This is a [Vite](https://vitejs.dev) project bootstrapped with [`create-wagmi`](https://github.com/wevm/wagmi/tree/main/packages/create-wagmi). diff --git a/packages/wagmi-demo/biome.json b/packages/wagmi-demo/biome.json new file mode 100644 index 00000000..51a892cc --- /dev/null +++ b/packages/wagmi-demo/biome.json @@ -0,0 +1,13 @@ +{ + "formatter": { + "enabled": true, + "indentStyle": "space", + "lineWidth": 120 + }, + "linter": { + "enabled": true + }, + "organizeImports": { + "enabled": true + } +} diff --git a/packages/wagmi-test-demo/index.html b/packages/wagmi-demo/index.html similarity index 100% rename from packages/wagmi-test-demo/index.html rename to packages/wagmi-demo/index.html diff --git a/packages/wagmi-demo/package.json b/packages/wagmi-demo/package.json new file mode 100644 index 00000000..c08baffa --- /dev/null +++ b/packages/wagmi-demo/package.json @@ -0,0 +1,15 @@ +{ + "name": "7677", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "lint": "biome check .", + "preview": "vite preview" + }, + "dependencies": { + "eventemitter3": "^5.0.1" + } +} diff --git a/packages/wagmi-demo/pnpm-lock.yaml b/packages/wagmi-demo/pnpm-lock.yaml new file mode 100644 index 00000000..3d9659db --- /dev/null +++ b/packages/wagmi-demo/pnpm-lock.yaml @@ -0,0 +1,9432 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@tanstack/react-query': + specifier: 5.45.1 + version: 5.45.1(react@18.3.1) + react: + specifier: ^18.3.1 + version: 18.3.1 + react-dom: + specifier: ^18.3.1 + version: 18.3.1(react@18.3.1) + viem: + specifier: latest + version: 2.21.1(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8) + wagmi: + specifier: latest + version: 2.12.8(@tanstack/query-core@5.45.0)(@tanstack/react-query@5.45.1(react@18.3.1))(@types/react@18.3.5)(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.3.5)(bufferutil@4.0.8)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.2)(typescript@5.5.4)(utf-8-validate@5.0.10)(viem@2.21.1(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8) + devDependencies: + '@biomejs/biome': + specifier: ^1.8.0 + version: 1.8.3 + '@types/react': + specifier: ^18.3.1 + version: 18.3.5 + '@types/react-dom': + specifier: ^18.3.0 + version: 18.3.0 + '@vitejs/plugin-react': + specifier: ^4.2.1 + version: 4.3.1(vite@5.4.3(@types/node@22.5.2)(terser@5.31.6)) + '@wagmi/cli': + specifier: latest + version: 2.1.15(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10) + buffer: + specifier: ^6.0.3 + version: 6.0.3 + typescript: + specifier: ^5.4.5 + version: 5.5.4 + vite: + specifier: ^5.2.11 + version: 5.4.3(@types/node@22.5.2)(terser@5.31.6) + +packages: + + '@adraffy/ens-normalize@1.10.0': + resolution: {integrity: sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q==} + + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.25.4': + resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.25.2': + resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.25.6': + resolution: {integrity: sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-annotate-as-pure@7.24.7': + resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-builder-binary-assignment-operator-visitor@7.24.7': + resolution: {integrity: sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.25.2': + resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-create-class-features-plugin@7.25.4': + resolution: {integrity: sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-create-regexp-features-plugin@7.25.2': + resolution: {integrity: sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-define-polyfill-provider@0.6.2': + resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + '@babel/helper-member-expression-to-functions@7.24.8': + resolution: {integrity: sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.24.7': + resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.25.2': + resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-optimise-call-expression@7.24.7': + resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==} + engines: {node: '>=6.9.0'} + + '@babel/helper-plugin-utils@7.24.8': + resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-remap-async-to-generator@7.25.0': + resolution: {integrity: sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-replace-supers@7.25.0': + resolution: {integrity: sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-simple-access@7.24.7': + resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-skip-transparent-expression-wrappers@7.24.7': + resolution: {integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.24.8': + resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.24.8': + resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} + engines: {node: '>=6.9.0'} + + '@babel/helper-wrap-function@7.25.0': + resolution: {integrity: sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.25.6': + resolution: {integrity: sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==} + engines: {node: '>=6.9.0'} + + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.25.6': + resolution: {integrity: sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.3': + resolution: {integrity: sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.0': + resolution: {integrity: sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.0': + resolution: {integrity: sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7': + resolution: {integrity: sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.0': + resolution: {integrity: sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-proposal-class-properties@7.18.6': + resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-export-default-from@7.24.7': + resolution: {integrity: sha512-CcmFwUJ3tKhLjPdt4NP+SHMshebytF8ZTYOv5ZDpkzq2sin80Wb5vJrGt8fhPrORQCfoSa0LAxC/DW+GAC5+Hw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6': + resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-optional-chaining@7.21.0': + resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-async-generators@7.8.4': + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-properties@7.12.13': + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-static-block@7.14.5': + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-dynamic-import@7.8.3': + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-export-default-from@7.24.7': + resolution: {integrity: sha512-bTPz4/635WQ9WhwsyPdxUJDVpsi/X9BMmy/8Rf/UAlOO4jSql4CxUCjWI5PiM+jG+c4LVPTScoTw80geFj9+Bw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-export-namespace-from@7.8.3': + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-flow@7.24.7': + resolution: {integrity: sha512-9G8GYT/dxn/D1IIKOUBmGX0mnmj46mGH9NnZyJLwtCpgh5f7D2VbuKodb+2s9m1Yavh1s7ASQN8lf0eqrb1LTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-assertions@7.25.6': + resolution: {integrity: sha512-aABl0jHw9bZ2karQ/uUD6XP4u0SG22SJrOHFoL6XB1R7dTovOP4TzTlsxOYC5yQ1pdscVK2JTUnF6QL3ARoAiQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-attributes@7.25.6': + resolution: {integrity: sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-meta@7.10.4': + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-json-strings@7.8.3': + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-jsx@7.24.7': + resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4': + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-numeric-separator@7.10.4': + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-object-rest-spread@7.8.3': + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3': + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-chaining@7.8.3': + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-private-property-in-object@7.14.5': + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-top-level-await@7.14.5': + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-typescript@7.25.4': + resolution: {integrity: sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6': + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-arrow-functions@7.24.7': + resolution: {integrity: sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-generator-functions@7.25.4': + resolution: {integrity: sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-to-generator@7.24.7': + resolution: {integrity: sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoped-functions@7.24.7': + resolution: {integrity: sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoping@7.25.0': + resolution: {integrity: sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-properties@7.25.4': + resolution: {integrity: sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-static-block@7.24.7': + resolution: {integrity: sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + + '@babel/plugin-transform-classes@7.25.4': + resolution: {integrity: sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-computed-properties@7.24.7': + resolution: {integrity: sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-destructuring@7.24.8': + resolution: {integrity: sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-dotall-regex@7.24.7': + resolution: {integrity: sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-keys@7.24.7': + resolution: {integrity: sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.0': + resolution: {integrity: sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-dynamic-import@7.24.7': + resolution: {integrity: sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-exponentiation-operator@7.24.7': + resolution: {integrity: sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-export-namespace-from@7.24.7': + resolution: {integrity: sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-flow-strip-types@7.25.2': + resolution: {integrity: sha512-InBZ0O8tew5V0K6cHcQ+wgxlrjOw1W4wDXLkOTjLRD8GYhTSkxTVBtdy3MMtvYBrbAWa1Qm3hNoTc1620Yj+Mg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-for-of@7.24.7': + resolution: {integrity: sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-function-name@7.25.1': + resolution: {integrity: sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-json-strings@7.24.7': + resolution: {integrity: sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-literals@7.25.2': + resolution: {integrity: sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-logical-assignment-operators@7.24.7': + resolution: {integrity: sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-member-expression-literals@7.24.7': + resolution: {integrity: sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-amd@7.24.7': + resolution: {integrity: sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-commonjs@7.24.8': + resolution: {integrity: sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-systemjs@7.25.0': + resolution: {integrity: sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-umd@7.24.7': + resolution: {integrity: sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-named-capturing-groups-regex@7.24.7': + resolution: {integrity: sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-new-target@7.24.7': + resolution: {integrity: sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-nullish-coalescing-operator@7.24.7': + resolution: {integrity: sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-numeric-separator@7.24.7': + resolution: {integrity: sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-rest-spread@7.24.7': + resolution: {integrity: sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-super@7.24.7': + resolution: {integrity: sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-catch-binding@7.24.7': + resolution: {integrity: sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-chaining@7.24.8': + resolution: {integrity: sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-parameters@7.24.7': + resolution: {integrity: sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-methods@7.25.4': + resolution: {integrity: sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-property-in-object@7.24.7': + resolution: {integrity: sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-property-literals@7.24.7': + resolution: {integrity: sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-display-name@7.24.7': + resolution: {integrity: sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-self@7.24.7': + resolution: {integrity: sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-source@7.24.7': + resolution: {integrity: sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx@7.25.2': + resolution: {integrity: sha512-KQsqEAVBpU82NM/B/N9j9WOdphom1SZH3R+2V7INrQUH+V9EBFwZsEJl8eBIVeQE62FxJCc70jzEZwqU7RcVqA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-regenerator@7.24.7': + resolution: {integrity: sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-reserved-words@7.24.7': + resolution: {integrity: sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-runtime@7.25.4': + resolution: {integrity: sha512-8hsyG+KUYGY0coX6KUCDancA0Vw225KJ2HJO0yCNr1vq5r+lJTleDaJf0K7iOhjw4SWhu03TMBzYTJ9krmzULQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-shorthand-properties@7.24.7': + resolution: {integrity: sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-spread@7.24.7': + resolution: {integrity: sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-sticky-regex@7.24.7': + resolution: {integrity: sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-template-literals@7.24.7': + resolution: {integrity: sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typeof-symbol@7.24.8': + resolution: {integrity: sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typescript@7.25.2': + resolution: {integrity: sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-escapes@7.24.7': + resolution: {integrity: sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-property-regex@7.24.7': + resolution: {integrity: sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-regex@7.24.7': + resolution: {integrity: sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-sets-regex@7.25.4': + resolution: {integrity: sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/preset-env@7.25.4': + resolution: {integrity: sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-flow@7.24.7': + resolution: {integrity: sha512-NL3Lo0NorCU607zU3NwRyJbpaB6E3t0xtd3LfAQKDfkeX4/ggcDXvkmkW42QWT5owUeW/jAe4hn+2qvkV1IbfQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-modules@0.1.6-no-external-plugins': + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + + '@babel/preset-typescript@7.24.7': + resolution: {integrity: sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/register@7.24.6': + resolution: {integrity: sha512-WSuFCc2wCqMeXkz/i3yfAAsxwWflEgbVkZzivgAmXl/MxrXeoYFZOOPllbC8R8WTF7u61wSRQtDVZ1879cdu6w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/regjsgen@0.8.0': + resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} + + '@babel/runtime@7.25.6': + resolution: {integrity: sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.25.0': + resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.25.6': + resolution: {integrity: sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.25.6': + resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} + engines: {node: '>=6.9.0'} + + '@biomejs/biome@1.8.3': + resolution: {integrity: sha512-/uUV3MV+vyAczO+vKrPdOW0Iaet7UnJMU4bNMinggGJTAnBPjCoLEYcyYtYHNnUNYlv4xZMH6hVIQCAozq8d5w==} + engines: {node: '>=14.21.3'} + hasBin: true + + '@biomejs/cli-darwin-arm64@1.8.3': + resolution: {integrity: sha512-9DYOjclFpKrH/m1Oz75SSExR8VKvNSSsLnVIqdnKexj6NwmiMlKk94Wa1kZEdv6MCOHGHgyyoV57Cw8WzL5n3A==} + engines: {node: '>=14.21.3'} + cpu: [arm64] + os: [darwin] + + '@biomejs/cli-darwin-x64@1.8.3': + resolution: {integrity: sha512-UeW44L/AtbmOF7KXLCoM+9PSgPo0IDcyEUfIoOXYeANaNXXf9mLUwV1GeF2OWjyic5zj6CnAJ9uzk2LT3v/wAw==} + engines: {node: '>=14.21.3'} + cpu: [x64] + os: [darwin] + + '@biomejs/cli-linux-arm64-musl@1.8.3': + resolution: {integrity: sha512-9yjUfOFN7wrYsXt/T/gEWfvVxKlnh3yBpnScw98IF+oOeCYb5/b/+K7YNqKROV2i1DlMjg9g/EcN9wvj+NkMuQ==} + engines: {node: '>=14.21.3'} + cpu: [arm64] + os: [linux] + + '@biomejs/cli-linux-arm64@1.8.3': + resolution: {integrity: sha512-fed2ji8s+I/m8upWpTJGanqiJ0rnlHOK3DdxsyVLZQ8ClY6qLuPc9uehCREBifRJLl/iJyQpHIRufLDeotsPtw==} + engines: {node: '>=14.21.3'} + cpu: [arm64] + os: [linux] + + '@biomejs/cli-linux-x64-musl@1.8.3': + resolution: {integrity: sha512-UHrGJX7PrKMKzPGoEsooKC9jXJMa28TUSMjcIlbDnIO4EAavCoVmNQaIuUSH0Ls2mpGMwUIf+aZJv657zfWWjA==} + engines: {node: '>=14.21.3'} + cpu: [x64] + os: [linux] + + '@biomejs/cli-linux-x64@1.8.3': + resolution: {integrity: sha512-I8G2QmuE1teISyT8ie1HXsjFRz9L1m5n83U1O6m30Kw+kPMPSKjag6QGUn+sXT8V+XWIZxFFBoTDEDZW2KPDDw==} + engines: {node: '>=14.21.3'} + cpu: [x64] + os: [linux] + + '@biomejs/cli-win32-arm64@1.8.3': + resolution: {integrity: sha512-J+Hu9WvrBevfy06eU1Na0lpc7uR9tibm9maHynLIoAjLZpQU3IW+OKHUtyL8p6/3pT2Ju5t5emReeIS2SAxhkQ==} + engines: {node: '>=14.21.3'} + cpu: [arm64] + os: [win32] + + '@biomejs/cli-win32-x64@1.8.3': + resolution: {integrity: sha512-/PJ59vA1pnQeKahemaQf4Nyj7IKUvGQSc3Ze1uIGi+Wvr1xF7rGobSrAAG01T/gUDG21vkDsZYM03NAmPiVkqg==} + engines: {node: '>=14.21.3'} + cpu: [x64] + os: [win32] + + '@coinbase/wallet-sdk@3.9.3': + resolution: {integrity: sha512-N/A2DRIf0Y3PHc1XAMvbBUu4zisna6qAdqABMZwBMNEfWrXpAwx16pZGkYCLGE+Rvv1edbcB2LYDRnACNcmCiw==} + + '@coinbase/wallet-sdk@4.0.4': + resolution: {integrity: sha512-74c040CRnGhfRjr3ArnkAgud86erIqdkPHNt5HR1k9u97uTIZCJww9eGYT67Qf7gHPpGS/xW8Be1D4dvRm63FA==} + + '@esbuild/aix-ppc64@0.19.12': + resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + + '@esbuild/aix-ppc64@0.21.5': + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.19.12': + resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm64@0.21.5': + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.19.12': + resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-arm@0.21.5': + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.19.12': + resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/android-x64@0.21.5': + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.19.12': + resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-arm64@0.21.5': + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.19.12': + resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/darwin-x64@0.21.5': + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.19.12': + resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-arm64@0.21.5': + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.19.12': + resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.21.5': + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.19.12': + resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm64@0.21.5': + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.19.12': + resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-arm@0.21.5': + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.19.12': + resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-ia32@0.21.5': + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.19.12': + resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-loong64@0.21.5': + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.19.12': + resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-mips64el@0.21.5': + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.19.12': + resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-ppc64@0.21.5': + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.19.12': + resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-riscv64@0.21.5': + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.19.12': + resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-s390x@0.21.5': + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.19.12': + resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/linux-x64@0.21.5': + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-x64@0.19.12': + resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.21.5': + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-x64@0.19.12': + resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.21.5': + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.19.12': + resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/sunos-x64@0.21.5': + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.19.12': + resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-arm64@0.21.5': + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.19.12': + resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-ia32@0.21.5': + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.19.12': + resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@esbuild/win32-x64@0.21.5': + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@ethereumjs/common@3.2.0': + resolution: {integrity: sha512-pksvzI0VyLgmuEF2FA/JR/4/y6hcPq8OUail3/AvycBaW1d5VSauOZzqGvJ3RTmR4MU35lWE8KseKOsEhrFRBA==} + + '@ethereumjs/rlp@4.0.1': + resolution: {integrity: sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==} + engines: {node: '>=14'} + hasBin: true + + '@ethereumjs/tx@4.2.0': + resolution: {integrity: sha512-1nc6VO4jtFd172BbSnTnDQVr9IYBFl1y4xPzZdtkrkKIncBCkdbgfdRV+MiTkJYAtTxvV12GRZLqBFT1PNK6Yw==} + engines: {node: '>=14'} + + '@ethereumjs/util@8.1.0': + resolution: {integrity: sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==} + engines: {node: '>=14'} + + '@hapi/hoek@9.3.0': + resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} + + '@hapi/topo@5.1.0': + resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} + + '@isaacs/ttlcache@1.4.1': + resolution: {integrity: sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==} + engines: {node: '>=12'} + + '@jest/create-cache-key-function@29.7.0': + resolution: {integrity: sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/environment@29.7.0': + resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/fake-timers@29.7.0': + resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/types@26.6.2': + resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==} + engines: {node: '>= 10.14.2'} + + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jridgewell/gen-mapping@0.3.5': + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/source-map@0.3.6': + resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} + + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + + '@lit-labs/ssr-dom-shim@1.2.1': + resolution: {integrity: sha512-wx4aBmgeGvFmOKucFKY+8VFJSYZxs9poN3SDNQFF6lT6NrQUnHiPB2PWz2sc4ieEcAaYYzN+1uWahEeTq2aRIQ==} + + '@lit/reactive-element@1.6.3': + resolution: {integrity: sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==} + + '@metamask/eth-json-rpc-provider@1.0.1': + resolution: {integrity: sha512-whiUMPlAOrVGmX8aKYVPvlKyG4CpQXiNNyt74vE1xb5sPvmx5oA7B/kOi/JdBvhGQq97U1/AVdXEdk2zkP8qyA==} + engines: {node: '>=14.0.0'} + + '@metamask/json-rpc-engine@7.3.3': + resolution: {integrity: sha512-dwZPq8wx9yV3IX2caLi9q9xZBw2XeIoYqdyihDDDpuHVCEiqadJLwqM3zy+uwf6F1QYQ65A8aOMQg1Uw7LMLNg==} + engines: {node: '>=16.0.0'} + + '@metamask/json-rpc-engine@8.0.2': + resolution: {integrity: sha512-IoQPmql8q7ABLruW7i4EYVHWUbF74yrp63bRuXV5Zf9BQwcn5H9Ww1eLtROYvI1bUXwOiHZ6qT5CWTrDc/t/AA==} + engines: {node: '>=16.0.0'} + + '@metamask/json-rpc-middleware-stream@7.0.2': + resolution: {integrity: sha512-yUdzsJK04Ev98Ck4D7lmRNQ8FPioXYhEUZOMS01LXW8qTvPGiRVXmVltj2p4wrLkh0vW7u6nv0mNl5xzC5Qmfg==} + engines: {node: '>=16.0.0'} + + '@metamask/object-multiplex@2.0.0': + resolution: {integrity: sha512-+ItrieVZie3j2LfYE0QkdW3dsEMfMEp419IGx1zyeLqjRZ14iQUPRO0H6CGgfAAoC0x6k2PfCAGRwJUA9BMrqA==} + engines: {node: ^16.20 || ^18.16 || >=20} + + '@metamask/onboarding@1.0.1': + resolution: {integrity: sha512-FqHhAsCI+Vacx2qa5mAFcWNSrTcVGMNjzxVgaX8ECSny/BJ9/vgXP9V7WF/8vb9DltPeQkxr+Fnfmm6GHfmdTQ==} + + '@metamask/providers@16.1.0': + resolution: {integrity: sha512-znVCvux30+3SaUwcUGaSf+pUckzT5ukPRpcBmy+muBLC0yaWnBcvDqGfcsw6CBIenUdFrVoAFa8B6jsuCY/a+g==} + engines: {node: ^18.18 || >=20} + + '@metamask/rpc-errors@6.3.1': + resolution: {integrity: sha512-ugDY7cKjF4/yH5LtBaOIKHw/AiGGSAmzptAUEiAEGr/78LwuzcXAxmzEQfSfMIfI+f9Djr8cttq1pRJJKfTuCg==} + engines: {node: '>=16.0.0'} + + '@metamask/safe-event-emitter@2.0.0': + resolution: {integrity: sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q==} + + '@metamask/safe-event-emitter@3.1.1': + resolution: {integrity: sha512-ihb3B0T/wJm1eUuArYP4lCTSEoZsClHhuWyfo/kMX3m/odpqNcPfsz5O2A3NT7dXCAgWPGDQGPqygCpgeniKMw==} + engines: {node: '>=12.0.0'} + + '@metamask/sdk-communication-layer@0.27.0': + resolution: {integrity: sha512-G9LCaQzIqp5WmUmvHN6UUdjWrBh67MbRobmbbs5fcc2+9XFhj3vBgtyleUYjun91jSlPHoZeo+f/Pj4/WoPIJg==} + peerDependencies: + cross-fetch: ^4.0.0 + eciesjs: ^0.3.16 + eventemitter2: ^6.4.7 + readable-stream: ^3.6.2 + socket.io-client: ^4.5.1 + + '@metamask/sdk-install-modal-web@0.26.5': + resolution: {integrity: sha512-qVA9Nk+NorGx5hXyODy5wskptE8R7RNYTYt49VbQpJogqbbVe1dnJ98+KaA43PBN4XYMCXmcIhULNiEHGsLynA==} + peerDependencies: + i18next: 23.11.5 + react: ^18.2.0 + react-dom: ^18.2.0 + react-native: '*' + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + react-native: + optional: true + + '@metamask/sdk@0.27.0': + resolution: {integrity: sha512-6sMjr/0qR700X1svPGEQ4rBdtccidBLeTC27fYQc7r9ROgSixB1DUUAyu/LoySVqt3Hu/Zm7NnAHXuT228ht7A==} + peerDependencies: + react: ^18.2.0 + react-dom: ^18.2.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + + '@metamask/superstruct@3.1.0': + resolution: {integrity: sha512-N08M56HdOgBfRKkrgCMZvQppkZGcArEop3kixNEtVbJKm6P9Cfg0YkI6X0s1g78sNrj2fWUwvJADdZuzJgFttA==} + engines: {node: '>=16.0.0'} + + '@metamask/utils@5.0.2': + resolution: {integrity: sha512-yfmE79bRQtnMzarnKfX7AEJBwFTxvTyw3nBQlu/5rmGXrjAeAMltoGxO62TFurxrQAFMNa/fEjIHNvungZp0+g==} + engines: {node: '>=14.0.0'} + + '@metamask/utils@8.5.0': + resolution: {integrity: sha512-I6bkduevXb72TIM9q2LRO63JSsF9EXduh3sBr9oybNX2hNNpr/j1tEjXrsG0Uabm4MJ1xkGAQEMwifvKZIkyxQ==} + engines: {node: '>=16.0.0'} + + '@metamask/utils@9.2.1': + resolution: {integrity: sha512-/u663aUaB6+Xe75i3Mt/1cCljm41HDYIsna5oBrwGvgkY2zH7/9k9Zjd706cxoAbxN7QgLSVAReUiGnuxCuXrQ==} + engines: {node: '>=16.0.0'} + + '@motionone/animation@10.18.0': + resolution: {integrity: sha512-9z2p5GFGCm0gBsZbi8rVMOAJCtw1WqBTIPw3ozk06gDvZInBPIsQcHgYogEJ4yuHJ+akuW8g1SEIOpTOvYs8hw==} + + '@motionone/dom@10.18.0': + resolution: {integrity: sha512-bKLP7E0eyO4B2UaHBBN55tnppwRnaE3KFfh3Ps9HhnAkar3Cb69kUCJY9as8LrccVYKgHA+JY5dOQqJLOPhF5A==} + + '@motionone/easing@10.18.0': + resolution: {integrity: sha512-VcjByo7XpdLS4o9T8t99JtgxkdMcNWD3yHU/n6CLEz3bkmKDRZyYQ/wmSf6daum8ZXqfUAgFeCZSpJZIMxaCzg==} + + '@motionone/generators@10.18.0': + resolution: {integrity: sha512-+qfkC2DtkDj4tHPu+AFKVfR/C30O1vYdvsGYaR13W/1cczPrrcjdvYCj0VLFuRMN+lP1xvpNZHCRNM4fBzn1jg==} + + '@motionone/svelte@10.16.4': + resolution: {integrity: sha512-zRVqk20lD1xqe+yEDZhMYgftsuHc25+9JSo+r0a0OWUJFocjSV9D/+UGhX4xgJsuwB9acPzXLr20w40VnY2PQA==} + + '@motionone/types@10.17.1': + resolution: {integrity: sha512-KaC4kgiODDz8hswCrS0btrVrzyU2CSQKO7Ps90ibBVSQmjkrt2teqta6/sOG59v7+dPnKMAg13jyqtMKV2yJ7A==} + + '@motionone/utils@10.18.0': + resolution: {integrity: sha512-3XVF7sgyTSI2KWvTf6uLlBJ5iAgRgmvp3bpuOiQJvInd4nZ19ET8lX5unn30SlmRH7hXbBbH+Gxd0m0klJ3Xtw==} + + '@motionone/vue@10.16.4': + resolution: {integrity: sha512-z10PF9JV6SbjFq+/rYabM+8CVlMokgl8RFGvieSGNTmrkQanfHn+15XBrhG3BgUfvmTeSeyShfOHpG0i9zEdcg==} + deprecated: Motion One for Vue is deprecated. Use Oku Motion instead https://oku-ui.com/motion + + '@noble/curves@1.4.0': + resolution: {integrity: sha512-p+4cb332SFCrReJkCYe8Xzm0OWi4Jji5jVdIZRL/PmacmDkFNw6MrrV+gGpiPxLHbV+zKFRywUWbaseT+tZRXg==} + + '@noble/curves@1.4.2': + resolution: {integrity: sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==} + + '@noble/hashes@1.4.0': + resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} + engines: {node: '>= 16'} + + '@noble/hashes@1.5.0': + resolution: {integrity: sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==} + engines: {node: ^14.21.3 || >=16} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@parcel/watcher-android-arm64@2.4.1': + resolution: {integrity: sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [android] + + '@parcel/watcher-darwin-arm64@2.4.1': + resolution: {integrity: sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [darwin] + + '@parcel/watcher-darwin-x64@2.4.1': + resolution: {integrity: sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [darwin] + + '@parcel/watcher-freebsd-x64@2.4.1': + resolution: {integrity: sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [freebsd] + + '@parcel/watcher-linux-arm-glibc@2.4.1': + resolution: {integrity: sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + + '@parcel/watcher-linux-arm64-glibc@2.4.1': + resolution: {integrity: sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + + '@parcel/watcher-linux-arm64-musl@2.4.1': + resolution: {integrity: sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + + '@parcel/watcher-linux-x64-glibc@2.4.1': + resolution: {integrity: sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + + '@parcel/watcher-linux-x64-musl@2.4.1': + resolution: {integrity: sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + + '@parcel/watcher-wasm@2.4.1': + resolution: {integrity: sha512-/ZR0RxqxU/xxDGzbzosMjh4W6NdYFMqq2nvo2b8SLi7rsl/4jkL8S5stIikorNkdR50oVDvqb/3JT05WM+CRRA==} + engines: {node: '>= 10.0.0'} + bundledDependencies: + - napi-wasm + + '@parcel/watcher-win32-arm64@2.4.1': + resolution: {integrity: sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [win32] + + '@parcel/watcher-win32-ia32@2.4.1': + resolution: {integrity: sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==} + engines: {node: '>= 10.0.0'} + cpu: [ia32] + os: [win32] + + '@parcel/watcher-win32-x64@2.4.1': + resolution: {integrity: sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [win32] + + '@parcel/watcher@2.4.1': + resolution: {integrity: sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==} + engines: {node: '>= 10.0.0'} + + '@react-native-community/cli-clean@14.0.0': + resolution: {integrity: sha512-kvHthZTNur/wLLx8WL5Oh+r04zzzFAX16r8xuaLhu9qGTE6Th1JevbsIuiQb5IJqD8G/uZDKgIZ2a0/lONcbJg==} + + '@react-native-community/cli-config@14.0.0': + resolution: {integrity: sha512-2Nr8KR+dgn1z+HLxT8piguQ1SoEzgKJnOPQKE1uakxWaRFcQ4LOXgzpIAscYwDW6jmQxdNqqbg2cRUoOS7IMtQ==} + + '@react-native-community/cli-debugger-ui@14.0.0': + resolution: {integrity: sha512-JpfzILfU7eKE9+7AMCAwNJv70H4tJGVv3ZGFqSVoK1YHg5QkVEGsHtoNW8AsqZRS6Fj4os+Fmh+r+z1L36sPmg==} + + '@react-native-community/cli-debugger-ui@14.0.0-alpha.11': + resolution: {integrity: sha512-0wCNQxhCniyjyMXgR1qXliY180y/2QbvoiYpp2MleGQADr5M1b8lgI4GoyADh5kE+kX3VL0ssjgyxpmbpCD86A==} + + '@react-native-community/cli-doctor@14.0.0': + resolution: {integrity: sha512-in6jylHjaPUaDzV+JtUblh8m9JYIHGjHOf6Xn57hrmE5Zwzwuueoe9rSMHF1P0mtDgRKrWPzAJVejElddfptWA==} + + '@react-native-community/cli-platform-android@14.0.0': + resolution: {integrity: sha512-nt7yVz3pGKQXnVa5MAk7zR+1n41kNKD3Hi2OgybH5tVShMBo7JQoL2ZVVH6/y/9wAwI/s7hXJgzf1OIP3sMq+Q==} + + '@react-native-community/cli-platform-apple@14.0.0': + resolution: {integrity: sha512-WniJL8vR4MeIsjqio2hiWWuUYUJEL3/9TDL5aXNwG68hH3tYgK3742+X9C+vRzdjTmf5IKc/a6PwLsdplFeiwQ==} + + '@react-native-community/cli-platform-ios@14.0.0': + resolution: {integrity: sha512-8kxGv7mZ5nGMtueQDq+ndu08f0ikf3Zsqm3Ix8FY5KCXpSgP14uZloO2GlOImq/zFESij+oMhCkZJGggpWpfAw==} + + '@react-native-community/cli-server-api@14.0.0': + resolution: {integrity: sha512-A0FIsj0QCcDl1rswaVlChICoNbfN+mkrKB5e1ab5tOYeZMMyCHqvU+eFvAvXjHUlIvVI+LbqCkf4IEdQ6H/2AQ==} + + '@react-native-community/cli-server-api@14.0.0-alpha.11': + resolution: {integrity: sha512-I7YeYI7S5wSxnQAqeG8LNqhT99FojiGIk87DU0vTp6U8hIMLcA90fUuBAyJY38AuQZ12ZJpGa8ObkhIhWzGkvg==} + + '@react-native-community/cli-tools@14.0.0': + resolution: {integrity: sha512-L7GX5hyYYv0ZWbAyIQKzhHuShnwDqlKYB0tqn57wa5riGCaxYuRPTK+u4qy+WRCye7+i8M4Xj6oQtSd4z0T9cA==} + + '@react-native-community/cli-tools@14.0.0-alpha.11': + resolution: {integrity: sha512-HQCfVnX9aqRdKdLxmQy4fUAUo+YhNGlBV7ZjOayPbuEGWJ4RN+vSy0Cawk7epo7hXd6vKzc7P7y3HlU6Kxs7+w==} + + '@react-native-community/cli-types@14.0.0': + resolution: {integrity: sha512-CMUevd1pOWqvmvutkUiyQT2lNmMHUzSW7NKc1xvHgg39NjbS58Eh2pMzIUP85IwbYNeocfYc3PH19vA/8LnQtg==} + + '@react-native-community/cli@14.0.0': + resolution: {integrity: sha512-KwMKJB5jsDxqOhT8CGJ55BADDAYxlYDHv5R/ASQlEcdBEZxT0zZmnL0iiq2VqzETUy+Y/Nop+XDFgqyoQm0C2w==} + engines: {node: '>=18'} + hasBin: true + + '@react-native/assets-registry@0.75.2': + resolution: {integrity: sha512-P1dLHjpUeC0AIkDHRYcx0qLMr+p92IPWL3pmczzo6T76Qa9XzruQOYy0jittxyBK91Csn6HHQ/eit8TeXW8MVw==} + engines: {node: '>=18'} + + '@react-native/babel-plugin-codegen@0.75.2': + resolution: {integrity: sha512-BIKVh2ZJPkzluUGgCNgpoh6NTHgX8j04FCS0Z/rTmRJ66hir/EUBl8frMFKrOy/6i4VvZEltOWB5eWfHe1AYgw==} + engines: {node: '>=18'} + + '@react-native/babel-preset@0.75.2': + resolution: {integrity: sha512-mprpsas+WdCEMjQZnbDiAC4KKRmmLbMB+o/v4mDqKlH4Mcm7RdtP5t80MZGOVCHlceNp1uEIpXywx69DNwgbgg==} + engines: {node: '>=18'} + peerDependencies: + '@babel/core': '*' + + '@react-native/codegen@0.75.2': + resolution: {integrity: sha512-OkWdbtO2jTkfOXfj3ibIL27rM6LoaEuApOByU2G8X+HS6v9U87uJVJlMIRWBDmnxODzazuHwNVA2/wAmSbucaw==} + engines: {node: '>=18'} + peerDependencies: + '@babel/preset-env': ^7.1.6 + + '@react-native/community-cli-plugin@0.75.2': + resolution: {integrity: sha512-/tz0bzVja4FU0aAimzzQ7iYR43peaD6pzksArdrrGhlm8OvFYAQPOYSNeIQVMSarwnkNeg1naFKaeYf1o3++yA==} + engines: {node: '>=18'} + + '@react-native/debugger-frontend@0.75.2': + resolution: {integrity: sha512-qIC6mrlG8RQOPaYLZQiJwqnPchAVGnHWcVDeQxPMPLkM/D5+PC8tuKWYOwgLcEau3RZlgz7QQNk31Qj2/OJG6Q==} + engines: {node: '>=18'} + + '@react-native/dev-middleware@0.75.2': + resolution: {integrity: sha512-fTC5m2uVjYp1XPaIJBFgscnQjPdGVsl96z/RfLgXDq0HBffyqbg29ttx6yTCx7lIa9Gdvf6nKQom+e+Oa4izSw==} + engines: {node: '>=18'} + + '@react-native/gradle-plugin@0.75.2': + resolution: {integrity: sha512-AELeAOCZi3B2vE6SeN+mjpZjjqzqa76yfFBB3L3f3NWiu4dm/YClTGOj+5IVRRgbt8LDuRImhDoaj7ukheXr4Q==} + engines: {node: '>=18'} + + '@react-native/js-polyfills@0.75.2': + resolution: {integrity: sha512-AtLd3mbiE+FXK2Ru3l2NFOXDhUvzdUsCP4qspUw0haVaO/9xzV97RVD2zz0lur2f/LmZqQ2+KXyYzr7048b5iw==} + engines: {node: '>=18'} + + '@react-native/metro-babel-transformer@0.75.2': + resolution: {integrity: sha512-EygglCCuOub2sZ00CSIiEekCXoGL2XbOC6ssOB47M55QKvhdPG/0WBQXvmOmiN42uZgJK99Lj749v4rB0PlPIQ==} + engines: {node: '>=18'} + peerDependencies: + '@babel/core': '*' + + '@react-native/normalize-colors@0.75.2': + resolution: {integrity: sha512-nPwWJFtsqNFS/qSG9yDOiSJ64mjG7RCP4X/HXFfyWzCM1jq49h/DYBdr+c3e7AvTKGIdy0gGT3vgaRUHZFVdUQ==} + + '@react-native/virtualized-lists@0.75.2': + resolution: {integrity: sha512-pD5SVCjxc8k+JdoyQ+IlulBTEqJc3S4KUKsmv5zqbNCyETB0ZUvd4Su7bp+lLF6ALxx6KKmbGk8E3LaWEjUFFQ==} + engines: {node: '>=18'} + peerDependencies: + '@types/react': ^18.2.6 + react: '*' + react-native: '*' + peerDependenciesMeta: + '@types/react': + optional: true + + '@rollup/rollup-android-arm-eabi@4.21.2': + resolution: {integrity: sha512-fSuPrt0ZO8uXeS+xP3b+yYTCBUd05MoSp2N/MFOgjhhUhMmchXlpTQrTpI8T+YAwAQuK7MafsCOxW7VrPMrJcg==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.21.2': + resolution: {integrity: sha512-xGU5ZQmPlsjQS6tzTTGwMsnKUtu0WVbl0hYpTPauvbRAnmIvpInhJtgjj3mcuJpEiuUw4v1s4BimkdfDWlh7gA==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.21.2': + resolution: {integrity: sha512-99AhQ3/ZMxU7jw34Sq8brzXqWH/bMnf7ZVhvLk9QU2cOepbQSVTns6qoErJmSiAvU3InRqC2RRZ5ovh1KN0d0Q==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.21.2': + resolution: {integrity: sha512-ZbRaUvw2iN/y37x6dY50D8m2BnDbBjlnMPotDi/qITMJ4sIxNY33HArjikDyakhSv0+ybdUxhWxE6kTI4oX26w==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-linux-arm-gnueabihf@4.21.2': + resolution: {integrity: sha512-ztRJJMiE8nnU1YFcdbd9BcH6bGWG1z+jP+IPW2oDUAPxPjo9dverIOyXz76m6IPA6udEL12reYeLojzW2cYL7w==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.21.2': + resolution: {integrity: sha512-flOcGHDZajGKYpLV0JNc0VFH361M7rnV1ee+NTeC/BQQ1/0pllYcFmxpagltANYt8FYf9+kL6RSk80Ziwyhr7w==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.21.2': + resolution: {integrity: sha512-69CF19Kp3TdMopyteO/LJbWufOzqqXzkrv4L2sP8kfMaAQ6iwky7NoXTp7bD6/irKgknDKM0P9E/1l5XxVQAhw==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.21.2': + resolution: {integrity: sha512-48pD/fJkTiHAZTnZwR0VzHrao70/4MlzJrq0ZsILjLW/Ab/1XlVUStYyGt7tdyIiVSlGZbnliqmult/QGA2O2w==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-powerpc64le-gnu@4.21.2': + resolution: {integrity: sha512-cZdyuInj0ofc7mAQpKcPR2a2iu4YM4FQfuUzCVA2u4HI95lCwzjoPtdWjdpDKyHxI0UO82bLDoOaLfpZ/wviyQ==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.21.2': + resolution: {integrity: sha512-RL56JMT6NwQ0lXIQmMIWr1SW28z4E4pOhRRNqwWZeXpRlykRIlEpSWdsgNWJbYBEWD84eocjSGDu/XxbYeCmwg==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.21.2': + resolution: {integrity: sha512-PMxkrWS9z38bCr3rWvDFVGD6sFeZJw4iQlhrup7ReGmfn7Oukrr/zweLhYX6v2/8J6Cep9IEA/SmjXjCmSbrMQ==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.21.2': + resolution: {integrity: sha512-B90tYAUoLhU22olrafY3JQCFLnT3NglazdwkHyxNDYF/zAxJt5fJUB/yBoWFoIQ7SQj+KLe3iL4BhOMa9fzgpw==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.21.2': + resolution: {integrity: sha512-7twFizNXudESmC9oneLGIUmoHiiLppz/Xs5uJQ4ShvE6234K0VB1/aJYU3f/4g7PhssLGKBVCC37uRkkOi8wjg==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-win32-arm64-msvc@4.21.2': + resolution: {integrity: sha512-9rRero0E7qTeYf6+rFh3AErTNU1VCQg2mn7CQcI44vNUWM9Ze7MSRS/9RFuSsox+vstRt97+x3sOhEey024FRQ==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.21.2': + resolution: {integrity: sha512-5rA4vjlqgrpbFVVHX3qkrCo/fZTj1q0Xxpg+Z7yIo3J2AilW7t2+n6Q8Jrx+4MrYpAnjttTYF8rr7bP46BPzRw==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.21.2': + resolution: {integrity: sha512-6UUxd0+SKomjdzuAcp+HAmxw1FlGBnl1v2yEPSabtx4lBfdXHDVsW7+lQkgz9cNFJGY3AWR7+V8P5BqkD9L9nA==} + cpu: [x64] + os: [win32] + + '@safe-global/safe-apps-provider@0.18.3': + resolution: {integrity: sha512-f/0cNv3S4v7p8rowAjj0hDCg8Q8P/wBjp5twkNWeBdvd0RDr7BuRBPPk74LCqmjQ82P+1ltLlkmVFSmxTIT7XQ==} + + '@safe-global/safe-apps-sdk@9.1.0': + resolution: {integrity: sha512-N5p/ulfnnA2Pi2M3YeWjULeWbjo7ei22JwU/IXnhoHzKq3pYCN6ynL9mJBOlvDVv892EgLPCWCOwQk/uBT2v0Q==} + + '@safe-global/safe-gateway-typescript-sdk@3.22.2': + resolution: {integrity: sha512-Y0yAxRaB98LFp2Dm+ACZqBSdAmI3FlpH/LjxOZ94g/ouuDJecSq0iR26XZ5QDuEL8Rf+L4jBJaoDC08CD0KkJw==} + engines: {node: '>=16'} + + '@scure/base@1.1.7': + resolution: {integrity: sha512-PPNYBslrLNNUQ/Yad37MHYsNQtK67EhWb6WtSvNLLPo7SdVZgkUjD6Dg+5On7zNwmskf8OX7I7Nx5oN+MIWE0g==} + + '@scure/bip32@1.4.0': + resolution: {integrity: sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==} + + '@scure/bip39@1.3.0': + resolution: {integrity: sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==} + + '@sideway/address@4.1.5': + resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} + + '@sideway/formula@3.0.1': + resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==} + + '@sideway/pinpoint@2.0.0': + resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} + + '@sinclair/typebox@0.27.8': + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + + '@sinonjs/commons@3.0.1': + resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} + + '@sinonjs/fake-timers@10.3.0': + resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} + + '@socket.io/component-emitter@3.1.2': + resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==} + + '@stablelib/aead@1.0.1': + resolution: {integrity: sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg==} + + '@stablelib/binary@1.0.1': + resolution: {integrity: sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==} + + '@stablelib/bytes@1.0.1': + resolution: {integrity: sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ==} + + '@stablelib/chacha20poly1305@1.0.1': + resolution: {integrity: sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA==} + + '@stablelib/chacha@1.0.1': + resolution: {integrity: sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg==} + + '@stablelib/constant-time@1.0.1': + resolution: {integrity: sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg==} + + '@stablelib/ed25519@1.0.3': + resolution: {integrity: sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg==} + + '@stablelib/hash@1.0.1': + resolution: {integrity: sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg==} + + '@stablelib/hkdf@1.0.1': + resolution: {integrity: sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g==} + + '@stablelib/hmac@1.0.1': + resolution: {integrity: sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA==} + + '@stablelib/int@1.0.1': + resolution: {integrity: sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==} + + '@stablelib/keyagreement@1.0.1': + resolution: {integrity: sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg==} + + '@stablelib/poly1305@1.0.1': + resolution: {integrity: sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA==} + + '@stablelib/random@1.0.2': + resolution: {integrity: sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==} + + '@stablelib/sha256@1.0.1': + resolution: {integrity: sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ==} + + '@stablelib/sha512@1.0.1': + resolution: {integrity: sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw==} + + '@stablelib/wipe@1.0.1': + resolution: {integrity: sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==} + + '@stablelib/x25519@1.0.3': + resolution: {integrity: sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw==} + + '@tanstack/query-core@5.45.0': + resolution: {integrity: sha512-RVfIZQmFUTdjhSAAblvueimfngYyfN6HlwaJUPK71PKd7yi43Vs1S/rdimmZedPWX/WGppcq/U1HOj7O7FwYxw==} + + '@tanstack/react-query@5.45.1': + resolution: {integrity: sha512-mYYfJujKg2kxmkRRjA6nn4YKG3ITsKuH22f1kteJ5IuVQqgKUgbaSQfYwVP0gBS05mhwxO03HVpD0t7BMN7WOA==} + peerDependencies: + react: ^18.0.0 + + '@types/babel__core@7.20.5': + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + + '@types/babel__generator@7.6.8': + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + + '@types/babel__template@7.4.4': + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + + '@types/babel__traverse@7.20.6': + resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} + + '@types/debug@4.1.12': + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + + '@types/dom-screen-wake-lock@1.0.3': + resolution: {integrity: sha512-3Iten7X3Zgwvk6kh6/NRdwN7WbZ760YgFCsF5AxDifltUQzW1RaW+WRmcVtgwFzLjaNu64H+0MPJ13yRa8g3Dw==} + + '@types/estree@1.0.5': + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + + '@types/ms@0.7.34': + resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} + + '@types/node-forge@1.3.11': + resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} + + '@types/node@22.5.2': + resolution: {integrity: sha512-acJsPTEqYqulZS/Yp/S3GgeE6GZ0qYODUR8aVr/DkhHQ8l9nd4j5x1/ZJy9/gHrRlFMqkO6i0I3E27Alu4jjPg==} + + '@types/prop-types@15.7.12': + resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} + + '@types/react-dom@18.3.0': + resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} + + '@types/react@18.3.5': + resolution: {integrity: sha512-WeqMfGJLGuLCqHGYRGHxnKrXcTitc6L/nBUWfWPcTarG3t9PsquqUMuVeXZeca+mglY4Vo5GZjCi0A3Or2lnxA==} + + '@types/secp256k1@4.0.6': + resolution: {integrity: sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==} + + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + + '@types/trusted-types@2.0.7': + resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@15.0.19': + resolution: {integrity: sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==} + + '@types/yargs@17.0.33': + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} + + '@vitejs/plugin-react@4.3.1': + resolution: {integrity: sha512-m/V2syj5CuVnaxcUJOQRel/Wr31FFXRFlnOoq1TVtkCxsY5veGMTEmpWHndrhB2U8ScHtCQB1e+4hWYExQc6Lg==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.2.0 || ^5.0.0 + + '@wagmi/cli@2.1.15': + resolution: {integrity: sha512-mtTxbuCDRRSd/2tPAklM+4vFOq5E/0zS5OfLE3Ax2KcUWciOnjLJ0m6BAQ6HzqY9YfWo8DXa7UqxzUBkvPYltg==} + hasBin: true + peerDependencies: + typescript: '>=5.0.4' + peerDependenciesMeta: + typescript: + optional: true + + '@wagmi/connectors@5.1.8': + resolution: {integrity: sha512-LdImInHFogis83/Yhq0vJLracIFUSl9m8961JEWS+lGDPuU2QbVg4Rv2VAfratfRoR8oDuSJNTvIvp9Kyiu5ug==} + peerDependencies: + '@wagmi/core': 2.13.4 + typescript: '>=5.0.4' + viem: 2.x + peerDependenciesMeta: + typescript: + optional: true + + '@wagmi/core@2.13.4': + resolution: {integrity: sha512-J6gfxHYr8SCc/BzEa712LnI+qLFs5K2nBLupwQqQl4WiAlCu8SdcpbZokqiwfCMYhIRMj0+YFEP9qe4ypcexmw==} + peerDependencies: + '@tanstack/query-core': '>=5.0.0' + typescript: '>=5.0.4' + viem: 2.x + peerDependenciesMeta: + '@tanstack/query-core': + optional: true + typescript: + optional: true + + '@walletconnect/core@2.15.2': + resolution: {integrity: sha512-u4BGuazSNAQ48QBY7EphanBuBN6EJWyD5MXi83n1wXwfPQWAu0XNvmOjjF+xmMI5TsYH9N6Y78O6HP/VX9EOvg==} + engines: {node: '>=18'} + + '@walletconnect/environment@1.0.1': + resolution: {integrity: sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg==} + + '@walletconnect/ethereum-provider@2.15.2': + resolution: {integrity: sha512-POH2Wov2cXdASDDyv2bwY9Y2JzkGzGFS4SzltMt1zxKUMTyoJ8xKAgWaxoiJw0pqsLGY7T5msmk9qeKOavQtAA==} + + '@walletconnect/events@1.0.1': + resolution: {integrity: sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ==} + + '@walletconnect/heartbeat@1.2.2': + resolution: {integrity: sha512-uASiRmC5MwhuRuf05vq4AT48Pq8RMi876zV8rr8cV969uTOzWdB/k+Lj5yI2PBtB1bGQisGen7MM1GcZlQTBXw==} + + '@walletconnect/jsonrpc-http-connection@1.0.8': + resolution: {integrity: sha512-+B7cRuaxijLeFDJUq5hAzNyef3e3tBDIxyaCNmFtjwnod5AGis3RToNqzFU33vpVcxFhofkpE7Cx+5MYejbMGw==} + + '@walletconnect/jsonrpc-provider@1.0.14': + resolution: {integrity: sha512-rtsNY1XqHvWj0EtITNeuf8PHMvlCLiS3EjQL+WOkxEOA4KPxsohFnBDeyPYiNm4ZvkQdLnece36opYidmtbmow==} + + '@walletconnect/jsonrpc-types@1.0.4': + resolution: {integrity: sha512-P6679fG/M+wuWg9TY8mh6xFSdYnFyFjwFelxyISxMDrlbXokorEVXYOxiqEbrU3x1BmBoCAJJ+vtEaEoMlpCBQ==} + + '@walletconnect/jsonrpc-utils@1.0.8': + resolution: {integrity: sha512-vdeb03bD8VzJUL6ZtzRYsFMq1eZQcM3EAzT0a3st59dyLfJ0wq+tKMpmGH7HlB7waD858UWgfIcudbPFsbzVdw==} + + '@walletconnect/jsonrpc-ws-connection@1.0.14': + resolution: {integrity: sha512-Jsl6fC55AYcbkNVkwNM6Jo+ufsuCQRqViOQ8ZBPH9pRREHH9welbBiszuTLqEJiQcO/6XfFDl6bzCJIkrEi8XA==} + + '@walletconnect/keyvaluestorage@1.1.1': + resolution: {integrity: sha512-V7ZQq2+mSxAq7MrRqDxanTzu2RcElfK1PfNYiaVnJgJ7Q7G7hTVwF8voIBx92qsRyGHZihrwNPHuZd1aKkd0rA==} + peerDependencies: + '@react-native-async-storage/async-storage': 1.x + peerDependenciesMeta: + '@react-native-async-storage/async-storage': + optional: true + + '@walletconnect/logger@2.1.2': + resolution: {integrity: sha512-aAb28I3S6pYXZHQm5ESB+V6rDqIYfsnHaQyzFbwUUBFY4H0OXx/YtTl8lvhUNhMMfb9UxbwEBS253TlXUYJWSw==} + + '@walletconnect/modal-core@2.6.2': + resolution: {integrity: sha512-cv8ibvdOJQv2B+nyxP9IIFdxvQznMz8OOr/oR/AaUZym4hjXNL/l1a2UlSQBXrVjo3xxbouMxLb3kBsHoYP2CA==} + + '@walletconnect/modal-ui@2.6.2': + resolution: {integrity: sha512-rbdstM1HPGvr7jprQkyPggX7rP4XiCG85ZA+zWBEX0dVQg8PpAgRUqpeub4xQKDgY7pY/xLRXSiCVdWGqvG2HA==} + + '@walletconnect/modal@2.6.2': + resolution: {integrity: sha512-eFopgKi8AjKf/0U4SemvcYw9zlLpx9njVN8sf6DAkowC2Md0gPU/UNEbH1Wwj407pEKnEds98pKWib1NN1ACoA==} + + '@walletconnect/relay-api@1.0.11': + resolution: {integrity: sha512-tLPErkze/HmC9aCmdZOhtVmYZq1wKfWTJtygQHoWtgg722Jd4homo54Cs4ak2RUFUZIGO2RsOpIcWipaua5D5Q==} + + '@walletconnect/relay-auth@1.0.4': + resolution: {integrity: sha512-kKJcS6+WxYq5kshpPaxGHdwf5y98ZwbfuS4EE/NkQzqrDFm5Cj+dP8LofzWvjrrLkZq7Afy7WrQMXdLy8Sx7HQ==} + + '@walletconnect/safe-json@1.0.2': + resolution: {integrity: sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA==} + + '@walletconnect/sign-client@2.15.2': + resolution: {integrity: sha512-Yp4/z3IdTMngbjr7Zy7Qi1X6EZDH4nxY91X6K2KpA3MjLW0yPTGalEJgJ4p9WH7fmHRlwvfR4hjwM5eQcLo5Zg==} + + '@walletconnect/time@1.0.2': + resolution: {integrity: sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g==} + + '@walletconnect/types@2.15.2': + resolution: {integrity: sha512-TGnQZYWZJJ3I8dqgpMPwhO1IRXDuY8/tWPI0nNWJDyTK7b3E9prDGugnPmDDjpTYVoETnUTgW/jQaHNTq4yV7Q==} + + '@walletconnect/universal-provider@2.15.2': + resolution: {integrity: sha512-AWK5nUA4tJ57C8JDPOmqAWf5aF1VXIN4JpkqKekNKMP4+xiBTotKrwj0XD5xvtDUyaqjhRZPvYmUk24z1udrHA==} + + '@walletconnect/utils@2.15.2': + resolution: {integrity: sha512-H+fNH9cHDezdaEiEsO7/3URSIzqhumuacwB/+0PX0sSCoktmU9AfTqA8fJGG43zOPixleBqOymzO6owB1Y7jtQ==} + + '@walletconnect/window-getters@1.0.1': + resolution: {integrity: sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q==} + + '@walletconnect/window-metadata@1.0.1': + resolution: {integrity: sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA==} + + abitype@1.0.5: + resolution: {integrity: sha512-YzDhti7cjlfaBhHutMaboYB21Ha3rXR9QTkNJFzYC4kC8YclaiwPBBBJY8ejFdu2wnJeZCVZSMlQJ7fi8S6hsw==} + peerDependencies: + typescript: '>=5.0.4' + zod: ^3 >=3.22.0 + peerDependenciesMeta: + typescript: + optional: true + zod: + optional: true + + abitype@1.0.6: + resolution: {integrity: sha512-MMSqYh4+C/aVqI2RQaWqbvI4Kxo5cQV40WQ4QFtDnNzCkqChm8MuENhElmynZlO0qUy/ObkEUaXtKqYnx1Kp3A==} + peerDependencies: + typescript: '>=5.0.4' + zod: ^3 >=3.22.0 + peerDependenciesMeta: + typescript: + optional: true + zod: + optional: true + + abort-controller@3.0.0: + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} + + accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + + acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} + engines: {node: '>=0.4.0'} + hasBin: true + + anser@1.4.10: + resolution: {integrity: sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==} + + ansi-fragments@0.2.1: + resolution: {integrity: sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==} + + ansi-regex@4.1.1: + resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} + engines: {node: '>=6'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + appdirsjs@1.2.7: + resolution: {integrity: sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + asap@2.0.6: + resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + + ast-types@0.15.2: + resolution: {integrity: sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==} + engines: {node: '>=4'} + + astral-regex@1.0.0: + resolution: {integrity: sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==} + engines: {node: '>=4'} + + async-limiter@1.0.1: + resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} + + async-mutex@0.2.6: + resolution: {integrity: sha512-Hs4R+4SPgamu6rSGW8C7cV9gaWUKEHykfzCCvIRuaVv636Ju10ZdeUbvb4TBEW0INuq2DHZqXbK4Nd3yG4RaRw==} + + atomic-sleep@1.0.0: + resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} + engines: {node: '>=8.0.0'} + + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + + babel-core@7.0.0-bridge.0: + resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + babel-plugin-polyfill-corejs2@0.4.11: + resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-corejs3@0.10.6: + resolution: {integrity: sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-regenerator@0.6.2: + resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-transform-flow-enums@0.0.2: + resolution: {integrity: sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + + bl@5.1.0: + resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==} + + bn.js@4.12.0: + resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} + + bn.js@5.2.1: + resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} + + bowser@2.11.0: + resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} + + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + brorand@1.1.0: + resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} + + browserslist@4.23.3: + resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + bser@2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + + buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + + bufferutil@4.0.8: + resolution: {integrity: sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==} + engines: {node: '>=6.14.2'} + + bundle-require@4.2.1: + resolution: {integrity: sha512-7Q/6vkyYAwOmQNRw75x+4yRtZCZJXUDmHHlFdkiV0wgv/reNjtJwpu1jPJ0w2kbEpIM0uoKI3S4/f39dU7AjSA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + peerDependencies: + esbuild: '>=0.17' + + bytes@3.0.0: + resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} + engines: {node: '>= 0.8'} + + cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + + call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} + + caller-callsite@2.0.0: + resolution: {integrity: sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==} + engines: {node: '>=4'} + + caller-path@2.0.0: + resolution: {integrity: sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==} + engines: {node: '>=4'} + + callsites@2.0.0: + resolution: {integrity: sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==} + engines: {node: '>=4'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + caniuse-lite@1.0.30001655: + resolution: {integrity: sha512-jRGVy3iSGO5Uutn2owlb5gR6qsGngTw9ZTb4ali9f3glshcNmJ2noam4Mo9zia5P9Dk3jNNydy7vQjuE5dQmfg==} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + change-case@5.4.4: + resolution: {integrity: sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + chrome-launcher@0.15.2: + resolution: {integrity: sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==} + engines: {node: '>=12.13.0'} + hasBin: true + + chromium-edge-launcher@0.2.0: + resolution: {integrity: sha512-JfJjUnq25y9yg4FABRRVPmBGWPZZi+AQXT4mxupb67766/0UlhG8PAZCz6xzEMXTbW3CsSoE8PcCWA49n35mKg==} + + ci-info@2.0.0: + resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} + + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + citty@0.1.6: + resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} + + cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + + cli-cursor@4.0.0: + resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} + + clipboardy@4.0.0: + resolution: {integrity: sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==} + engines: {node: '>=18'} + + cliui@6.0.0: + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + clone-deep@4.0.1: + resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} + engines: {node: '>=6'} + + clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + + clsx@1.2.1: + resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} + engines: {node: '>=6'} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + colorette@1.4.0: + resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==} + + command-exists@1.2.9: + resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + commander@9.5.0: + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} + engines: {node: ^12.20.0 || >=14} + + commondir@1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + + compressible@2.0.18: + resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} + engines: {node: '>= 0.6'} + + compression@1.7.4: + resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} + engines: {node: '>= 0.8.0'} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + confbox@0.1.7: + resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} + + connect@3.7.0: + resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==} + engines: {node: '>= 0.10.0'} + + consola@3.2.3: + resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} + engines: {node: ^14.18.0 || >=16.10.0} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + cookie-es@1.2.2: + resolution: {integrity: sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==} + + core-js-compat@3.38.1: + resolution: {integrity: sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==} + + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + cosmiconfig@5.2.1: + resolution: {integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==} + engines: {node: '>=4'} + + cosmiconfig@9.0.0: + resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + + crc-32@1.2.2: + resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} + engines: {node: '>=0.8'} + hasBin: true + + cross-fetch@3.1.8: + resolution: {integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==} + + cross-fetch@4.0.0: + resolution: {integrity: sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==} + + cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + + crossws@0.2.4: + resolution: {integrity: sha512-DAxroI2uSOgUKLz00NX6A8U/8EE3SZHmIND+10jkVSaypvyt57J5JEOxAQOL6lQxyzi/wZbTIwssU1uy69h5Vg==} + peerDependencies: + uWebSockets.js: '*' + peerDependenciesMeta: + uWebSockets.js: + optional: true + + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + date-fns@2.30.0: + resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} + engines: {node: '>=0.11'} + + dayjs@1.11.13: + resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} + + debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.3.6: + resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + + decode-uri-component@0.2.2: + resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} + engines: {node: '>=0.10'} + + dedent@0.7.0: + resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} + + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + + defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + + denodeify@1.2.1: + resolution: {integrity: sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==} + + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + + destr@2.0.3: + resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} + + destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + detect-browser@5.3.0: + resolution: {integrity: sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==} + + detect-libc@1.0.3: + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} + hasBin: true + + dijkstrajs@1.0.3: + resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==} + + dotenv-expand@10.0.0: + resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==} + engines: {node: '>=12'} + + dotenv@16.4.5: + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + engines: {node: '>=12'} + + duplexify@4.1.3: + resolution: {integrity: sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==} + + eciesjs@0.3.20: + resolution: {integrity: sha512-Rz5AB8v9+xmMdS/R7RzWPe/R8DP5QfyrkA6ce4umJopoB5su2H2aDy/GcgIfwhmCwxnBkqGf/PbGzmKcGtIgGA==} + + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + + electron-to-chromium@1.5.13: + resolution: {integrity: sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==} + + elliptic@6.5.7: + resolution: {integrity: sha512-ESVCtTwiA+XhY3wyh24QqRGBoP3rEdDUl3EDUUo9tft074fi19IrdpH7hLCMMP3CIj7jb3W96rn8lt/BqIlt5Q==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + encode-utf8@1.0.3: + resolution: {integrity: sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==} + + encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + + end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + + engine.io-client@6.5.4: + resolution: {integrity: sha512-GeZeeRjpD2qf49cZQ0Wvh/8NJNfeXkXXcoGh+F77oEAgo9gUHwT1fCRxSNU+YEEaysOJTnsFHmM5oAcPy4ntvQ==} + + engine.io-parser@5.2.3: + resolution: {integrity: sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==} + engines: {node: '>=10.0.0'} + + env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + + envinfo@7.13.0: + resolution: {integrity: sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==} + engines: {node: '>=4'} + hasBin: true + + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + + error-stack-parser@2.1.4: + resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} + + errorhandler@1.5.1: + resolution: {integrity: sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==} + engines: {node: '>= 0.8'} + + es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + esbuild@0.19.12: + resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} + engines: {node: '>=12'} + hasBin: true + + esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} + engines: {node: '>=12'} + hasBin: true + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + eth-block-tracker@7.1.0: + resolution: {integrity: sha512-8YdplnuE1IK4xfqpf4iU7oBxnOYAc35934o083G8ao+8WM8QQtt/mVlAY6yIAdY1eMeLqg4Z//PZjJGmWGPMRg==} + engines: {node: '>=14.0.0'} + + eth-json-rpc-filters@6.0.1: + resolution: {integrity: sha512-ITJTvqoCw6OVMLs7pI8f4gG92n/St6x80ACtHodeS+IXmO0w+t1T5OOzfSt7KLSMLRkVUoexV7tztLgDxg+iig==} + engines: {node: '>=14.0.0'} + + eth-query@2.1.2: + resolution: {integrity: sha512-srES0ZcvwkR/wd5OQBRA1bIJMww1skfGS0s8wlwK3/oNP4+wnds60krvu5R1QbpRQjMmpG5OMIWro5s7gvDPsA==} + + eth-rpc-errors@4.0.3: + resolution: {integrity: sha512-Z3ymjopaoft7JDoxZcEb3pwdGh7yiYMhOwm2doUt6ASXlMavpNlK6Cre0+IMl2VSGyEU9rkiperQhp5iRxn5Pg==} + + ethereum-cryptography@2.2.1: + resolution: {integrity: sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==} + + event-target-shim@5.0.1: + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} + + eventemitter2@6.4.9: + resolution: {integrity: sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg==} + + eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + + events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + + exponential-backoff@3.1.1: + resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} + + extension-port-stream@3.0.0: + resolution: {integrity: sha512-an2S5quJMiy5bnZKEf6AkfH/7r8CzHvhchU40gxN+OM6HPhe7Z9T1FUychcf2M9PpPOO0Hf7BAEfJkw2TDIBDw==} + engines: {node: '>=12.0.0'} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + + fast-redact@3.5.0: + resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==} + engines: {node: '>=6'} + + fast-safe-stringify@2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + + fast-xml-parser@4.5.0: + resolution: {integrity: sha512-/PlTQCI96+fZMAOLMZK4CWG1ItCbfZ/0jx7UIJFChPNrx7tcEgerUgWbeieCM9MfHInUDyK8DWYZ+YrywDJuTg==} + hasBin: true + + fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + + fb-watchman@2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + + fdir@6.3.0: + resolution: {integrity: sha512-QOnuT+BOtivR77wYvCWHfGt9s4Pz1VIMbD463vegT5MLqNXy8rYFT/lPVEqf/bhYeT6qmqrNHhsX+rWwe3rOCQ==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + filter-obj@1.1.0: + resolution: {integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==} + engines: {node: '>=0.10.0'} + + finalhandler@1.1.2: + resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} + engines: {node: '>= 0.8'} + + find-cache-dir@2.1.0: + resolution: {integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==} + engines: {node: '>=6'} + + find-up@3.0.0: + resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} + engines: {node: '>=6'} + + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + find-up@6.3.0: + resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + flow-enums-runtime@0.0.6: + resolution: {integrity: sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==} + + flow-parser@0.245.0: + resolution: {integrity: sha512-xUBkkpIDfDZHAebnDEX65FCVitJUctab82KFmtP5SY4cGly1vbuYNe6Muyp0NLXrgmBChVdoC2T+3/RUHi4Mww==} + engines: {node: '>=0.4.0'} + + for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + + fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + + fs-extra@11.2.0: + resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} + engines: {node: '>=14.14'} + + fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + futoin-hkdf@1.5.3: + resolution: {integrity: sha512-SewY5KdMpaoCeh7jachEWFsh1nNlaDjNHZXWqL5IGwtpEYHTgkr2+AMCgNwKWkcc0wpSYrZfR7he4WdmHFtDxQ==} + engines: {node: '>=8'} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} + + get-port-please@3.1.2: + resolution: {integrity: sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + h3@1.12.0: + resolution: {integrity: sha512-Zi/CcNeWBXDrFNlV0hUBJQR9F7a96RjMeAZweW/ZWkR9fuXrMcvKnSA63f/zZ9l0GgQOZDVHGvXivNN9PWOwhA==} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + engines: {node: '>= 0.4'} + + has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + hash.js@1.1.7: + resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + hermes-estree@0.22.0: + resolution: {integrity: sha512-FLBt5X9OfA8BERUdc6aZS36Xz3rRuB0Y/mfocSADWEJfomc1xfene33GdyAmtTkKTBXTN/EgAy+rjTKkkZJHlw==} + + hermes-estree@0.23.0: + resolution: {integrity: sha512-Rkp0PNLGpORw4ktsttkVbpYJbrYKS3hAnkxu8D9nvQi6LvSbuPa+tYw/t2u3Gjc35lYd/k95YkjqyTcN4zspag==} + + hermes-parser@0.22.0: + resolution: {integrity: sha512-gn5RfZiEXCsIWsFGsKiykekktUoh0PdFWYocXsUdZIyWSckT6UIyPcyyUIPSR3kpnELWeK3n3ztAse7Mat6PSA==} + + hermes-parser@0.23.0: + resolution: {integrity: sha512-xLwM4ylfHGwrm+2qXfO1JT/fnqEDGSnpS/9hQ4VLtqTexSviu2ZpBgz07U8jVtndq67qdb/ps0qvaWDZ3fkTyg==} + + hey-listen@1.0.8: + resolution: {integrity: sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==} + + hmac-drbg@1.0.1: + resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} + + http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + + http-shutdown@1.2.2: + resolution: {integrity: sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + + i18next-browser-languagedetector@7.1.0: + resolution: {integrity: sha512-cr2k7u1XJJ4HTOjM9GyOMtbOA47RtUoWRAtt52z43r3AoMs2StYKyjS3URPhzHaf+mn10hY9dZWamga5WPQjhA==} + + i18next@23.11.5: + resolution: {integrity: sha512-41pvpVbW9rhZPk5xjCX2TPJi2861LEig/YRhUkY+1FQ2IQPS0bKUDYnEqY8XPPbB48h1uIwLnP9iiEfuSl20CA==} + + idb-keyval@6.2.1: + resolution: {integrity: sha512-8Sb3veuYCyrZL+VBt9LJfZjLUPWVvqn8tG28VqYNFCo43KHcKuq+b4EiXGeuaLAQWL2YmyDgMp2aSpH9JHsEQg==} + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + image-size@1.1.1: + resolution: {integrity: sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==} + engines: {node: '>=16.x'} + hasBin: true + + import-fresh@2.0.0: + resolution: {integrity: sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==} + engines: {node: '>=4'} + + import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + invariant@2.2.4: + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + + iron-webcrypto@1.2.1: + resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==} + + is-arguments@1.1.1: + resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} + engines: {node: '>= 0.4'} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + is-core-module@2.15.1: + resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} + engines: {node: '>= 0.4'} + + is-directory@0.3.1: + resolution: {integrity: sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==} + engines: {node: '>=0.10.0'} + + is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + + is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@2.0.0: + resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} + engines: {node: '>=4'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-generator-function@1.0.10: + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + engines: {node: '>= 0.4'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + + is-interactive@1.0.0: + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} + + is-interactive@2.0.0: + resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} + engines: {node: '>=12'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + is-typed-array@1.1.13: + resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} + engines: {node: '>= 0.4'} + + is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + + is-unicode-supported@1.3.0: + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} + + is-wsl@1.1.0: + resolution: {integrity: sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==} + engines: {node: '>=4'} + + is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + + is-wsl@3.1.0: + resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} + engines: {node: '>=16'} + + is64bit@2.0.0: + resolution: {integrity: sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==} + engines: {node: '>=18'} + + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + + isows@1.0.4: + resolution: {integrity: sha512-hEzjY+x9u9hPmBom9IIAqdJCwNLax+xrPb51vEPpERoFlIxgmZcHzsT5jKG06nvInKOBGvReAVz80Umed5CczQ==} + peerDependencies: + ws: '*' + + jest-environment-node@29.7.0: + resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-mock@29.7.0: + resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-validate@29.7.0: + resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jiti@1.21.6: + resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} + hasBin: true + + joi@17.13.3: + resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + jsc-android@250231.0.0: + resolution: {integrity: sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==} + + jsc-safe-url@0.2.4: + resolution: {integrity: sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==} + + jscodeshift@0.14.0: + resolution: {integrity: sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==} + hasBin: true + peerDependencies: + '@babel/preset-env': ^7.1.6 + + jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + + jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + + json-parse-better-errors@1.0.2: + resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-rpc-engine@6.1.0: + resolution: {integrity: sha512-NEdLrtrq1jUZyfjkr9OCz9EzCNhnRyWtt1PAnvnhwy6e8XETS0Dtc+ZNCO2gvuAoKsIn2+vCSowXTYE4CkgnAQ==} + engines: {node: '>=10.0.0'} + + json-rpc-random-id@1.0.1: + resolution: {integrity: sha512-RJ9YYNCkhVDBuP4zN5BBtYAzEl03yq/jIIsyif0JY9qyJuQQZNeDK7anAPKKlyEtLSj2s8h6hNh2F8zO5q7ScA==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + + jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + + keccak@3.0.4: + resolution: {integrity: sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==} + engines: {node: '>=10.0.0'} + + keyvaluestorage-interface@1.0.0: + resolution: {integrity: sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g==} + + kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + + lighthouse-logger@1.4.2: + resolution: {integrity: sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + listhen@1.7.2: + resolution: {integrity: sha512-7/HamOm5YD9Wb7CFgAZkKgVPA96WwhcTQoqtm2VTZGVbVVn3IWKRBTgrU7cchA3Q8k9iCsG8Osoi9GX4JsGM9g==} + hasBin: true + + lit-element@3.3.3: + resolution: {integrity: sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==} + + lit-html@2.8.0: + resolution: {integrity: sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==} + + lit@2.8.0: + resolution: {integrity: sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==} + + load-tsconfig@0.2.5: + resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + locate-path@3.0.0: + resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} + engines: {node: '>=6'} + + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + locate-path@7.2.0: + resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + + lodash.isequal@4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + + lodash.throttle@4.1.1: + resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==} + + log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + + log-symbols@5.1.0: + resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==} + engines: {node: '>=12'} + + logkitty@0.7.1: + resolution: {integrity: sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==} + hasBin: true + + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + make-dir@2.1.0: + resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} + engines: {node: '>=6'} + + makeerror@1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + + marky@1.2.5: + resolution: {integrity: sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==} + + memoize-one@5.2.1: + resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + metro-babel-transformer@0.80.10: + resolution: {integrity: sha512-GXHueUzgzcazfzORDxDzWS9jVVRV6u+cR6TGvHOfGdfLzJCj7/D0PretLfyq+MwN20twHxLW+BUXkoaB8sCQBg==} + engines: {node: '>=18'} + + metro-cache-key@0.80.10: + resolution: {integrity: sha512-57qBhO3zQfoU/hP4ZlLW5hVej2jVfBX6B4NcSfMj4LgDPL3YknWg80IJBxzQfjQY/m+fmMLmPy8aUMHzUp/guA==} + engines: {node: '>=18'} + + metro-cache@0.80.10: + resolution: {integrity: sha512-8CBtDJwMguIE5RvV3PU1QtxUG8oSSX54mIuAbRZmcQ0MYiOl9JdrMd4JCBvIyhiZLoSStph425SMyCSnjtJsdA==} + engines: {node: '>=18'} + + metro-config@0.80.10: + resolution: {integrity: sha512-0GYAw0LkmGbmA81FepKQepL1KU/85Cyv7sAiWm6QWeV6AcVCpsKg6jGLqGHJ0LLPL60rWzA4TV1DQAlzdJAEtA==} + engines: {node: '>=18'} + + metro-core@0.80.10: + resolution: {integrity: sha512-nwBB6HbpGlNsZMuzxVqxqGIOsn5F3JKpsp8PziS7Z4mV8a/jA1d44mVOgYmDa2q5WlH5iJfRIIhdz24XRNDlLA==} + engines: {node: '>=18'} + + metro-file-map@0.80.10: + resolution: {integrity: sha512-ytsUq8coneaN7ZCVk1IogojcGhLIbzWyiI2dNmw2nnBgV/0A+M5WaTTgZ6dJEz3dzjObPryDnkqWPvIGLCPtiw==} + engines: {node: '>=18'} + + metro-minify-terser@0.80.10: + resolution: {integrity: sha512-Xyv9pEYpOsAerrld7cSLIcnCCpv8ItwysOmTA+AKf1q4KyE9cxrH2O2SA0FzMCkPzwxzBWmXwHUr+A89BpEM6g==} + engines: {node: '>=18'} + + metro-resolver@0.80.10: + resolution: {integrity: sha512-EYC5CL7f+bSzrqdk1bylKqFNGabfiI5PDctxoPx70jFt89Jz+ThcOscENog8Jb4LEQFG6GkOYlwmPpsi7kx3QA==} + engines: {node: '>=18'} + + metro-runtime@0.80.10: + resolution: {integrity: sha512-Xh0N589ZmSIgJYAM+oYwlzTXEHfASZac9TYPCNbvjNTn0EHKqpoJ/+Im5G3MZT4oZzYv4YnvzRtjqS5k0tK94A==} + engines: {node: '>=18'} + + metro-source-map@0.80.10: + resolution: {integrity: sha512-EyZswqJW8Uukv/HcQr6K19vkMXW1nzHAZPWJSEyJFKIbgp708QfRZ6vnZGmrtFxeJEaFdNup4bGnu8/mIOYlyA==} + engines: {node: '>=18'} + + metro-symbolicate@0.80.10: + resolution: {integrity: sha512-qAoVUoSxpfZ2DwZV7IdnQGXCSsf2cAUExUcZyuCqGlY5kaWBb0mx2BL/xbMFDJ4wBp3sVvSBPtK/rt4J7a0xBA==} + engines: {node: '>=18'} + hasBin: true + + metro-transform-plugins@0.80.10: + resolution: {integrity: sha512-leAx9gtA+2MHLsCeWK6XTLBbv2fBnNFu/QiYhWzMq8HsOAP4u1xQAU0tSgPs8+1vYO34Plyn79xTLUtQCRSSUQ==} + engines: {node: '>=18'} + + metro-transform-worker@0.80.10: + resolution: {integrity: sha512-zNfNLD8Rz99U+JdOTqtF2o7iTjcDMMYdVS90z6+81Tzd2D0lDWVpls7R1hadS6xwM+ymgXFQTjM6V6wFoZaC0g==} + engines: {node: '>=18'} + + metro@0.80.10: + resolution: {integrity: sha512-FDPi0X7wpafmDREXe1lgg3WzETxtXh6Kpq8+IwsG35R2tMyp2kFIqDdshdohuvDt1J/qDARcEPq7V/jElTb1kA==} + engines: {node: '>=18'} + hasBin: true + + micro-ftch@0.3.1: + resolution: {integrity: sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-db@1.53.0: + resolution: {integrity: sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + + mime@2.6.0: + resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} + engines: {node: '>=4.0.0'} + hasBin: true + + mime@3.0.0: + resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} + engines: {node: '>=10.0.0'} + hasBin: true + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + + minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + + minimalistic-crypto-utils@1.0.1: + resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + mipd@0.0.7: + resolution: {integrity: sha512-aAPZPNDQ3uMTdKbuO2YmAw2TxLHO0moa4YKAyETM/DTj5FloZo+a+8tU+iv4GmW+sOxKLSRwcSFuczk+Cpt6fg==} + peerDependencies: + typescript: '>=5.0.4' + peerDependenciesMeta: + typescript: + optional: true + + mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + + mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + + mlly@1.7.1: + resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} + + motion@10.16.2: + resolution: {integrity: sha512-p+PurYqfUdcJZvtnmAqu5fJgV2kR0uLFQuBKtLeFVTrYEVllI99tiOTSefVNYuip9ELTEkepIIDftNdze76NAQ==} + + mri@1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} + + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + + ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + multiformats@9.9.0: + resolution: {integrity: sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==} + + nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + + neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + + nocache@3.0.4: + resolution: {integrity: sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==} + engines: {node: '>=12.0.0'} + + node-abort-controller@3.1.1: + resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==} + + node-addon-api@2.0.2: + resolution: {integrity: sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==} + + node-addon-api@5.1.0: + resolution: {integrity: sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==} + + node-addon-api@7.1.1: + resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} + + node-dir@0.1.17: + resolution: {integrity: sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==} + engines: {node: '>= 0.10.5'} + + node-fetch-native@1.6.4: + resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} + + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-forge@1.3.1: + resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} + engines: {node: '>= 6.13.0'} + + node-gyp-build@4.8.2: + resolution: {integrity: sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==} + hasBin: true + + node-int64@0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + + node-releases@2.0.18: + resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} + + node-stream-zip@1.15.0: + resolution: {integrity: sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==} + engines: {node: '>=0.12.0'} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + nullthrows@1.1.1: + resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} + + ob1@0.80.10: + resolution: {integrity: sha512-dJHyB0S6JkMorUSfSGcYGkkg9kmq3qDUu3ygZUKIfkr47XOPuG35r2Sk6tbwtHXbdKIXmcMvM8DF2CwgdyaHfQ==} + engines: {node: '>=18'} + + obj-multiplex@1.0.0: + resolution: {integrity: sha512-0GNJAOsHoBHeNTvl5Vt6IWnpUEcc3uSRxzBri7EDyIcMgYvnY2JL2qdeV5zTMjWQX5OHcD5amcW2HFfDh0gjIA==} + + ofetch@1.3.4: + resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==} + + ohash@1.1.3: + resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==} + + on-exit-leak-free@0.2.0: + resolution: {integrity: sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==} + + on-finished@2.3.0: + resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} + engines: {node: '>= 0.8'} + + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + + on-headers@1.0.2: + resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} + engines: {node: '>= 0.8'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + + open@6.4.0: + resolution: {integrity: sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==} + engines: {node: '>=8'} + + open@7.4.2: + resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} + engines: {node: '>=8'} + + open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + + ora@5.4.1: + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} + engines: {node: '>=10'} + + ora@6.3.1: + resolution: {integrity: sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-limit@4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-locate@3.0.0: + resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} + engines: {node: '>=6'} + + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + p-locate@6.0.0: + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-json@4.0.0: + resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} + engines: {node: '>=4'} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + + path-exists@3.0.0: + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} + engines: {node: '>=4'} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-exists@5.0.0: + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + + picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + picomatch@3.0.1: + resolution: {integrity: sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag==} + engines: {node: '>=10'} + + pify@3.0.0: + resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} + engines: {node: '>=4'} + + pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + + pify@5.0.0: + resolution: {integrity: sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==} + engines: {node: '>=10'} + + pino-abstract-transport@0.5.0: + resolution: {integrity: sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==} + + pino-std-serializers@4.0.0: + resolution: {integrity: sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q==} + + pino@7.11.0: + resolution: {integrity: sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==} + hasBin: true + + pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + + pkg-dir@3.0.0: + resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==} + engines: {node: '>=6'} + + pkg-types@1.2.0: + resolution: {integrity: sha512-+ifYuSSqOQ8CqP4MbZA5hDpb97n3E8SVWdJe+Wms9kj745lmd3b7EZJiqvmLwAlmRfjrI7Hi5z3kdBJ93lFNPA==} + + pngjs@5.0.0: + resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==} + engines: {node: '>=10.13.0'} + + pony-cause@2.1.11: + resolution: {integrity: sha512-M7LhCsdNbNgiLYiP4WjsfLUuFmCfnjdF6jKe2R9NKl4WFN+HZPGHJZ9lnLP7f9ZnKe3U9nuWD0szirmj+migUg==} + engines: {node: '>=12.0.0'} + + possible-typed-array-names@1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} + + postcss@8.4.44: + resolution: {integrity: sha512-Aweb9unOEpQ3ezu4Q00DPvvM2ZTUitJdNKeP/+uQgr1IBIqu574IaZoURId7BKtWMREwzKa9OgzPzezWGPWFQw==} + engines: {node: ^10 || ^12 || >=14} + + preact@10.23.2: + resolution: {integrity: sha512-kKYfePf9rzKnxOAKDpsWhg/ysrHPqT+yQ7UW4JjdnqjFIeNUnNcEJvhuA8fDenxAGWzUqtd51DfVg7xp/8T9NA==} + + prettier@3.3.3: + resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==} + engines: {node: '>=14'} + hasBin: true + + pretty-format@26.6.2: + resolution: {integrity: sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==} + engines: {node: '>= 10'} + + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + process-warning@1.0.0: + resolution: {integrity: sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==} + + promise@8.3.0: + resolution: {integrity: sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==} + + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + + proxy-compare@2.5.1: + resolution: {integrity: sha512-oyfc0Tx87Cpwva5ZXezSp5V9vht1c7dZBhvuV/y3ctkgMVUmiAGDVeeB0dKhGSyT0v1ZTEQYpe/RXlBVBNuCLA==} + + pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + + qr-code-styling@1.6.0-rc.1: + resolution: {integrity: sha512-ModRIiW6oUnsP18QzrRYZSc/CFKFKIdj7pUs57AEVH20ajlglRpN3HukjHk0UbNMTlKGuaYl7Gt6/O5Gg2NU2Q==} + + qrcode-generator@1.4.4: + resolution: {integrity: sha512-HM7yY8O2ilqhmULxGMpcHSF1EhJJ9yBj8gvDEuZ6M+KGJ0YY2hKpnXvRD+hZPLrDVck3ExIGhmPtSdcjC+guuw==} + + qrcode-terminal-nooctal@0.12.1: + resolution: {integrity: sha512-jy/kkD0iIMDjTucB+5T6KBsnirlhegDH47vHgrj5MejchSQmi/EAMM0xMFeePgV9CJkkAapNakpVUWYgHvtdKg==} + hasBin: true + + qrcode@1.5.3: + resolution: {integrity: sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==} + engines: {node: '>=10.13.0'} + hasBin: true + + query-string@7.1.3: + resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==} + engines: {node: '>=6'} + + querystring@0.2.1: + resolution: {integrity: sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==} + engines: {node: '>=0.4.x'} + deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + queue@6.0.2: + resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==} + + quick-format-unescaped@4.0.4: + resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} + + radix3@1.1.2: + resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==} + + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + react-devtools-core@5.3.1: + resolution: {integrity: sha512-7FSb9meX0btdBQLwdFOwt6bGqvRPabmVMMslv8fgoSPqXyuGpgQe36kx8gR86XPw7aV1yVouTp6fyZ0EH+NfUw==} + + react-dom@18.3.1: + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + peerDependencies: + react: ^18.3.1 + + react-is@17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + + react-native-webview@11.26.1: + resolution: {integrity: sha512-hC7BkxOpf+z0UKhxFSFTPAM4shQzYmZHoELa6/8a/MspcjEP7ukYKpuSUTLDywQditT8yI9idfcKvfZDKQExGw==} + peerDependencies: + react: '*' + react-native: '*' + + react-native@0.75.2: + resolution: {integrity: sha512-pP+Yswd/EurzAlKizytRrid9LJaPJzuNldc+o5t01md2VLHym8V7FWH2z9omFKtFTer8ERg0fAhG1fpd0Qq6bQ==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + '@types/react': ^18.2.6 + react: ^18.2.0 + peerDependenciesMeta: + '@types/react': + optional: true + + react-refresh@0.14.2: + resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} + engines: {node: '>=0.10.0'} + + react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + engines: {node: '>=0.10.0'} + + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + readline@1.3.0: + resolution: {integrity: sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==} + + real-require@0.1.0: + resolution: {integrity: sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg==} + engines: {node: '>= 12.13.0'} + + recast@0.21.5: + resolution: {integrity: sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==} + engines: {node: '>= 4'} + + regenerate-unicode-properties@10.1.1: + resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} + engines: {node: '>=4'} + + regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + + regenerator-runtime@0.13.11: + resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + + regenerator-transform@0.15.2: + resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} + + regexpu-core@5.3.2: + resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} + engines: {node: '>=4'} + + regjsparser@0.9.1: + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} + hasBin: true + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + require-main-filename@2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + + resolve-from@3.0.0: + resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==} + engines: {node: '>=4'} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + + restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + + restore-cursor@4.0.0: + resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rimraf@2.6.3: + resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + rollup-plugin-visualizer@5.12.0: + resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==} + engines: {node: '>=14'} + hasBin: true + peerDependencies: + rollup: 2.x || 3.x || 4.x + peerDependenciesMeta: + rollup: + optional: true + + rollup@4.21.2: + resolution: {integrity: sha512-e3TapAgYf9xjdLvKQCkQTnbTKd4a6jwlpQSJJFokHGaX2IVjoEqkIIhiQfqsi0cdwlOD+tQGuOd5AJkc5RngBw==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safe-stable-stringify@2.5.0: + resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} + engines: {node: '>=10'} + + scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + + scheduler@0.24.0-canary-efb381bbf-20230505: + resolution: {integrity: sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==} + + secp256k1@5.0.0: + resolution: {integrity: sha512-TKWX8xvoGHrxVdqbYeZM9w+izTF4b9z3NhSaDkdn81btvuh+ivbIMGT/zQvDtTFWhRlThpoz6LEYTr7n8A5GcA==} + engines: {node: '>=14.0.0'} + + selfsigned@2.4.1: + resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} + engines: {node: '>=10'} + + semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + + send@0.18.0: + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + engines: {node: '>= 0.8.0'} + + serialize-error@2.1.0: + resolution: {integrity: sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==} + engines: {node: '>=0.10.0'} + + serve-static@1.15.0: + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + engines: {node: '>= 0.8.0'} + + set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + sha.js@2.4.11: + resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} + hasBin: true + + shallow-clone@3.0.1: + resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} + engines: {node: '>=8'} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shell-quote@1.8.1: + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + slice-ansi@2.1.0: + resolution: {integrity: sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==} + engines: {node: '>=6'} + + socket.io-client@4.7.5: + resolution: {integrity: sha512-sJ/tqHOCe7Z50JCBCXrsY3I2k03iOiUe+tj1OmKeD2lXPiGH/RUCdTZFoqVyN7l1MnpIzPrGtLcijffmeouNlQ==} + engines: {node: '>=10.0.0'} + + socket.io-parser@4.2.4: + resolution: {integrity: sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==} + engines: {node: '>=10.0.0'} + + sonic-boom@2.8.0: + resolution: {integrity: sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==} + + source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + + split-on-first@1.1.0: + resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==} + engines: {node: '>=6'} + + split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + + stackframe@1.3.4: + resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} + + stacktrace-parser@0.1.10: + resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} + engines: {node: '>=6'} + + statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + + statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + + std-env@3.7.0: + resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + + stdin-discarder@0.1.0: + resolution: {integrity: sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + stream-shift@1.0.3: + resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} + + strict-uri-encode@2.0.0: + resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==} + engines: {node: '>=4'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + strip-ansi@5.2.0: + resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} + engines: {node: '>=6'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + + strnum@1.0.5: + resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} + + sudo-prompt@9.2.1: + resolution: {integrity: sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==} + + superstruct@1.0.4: + resolution: {integrity: sha512-7JpaAoX2NGyoFlI9NBh66BQXGONc+uE+MRS5i2iOBKuS4e+ccgMDjATgZldkah+33DakBxDHiss9kvUcGAO8UQ==} + engines: {node: '>=14.0.0'} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + system-architecture@0.1.0: + resolution: {integrity: sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==} + engines: {node: '>=18'} + + temp@0.8.4: + resolution: {integrity: sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==} + engines: {node: '>=6.0.0'} + + terser@5.31.6: + resolution: {integrity: sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==} + engines: {node: '>=10'} + hasBin: true + + thread-stream@0.15.2: + resolution: {integrity: sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==} + + throat@5.0.0: + resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==} + + through2@2.0.5: + resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} + + tmpl@1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + + to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + + tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + + tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} + + type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + + type-fest@0.7.1: + resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} + engines: {node: '>=8'} + + typescript@5.5.4: + resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} + engines: {node: '>=14.17'} + hasBin: true + + ufo@1.5.4: + resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} + + uint8arrays@3.1.0: + resolution: {integrity: sha512-ei5rfKtoRO8OyOIor2Rz5fhzjThwIHJZ3uyDPnDHTXbP0aMQ1RN/6AI5B5d9dBxJOU+BvOAk7ZQ1xphsX8Lrog==} + + uncrypto@0.1.3: + resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} + + undici-types@6.19.8: + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} + + unenv@1.10.0: + resolution: {integrity: sha512-wY5bskBQFL9n3Eca5XnhH6KbUo/tfvkwm9OpcdCvLaeA7piBNbavbOKJySEwQ1V0RH6HvNlSAFRTpvTqgKRQXQ==} + + unicode-canonical-property-names-ecmascript@2.0.0: + resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + engines: {node: '>=4'} + + unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + + unicode-match-property-value-ecmascript@2.1.0: + resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + engines: {node: '>=4'} + + unicode-property-aliases-ecmascript@2.1.0: + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} + + universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + + unstorage@1.10.2: + resolution: {integrity: sha512-cULBcwDqrS8UhlIysUJs2Dk0Mmt8h7B0E6mtR+relW9nZvsf/u4SkAYyNliPiPW7XtFNb5u3IUMkxGxFTTRTgQ==} + peerDependencies: + '@azure/app-configuration': ^1.5.0 + '@azure/cosmos': ^4.0.0 + '@azure/data-tables': ^13.2.2 + '@azure/identity': ^4.0.1 + '@azure/keyvault-secrets': ^4.8.0 + '@azure/storage-blob': ^12.17.0 + '@capacitor/preferences': ^5.0.7 + '@netlify/blobs': ^6.5.0 || ^7.0.0 + '@planetscale/database': ^1.16.0 + '@upstash/redis': ^1.28.4 + '@vercel/kv': ^1.0.1 + idb-keyval: ^6.2.1 + ioredis: ^5.3.2 + peerDependenciesMeta: + '@azure/app-configuration': + optional: true + '@azure/cosmos': + optional: true + '@azure/data-tables': + optional: true + '@azure/identity': + optional: true + '@azure/keyvault-secrets': + optional: true + '@azure/storage-blob': + optional: true + '@capacitor/preferences': + optional: true + '@netlify/blobs': + optional: true + '@planetscale/database': + optional: true + '@upstash/redis': + optional: true + '@vercel/kv': + optional: true + idb-keyval: + optional: true + ioredis: + optional: true + + untun@0.1.3: + resolution: {integrity: sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ==} + hasBin: true + + update-browserslist-db@1.1.0: + resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + uqr@0.1.2: + resolution: {integrity: sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==} + + use-sync-external-store@1.2.0: + resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + + utf-8-validate@5.0.10: + resolution: {integrity: sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==} + engines: {node: '>=6.14.2'} + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + util@0.12.5: + resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} + + utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + + uuid@9.0.1: + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + hasBin: true + + valtio@1.11.2: + resolution: {integrity: sha512-1XfIxnUXzyswPAPXo1P3Pdx2mq/pIqZICkWN60Hby0d9Iqb+MEIpqgYVlbflvHdrp2YR/q3jyKWRPJJ100yxaw==} + engines: {node: '>=12.20.0'} + peerDependencies: + '@types/react': '>=16.8' + react: '>=16.8' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + + viem@2.21.1: + resolution: {integrity: sha512-nlIc2LLS6aqkngULS9UJ2Sg3nHKAgF9bbpDUwjUoAUBijd69mrCWPBXQ8jmbzcx12uZUfd9Nc//CHgSVZiMwyg==} + peerDependencies: + typescript: '>=5.0.4' + peerDependenciesMeta: + typescript: + optional: true + + vite@5.4.3: + resolution: {integrity: sha512-IH+nl64eq9lJjFqU+/yrRnrHPVTlgy42/+IzbOdaFDVlyLgI/wDlf+FCobXLX1cT0X5+7LMyH1mIy2xJdLfo8Q==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + + vlq@1.0.1: + resolution: {integrity: sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==} + + wagmi@2.12.8: + resolution: {integrity: sha512-+HP3T02La4rIbBWF2mAVX63CykTGMQt77WN1PzZco7MWeUtjYeutwmnNjkDWWE7HFVZHZqNTVFYe3sbtu2LR4A==} + peerDependencies: + '@tanstack/react-query': '>=5.0.0' + react: '>=18' + typescript: '>=5.0.4' + viem: 2.x + peerDependenciesMeta: + typescript: + optional: true + + walker@1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + + wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + + webauthn-p256@0.0.5: + resolution: {integrity: sha512-drMGNWKdaixZNobeORVIqq7k5DsRC9FnG201K2QjeOoQLmtSDaSsVZdkg6n5jUALJKcAG++zBPJXmv6hy0nWFg==} + + webextension-polyfill@0.10.0: + resolution: {integrity: sha512-c5s35LgVa5tFaHhrZDnr3FpQpjj1BB+RXhLTYUxGqBVN460HkbM8TBtEqdXWbpTKfzwCcjAZVF7zXCYSKtcp9g==} + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + whatwg-fetch@3.6.20: + resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + which-module@2.0.1: + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} + + which-typed-array@1.1.15: + resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} + engines: {node: '>= 0.4'} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + write-file-atomic@2.4.3: + resolution: {integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==} + + ws@6.2.3: + resolution: {integrity: sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@7.5.10: + resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.17.1: + resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + xmlhttprequest-ssl@2.0.0: + resolution: {integrity: sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==} + engines: {node: '>=0.4.0'} + + xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + + y18n@4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yaml@2.5.0: + resolution: {integrity: sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==} + engines: {node: '>= 14'} + hasBin: true + + yargs-parser@18.1.3: + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@15.4.1: + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + yocto-queue@1.1.1: + resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==} + engines: {node: '>=12.20'} + + zod@3.23.8: + resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} + + zustand@4.4.1: + resolution: {integrity: sha512-QCPfstAS4EBiTQzlaGP1gmorkh/UL1Leaj2tdj+zZCZ/9bm0WS7sI2wnfD5lpOszFqWJ1DcPnGoY8RDL61uokw==} + engines: {node: '>=12.7.0'} + peerDependencies: + '@types/react': '>=16.8' + immer: '>=9.0' + react: '>=16.8' + peerDependenciesMeta: + '@types/react': + optional: true + immer: + optional: true + react: + optional: true + +snapshots: + + '@adraffy/ens-normalize@1.10.0': {} + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + '@babel/code-frame@7.24.7': + dependencies: + '@babel/highlight': 7.24.7 + picocolors: 1.1.0 + + '@babel/compat-data@7.25.4': {} + + '@babel/core@7.25.2': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.25.6 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helpers': 7.25.6 + '@babel/parser': 7.25.6 + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 + convert-source-map: 2.0.0 + debug: 4.3.6 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.25.6': + dependencies: + '@babel/types': 7.25.6 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + + '@babel/helper-annotate-as-pure@7.24.7': + dependencies: + '@babel/types': 7.25.6 + + '@babel/helper-builder-binary-assignment-operator-visitor@7.24.7': + dependencies: + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 + transitivePeerDependencies: + - supports-color + + '@babel/helper-compilation-targets@7.25.2': + dependencies: + '@babel/compat-data': 7.25.4 + '@babel/helper-validator-option': 7.24.8 + browserslist: 4.23.3 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-create-class-features-plugin@7.25.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-member-expression-to-functions': 7.24.8 + '@babel/helper-optimise-call-expression': 7.24.7 + '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/traverse': 7.25.6 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-create-regexp-features-plugin@7.25.2(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.24.7 + regexpu-core: 5.3.2 + semver: 6.3.1 + + '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + debug: 4.3.6 + lodash.debounce: 4.0.8 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + + '@babel/helper-member-expression-to-functions@7.24.8': + dependencies: + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-imports@7.24.7': + dependencies: + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-simple-access': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + '@babel/traverse': 7.25.6 + transitivePeerDependencies: + - supports-color + + '@babel/helper-optimise-call-expression@7.24.7': + dependencies: + '@babel/types': 7.25.6 + + '@babel/helper-plugin-utils@7.24.8': {} + + '@babel/helper-remap-async-to-generator@7.25.0(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-wrap-function': 7.25.0 + '@babel/traverse': 7.25.6 + transitivePeerDependencies: + - supports-color + + '@babel/helper-replace-supers@7.25.0(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-member-expression-to-functions': 7.24.8 + '@babel/helper-optimise-call-expression': 7.24.7 + '@babel/traverse': 7.25.6 + transitivePeerDependencies: + - supports-color + + '@babel/helper-simple-access@7.24.7': + dependencies: + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 + transitivePeerDependencies: + - supports-color + + '@babel/helper-skip-transparent-expression-wrappers@7.24.7': + dependencies: + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 + transitivePeerDependencies: + - supports-color + + '@babel/helper-string-parser@7.24.8': {} + + '@babel/helper-validator-identifier@7.24.7': {} + + '@babel/helper-validator-option@7.24.8': {} + + '@babel/helper-wrap-function@7.25.0': + dependencies: + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 + transitivePeerDependencies: + - supports-color + + '@babel/helpers@7.25.6': + dependencies: + '@babel/template': 7.25.0 + '@babel/types': 7.25.6 + + '@babel/highlight@7.24.7': + dependencies: + '@babel/helper-validator-identifier': 7.24.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.1.0 + + '@babel/parser@7.25.6': + dependencies: + '@babel/types': 7.25.6 + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/traverse': 7.25.6 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.0(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.0(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.0(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/traverse': 7.25.6 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-export-default-from@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-export-default-from': 7.24.7(@babel/core@7.25.2) + + '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) + + '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-export-default-from@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-flow@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-import-assertions@7.25.6(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-import-attributes@7.25.6(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-typescript@7.25.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-async-generator-functions@7.25.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) + '@babel/traverse': 7.25.6 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-async-to-generator@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-block-scoped-functions@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-block-scoping@7.25.0(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-class-properties@7.25.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-class-static-block@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-classes@7.25.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) + '@babel/traverse': 7.25.6 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-computed-properties@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/template': 7.25.0 + + '@babel/plugin-transform-destructuring@7.24.8(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-dotall-regex@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-duplicate-keys@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.0(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-dynamic-import@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) + + '@babel/plugin-transform-exponentiation-operator@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-export-namespace-from@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.2) + + '@babel/plugin-transform-flow-strip-types@7.25.2(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-flow': 7.24.7(@babel/core@7.25.2) + + '@babel/plugin-transform-for-of@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-function-name@7.25.1(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/traverse': 7.25.6 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-json-strings@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) + + '@babel/plugin-transform-literals@7.25.2(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-logical-assignment-operators@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) + + '@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-modules-amd@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-commonjs@7.24.8(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-simple-access': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-systemjs@7.25.0(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-validator-identifier': 7.24.7 + '@babel/traverse': 7.25.6 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-umd@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-named-capturing-groups-regex@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-new-target@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-nullish-coalescing-operator@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) + + '@babel/plugin-transform-numeric-separator@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) + + '@babel/plugin-transform-object-rest-spread@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) + + '@babel/plugin-transform-object-super@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-optional-catch-binding@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) + + '@babel/plugin-transform-optional-chaining@7.24.8(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-parameters@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-private-methods@7.25.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-private-property-in-object@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-property-literals@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-react-display-name@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-react-jsx-self@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-react-jsx-source@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-react-jsx@7.25.2(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) + '@babel/types': 7.25.6 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-regenerator@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + regenerator-transform: 0.15.2 + + '@babel/plugin-transform-reserved-words@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-runtime@7.25.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.25.2) + babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.25.2) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.25.2) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-spread@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-template-literals@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-typeof-symbol@7.24.8(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-typescript@7.25.2(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/plugin-syntax-typescript': 7.25.4(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-unicode-escapes@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-unicode-property-regex@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-unicode-regex@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-unicode-sets-regex@7.25.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/preset-env@7.25.4(@babel/core@7.25.2)': + dependencies: + '@babel/compat-data': 7.25.4 + '@babel/core': 7.25.2 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-validator-option': 7.24.8 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.3(@babel/core@7.25.2) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.2) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.25.2) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-import-assertions': 7.25.6(@babel/core@7.25.2) + '@babel/plugin-syntax-import-attributes': 7.25.6(@babel/core@7.25.2) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.25.2) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.25.2) + '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-async-generator-functions': 7.25.4(@babel/core@7.25.2) + '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-block-scoped-functions': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-block-scoping': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-class-properties': 7.25.4(@babel/core@7.25.2) + '@babel/plugin-transform-class-static-block': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-classes': 7.25.4(@babel/core@7.25.2) + '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-destructuring': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-dotall-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-duplicate-keys': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-dynamic-import': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-exponentiation-operator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-function-name': 7.25.1(@babel/core@7.25.2) + '@babel/plugin-transform-json-strings': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-literals': 7.25.2(@babel/core@7.25.2) + '@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-member-expression-literals': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-modules-amd': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-modules-systemjs': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-modules-umd': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-new-target': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-numeric-separator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-object-super': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-private-methods': 7.25.4(@babel/core@7.25.2) + '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-property-literals': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-regenerator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-reserved-words': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-typeof-symbol': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-unicode-escapes': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-unicode-property-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-unicode-sets-regex': 7.25.4(@babel/core@7.25.2) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.25.2) + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.25.2) + babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.25.2) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.25.2) + core-js-compat: 3.38.1 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/preset-flow@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-validator-option': 7.24.8 + '@babel/plugin-transform-flow-strip-types': 7.25.2(@babel/core@7.25.2) + + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/types': 7.25.6 + esutils: 2.0.3 + + '@babel/preset-typescript@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-validator-option': 7.24.8 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color + + '@babel/register@7.24.6(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + clone-deep: 4.0.1 + find-cache-dir: 2.1.0 + make-dir: 2.1.0 + pirates: 4.0.6 + source-map-support: 0.5.21 + + '@babel/regjsgen@0.8.0': {} + + '@babel/runtime@7.25.6': + dependencies: + regenerator-runtime: 0.14.1 + + '@babel/template@7.25.0': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 + + '@babel/traverse@7.25.6': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.25.6 + '@babel/parser': 7.25.6 + '@babel/template': 7.25.0 + '@babel/types': 7.25.6 + debug: 4.3.6 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.25.6': + dependencies: + '@babel/helper-string-parser': 7.24.8 + '@babel/helper-validator-identifier': 7.24.7 + to-fast-properties: 2.0.0 + + '@biomejs/biome@1.8.3': + optionalDependencies: + '@biomejs/cli-darwin-arm64': 1.8.3 + '@biomejs/cli-darwin-x64': 1.8.3 + '@biomejs/cli-linux-arm64': 1.8.3 + '@biomejs/cli-linux-arm64-musl': 1.8.3 + '@biomejs/cli-linux-x64': 1.8.3 + '@biomejs/cli-linux-x64-musl': 1.8.3 + '@biomejs/cli-win32-arm64': 1.8.3 + '@biomejs/cli-win32-x64': 1.8.3 + + '@biomejs/cli-darwin-arm64@1.8.3': + optional: true + + '@biomejs/cli-darwin-x64@1.8.3': + optional: true + + '@biomejs/cli-linux-arm64-musl@1.8.3': + optional: true + + '@biomejs/cli-linux-arm64@1.8.3': + optional: true + + '@biomejs/cli-linux-x64-musl@1.8.3': + optional: true + + '@biomejs/cli-linux-x64@1.8.3': + optional: true + + '@biomejs/cli-win32-arm64@1.8.3': + optional: true + + '@biomejs/cli-win32-x64@1.8.3': + optional: true + + '@coinbase/wallet-sdk@3.9.3': + dependencies: + bn.js: 5.2.1 + buffer: 6.0.3 + clsx: 1.2.1 + eth-block-tracker: 7.1.0 + eth-json-rpc-filters: 6.0.1 + eventemitter3: 5.0.1 + keccak: 3.0.4 + preact: 10.23.2 + sha.js: 2.4.11 + transitivePeerDependencies: + - supports-color + + '@coinbase/wallet-sdk@4.0.4': + dependencies: + buffer: 6.0.3 + clsx: 1.2.1 + eventemitter3: 5.0.1 + keccak: 3.0.4 + preact: 10.23.2 + sha.js: 2.4.11 + + '@esbuild/aix-ppc64@0.19.12': + optional: true + + '@esbuild/aix-ppc64@0.21.5': + optional: true + + '@esbuild/android-arm64@0.19.12': + optional: true + + '@esbuild/android-arm64@0.21.5': + optional: true + + '@esbuild/android-arm@0.19.12': + optional: true + + '@esbuild/android-arm@0.21.5': + optional: true + + '@esbuild/android-x64@0.19.12': + optional: true + + '@esbuild/android-x64@0.21.5': + optional: true + + '@esbuild/darwin-arm64@0.19.12': + optional: true + + '@esbuild/darwin-arm64@0.21.5': + optional: true + + '@esbuild/darwin-x64@0.19.12': + optional: true + + '@esbuild/darwin-x64@0.21.5': + optional: true + + '@esbuild/freebsd-arm64@0.19.12': + optional: true + + '@esbuild/freebsd-arm64@0.21.5': + optional: true + + '@esbuild/freebsd-x64@0.19.12': + optional: true + + '@esbuild/freebsd-x64@0.21.5': + optional: true + + '@esbuild/linux-arm64@0.19.12': + optional: true + + '@esbuild/linux-arm64@0.21.5': + optional: true + + '@esbuild/linux-arm@0.19.12': + optional: true + + '@esbuild/linux-arm@0.21.5': + optional: true + + '@esbuild/linux-ia32@0.19.12': + optional: true + + '@esbuild/linux-ia32@0.21.5': + optional: true + + '@esbuild/linux-loong64@0.19.12': + optional: true + + '@esbuild/linux-loong64@0.21.5': + optional: true + + '@esbuild/linux-mips64el@0.19.12': + optional: true + + '@esbuild/linux-mips64el@0.21.5': + optional: true + + '@esbuild/linux-ppc64@0.19.12': + optional: true + + '@esbuild/linux-ppc64@0.21.5': + optional: true + + '@esbuild/linux-riscv64@0.19.12': + optional: true + + '@esbuild/linux-riscv64@0.21.5': + optional: true + + '@esbuild/linux-s390x@0.19.12': + optional: true + + '@esbuild/linux-s390x@0.21.5': + optional: true + + '@esbuild/linux-x64@0.19.12': + optional: true + + '@esbuild/linux-x64@0.21.5': + optional: true + + '@esbuild/netbsd-x64@0.19.12': + optional: true + + '@esbuild/netbsd-x64@0.21.5': + optional: true + + '@esbuild/openbsd-x64@0.19.12': + optional: true + + '@esbuild/openbsd-x64@0.21.5': + optional: true + + '@esbuild/sunos-x64@0.19.12': + optional: true + + '@esbuild/sunos-x64@0.21.5': + optional: true + + '@esbuild/win32-arm64@0.19.12': + optional: true + + '@esbuild/win32-arm64@0.21.5': + optional: true + + '@esbuild/win32-ia32@0.19.12': + optional: true + + '@esbuild/win32-ia32@0.21.5': + optional: true + + '@esbuild/win32-x64@0.19.12': + optional: true + + '@esbuild/win32-x64@0.21.5': + optional: true + + '@ethereumjs/common@3.2.0': + dependencies: + '@ethereumjs/util': 8.1.0 + crc-32: 1.2.2 + + '@ethereumjs/rlp@4.0.1': {} + + '@ethereumjs/tx@4.2.0': + dependencies: + '@ethereumjs/common': 3.2.0 + '@ethereumjs/rlp': 4.0.1 + '@ethereumjs/util': 8.1.0 + ethereum-cryptography: 2.2.1 + + '@ethereumjs/util@8.1.0': + dependencies: + '@ethereumjs/rlp': 4.0.1 + ethereum-cryptography: 2.2.1 + micro-ftch: 0.3.1 + + '@hapi/hoek@9.3.0': {} + + '@hapi/topo@5.1.0': + dependencies: + '@hapi/hoek': 9.3.0 + + '@isaacs/ttlcache@1.4.1': {} + + '@jest/create-cache-key-function@29.7.0': + dependencies: + '@jest/types': 29.6.3 + + '@jest/environment@29.7.0': + dependencies: + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 22.5.2 + jest-mock: 29.7.0 + + '@jest/fake-timers@29.7.0': + dependencies: + '@jest/types': 29.6.3 + '@sinonjs/fake-timers': 10.3.0 + '@types/node': 22.5.2 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-util: 29.7.0 + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jest/types@26.6.2': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 22.5.2 + '@types/yargs': 15.0.19 + chalk: 4.1.2 + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 22.5.2 + '@types/yargs': 17.0.33 + chalk: 4.1.2 + + '@jridgewell/gen-mapping@0.3.5': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/source-map@0.3.6': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/sourcemap-codec@1.5.0': {} + + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + + '@lit-labs/ssr-dom-shim@1.2.1': {} + + '@lit/reactive-element@1.6.3': + dependencies: + '@lit-labs/ssr-dom-shim': 1.2.1 + + '@metamask/eth-json-rpc-provider@1.0.1': + dependencies: + '@metamask/json-rpc-engine': 7.3.3 + '@metamask/safe-event-emitter': 3.1.1 + '@metamask/utils': 5.0.2 + transitivePeerDependencies: + - supports-color + + '@metamask/json-rpc-engine@7.3.3': + dependencies: + '@metamask/rpc-errors': 6.3.1 + '@metamask/safe-event-emitter': 3.1.1 + '@metamask/utils': 8.5.0 + transitivePeerDependencies: + - supports-color + + '@metamask/json-rpc-engine@8.0.2': + dependencies: + '@metamask/rpc-errors': 6.3.1 + '@metamask/safe-event-emitter': 3.1.1 + '@metamask/utils': 8.5.0 + transitivePeerDependencies: + - supports-color + + '@metamask/json-rpc-middleware-stream@7.0.2': + dependencies: + '@metamask/json-rpc-engine': 8.0.2 + '@metamask/safe-event-emitter': 3.1.1 + '@metamask/utils': 8.5.0 + readable-stream: 3.6.2 + transitivePeerDependencies: + - supports-color + + '@metamask/object-multiplex@2.0.0': + dependencies: + once: 1.4.0 + readable-stream: 3.6.2 + + '@metamask/onboarding@1.0.1': + dependencies: + bowser: 2.11.0 + + '@metamask/providers@16.1.0': + dependencies: + '@metamask/json-rpc-engine': 8.0.2 + '@metamask/json-rpc-middleware-stream': 7.0.2 + '@metamask/object-multiplex': 2.0.0 + '@metamask/rpc-errors': 6.3.1 + '@metamask/safe-event-emitter': 3.1.1 + '@metamask/utils': 8.5.0 + detect-browser: 5.3.0 + extension-port-stream: 3.0.0 + fast-deep-equal: 3.1.3 + is-stream: 2.0.1 + readable-stream: 3.6.2 + webextension-polyfill: 0.10.0 + transitivePeerDependencies: + - supports-color + + '@metamask/rpc-errors@6.3.1': + dependencies: + '@metamask/utils': 9.2.1 + fast-safe-stringify: 2.1.1 + transitivePeerDependencies: + - supports-color + + '@metamask/safe-event-emitter@2.0.0': {} + + '@metamask/safe-event-emitter@3.1.1': {} + + '@metamask/sdk-communication-layer@0.27.0(cross-fetch@4.0.0)(eciesjs@0.3.20)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.7.5(bufferutil@4.0.8)(utf-8-validate@5.0.10))': + dependencies: + bufferutil: 4.0.8 + cross-fetch: 4.0.0 + date-fns: 2.30.0 + debug: 4.3.6 + eciesjs: 0.3.20 + eventemitter2: 6.4.9 + readable-stream: 3.6.2 + socket.io-client: 4.7.5(bufferutil@4.0.8)(utf-8-validate@5.0.10) + utf-8-validate: 5.0.10 + uuid: 8.3.2 + transitivePeerDependencies: + - supports-color + + '@metamask/sdk-install-modal-web@0.26.5(i18next@23.11.5)(react-dom@18.3.1(react@18.3.1))(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.3.5)(bufferutil@4.0.8)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10))(react@18.3.1)': + dependencies: + i18next: 23.11.5 + qr-code-styling: 1.6.0-rc.1 + optionalDependencies: + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-native: 0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.3.5)(bufferutil@4.0.8)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10) + + '@metamask/sdk@0.27.0(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.3.5)(bufferutil@4.0.8)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.2)(utf-8-validate@5.0.10)': + dependencies: + '@metamask/onboarding': 1.0.1 + '@metamask/providers': 16.1.0 + '@metamask/sdk-communication-layer': 0.27.0(cross-fetch@4.0.0)(eciesjs@0.3.20)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.7.5(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@metamask/sdk-install-modal-web': 0.26.5(i18next@23.11.5)(react-dom@18.3.1(react@18.3.1))(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.3.5)(bufferutil@4.0.8)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10))(react@18.3.1) + '@types/dom-screen-wake-lock': 1.0.3 + bowser: 2.11.0 + cross-fetch: 4.0.0 + debug: 4.3.6 + eciesjs: 0.3.20 + eth-rpc-errors: 4.0.3 + eventemitter2: 6.4.9 + i18next: 23.11.5 + i18next-browser-languagedetector: 7.1.0 + obj-multiplex: 1.0.0 + pump: 3.0.0 + qrcode-terminal-nooctal: 0.12.1 + react-native-webview: 11.26.1(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.3.5)(bufferutil@4.0.8)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10))(react@18.3.1) + readable-stream: 3.6.2 + rollup-plugin-visualizer: 5.12.0(rollup@4.21.2) + socket.io-client: 4.7.5(bufferutil@4.0.8)(utf-8-validate@5.0.10) + util: 0.12.5 + uuid: 8.3.2 + optionalDependencies: + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - bufferutil + - encoding + - react-native + - rollup + - supports-color + - utf-8-validate + + '@metamask/superstruct@3.1.0': {} + + '@metamask/utils@5.0.2': + dependencies: + '@ethereumjs/tx': 4.2.0 + '@types/debug': 4.1.12 + debug: 4.3.6 + semver: 7.6.3 + superstruct: 1.0.4 + transitivePeerDependencies: + - supports-color + + '@metamask/utils@8.5.0': + dependencies: + '@ethereumjs/tx': 4.2.0 + '@metamask/superstruct': 3.1.0 + '@noble/hashes': 1.5.0 + '@scure/base': 1.1.7 + '@types/debug': 4.1.12 + debug: 4.3.6 + pony-cause: 2.1.11 + semver: 7.6.3 + uuid: 9.0.1 + transitivePeerDependencies: + - supports-color + + '@metamask/utils@9.2.1': + dependencies: + '@ethereumjs/tx': 4.2.0 + '@metamask/superstruct': 3.1.0 + '@noble/hashes': 1.5.0 + '@scure/base': 1.1.7 + '@types/debug': 4.1.12 + debug: 4.3.6 + pony-cause: 2.1.11 + semver: 7.6.3 + uuid: 9.0.1 + transitivePeerDependencies: + - supports-color + + '@motionone/animation@10.18.0': + dependencies: + '@motionone/easing': 10.18.0 + '@motionone/types': 10.17.1 + '@motionone/utils': 10.18.0 + tslib: 2.7.0 + + '@motionone/dom@10.18.0': + dependencies: + '@motionone/animation': 10.18.0 + '@motionone/generators': 10.18.0 + '@motionone/types': 10.17.1 + '@motionone/utils': 10.18.0 + hey-listen: 1.0.8 + tslib: 2.7.0 + + '@motionone/easing@10.18.0': + dependencies: + '@motionone/utils': 10.18.0 + tslib: 2.7.0 + + '@motionone/generators@10.18.0': + dependencies: + '@motionone/types': 10.17.1 + '@motionone/utils': 10.18.0 + tslib: 2.7.0 + + '@motionone/svelte@10.16.4': + dependencies: + '@motionone/dom': 10.18.0 + tslib: 2.7.0 + + '@motionone/types@10.17.1': {} + + '@motionone/utils@10.18.0': + dependencies: + '@motionone/types': 10.17.1 + hey-listen: 1.0.8 + tslib: 2.7.0 + + '@motionone/vue@10.16.4': + dependencies: + '@motionone/dom': 10.18.0 + tslib: 2.7.0 + + '@noble/curves@1.4.0': + dependencies: + '@noble/hashes': 1.4.0 + + '@noble/curves@1.4.2': + dependencies: + '@noble/hashes': 1.4.0 + + '@noble/hashes@1.4.0': {} + + '@noble/hashes@1.5.0': {} + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.17.1 + + '@parcel/watcher-android-arm64@2.4.1': + optional: true + + '@parcel/watcher-darwin-arm64@2.4.1': + optional: true + + '@parcel/watcher-darwin-x64@2.4.1': + optional: true + + '@parcel/watcher-freebsd-x64@2.4.1': + optional: true + + '@parcel/watcher-linux-arm-glibc@2.4.1': + optional: true + + '@parcel/watcher-linux-arm64-glibc@2.4.1': + optional: true + + '@parcel/watcher-linux-arm64-musl@2.4.1': + optional: true + + '@parcel/watcher-linux-x64-glibc@2.4.1': + optional: true + + '@parcel/watcher-linux-x64-musl@2.4.1': + optional: true + + '@parcel/watcher-wasm@2.4.1': + dependencies: + is-glob: 4.0.3 + micromatch: 4.0.8 + + '@parcel/watcher-win32-arm64@2.4.1': + optional: true + + '@parcel/watcher-win32-ia32@2.4.1': + optional: true + + '@parcel/watcher-win32-x64@2.4.1': + optional: true + + '@parcel/watcher@2.4.1': + dependencies: + detect-libc: 1.0.3 + is-glob: 4.0.3 + micromatch: 4.0.8 + node-addon-api: 7.1.1 + 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 + + '@react-native-community/cli-clean@14.0.0': + dependencies: + '@react-native-community/cli-tools': 14.0.0 + chalk: 4.1.2 + execa: 5.1.1 + fast-glob: 3.3.2 + + '@react-native-community/cli-config@14.0.0(typescript@5.5.4)': + dependencies: + '@react-native-community/cli-tools': 14.0.0 + chalk: 4.1.2 + cosmiconfig: 9.0.0(typescript@5.5.4) + deepmerge: 4.3.1 + fast-glob: 3.3.2 + joi: 17.13.3 + transitivePeerDependencies: + - typescript + + '@react-native-community/cli-debugger-ui@14.0.0': + dependencies: + serve-static: 1.15.0 + transitivePeerDependencies: + - supports-color + + '@react-native-community/cli-debugger-ui@14.0.0-alpha.11': + dependencies: + serve-static: 1.15.0 + transitivePeerDependencies: + - supports-color + + '@react-native-community/cli-doctor@14.0.0(typescript@5.5.4)': + dependencies: + '@react-native-community/cli-config': 14.0.0(typescript@5.5.4) + '@react-native-community/cli-platform-android': 14.0.0 + '@react-native-community/cli-platform-apple': 14.0.0 + '@react-native-community/cli-platform-ios': 14.0.0 + '@react-native-community/cli-tools': 14.0.0 + chalk: 4.1.2 + command-exists: 1.2.9 + deepmerge: 4.3.1 + envinfo: 7.13.0 + execa: 5.1.1 + node-stream-zip: 1.15.0 + ora: 5.4.1 + semver: 7.6.3 + strip-ansi: 5.2.0 + wcwidth: 1.0.1 + yaml: 2.5.0 + transitivePeerDependencies: + - typescript + + '@react-native-community/cli-platform-android@14.0.0': + dependencies: + '@react-native-community/cli-tools': 14.0.0 + chalk: 4.1.2 + execa: 5.1.1 + fast-glob: 3.3.2 + fast-xml-parser: 4.5.0 + logkitty: 0.7.1 + + '@react-native-community/cli-platform-apple@14.0.0': + dependencies: + '@react-native-community/cli-tools': 14.0.0 + chalk: 4.1.2 + execa: 5.1.1 + fast-glob: 3.3.2 + fast-xml-parser: 4.5.0 + ora: 5.4.1 + + '@react-native-community/cli-platform-ios@14.0.0': + dependencies: + '@react-native-community/cli-platform-apple': 14.0.0 + + '@react-native-community/cli-server-api@14.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + dependencies: + '@react-native-community/cli-debugger-ui': 14.0.0 + '@react-native-community/cli-tools': 14.0.0 + compression: 1.7.4 + connect: 3.7.0 + errorhandler: 1.5.1 + nocache: 3.0.4 + pretty-format: 26.6.2 + serve-static: 1.15.0 + ws: 6.2.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + '@react-native-community/cli-server-api@14.0.0-alpha.11(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + dependencies: + '@react-native-community/cli-debugger-ui': 14.0.0-alpha.11 + '@react-native-community/cli-tools': 14.0.0-alpha.11 + compression: 1.7.4 + connect: 3.7.0 + errorhandler: 1.5.1 + nocache: 3.0.4 + pretty-format: 26.6.2 + serve-static: 1.15.0 + ws: 6.2.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + '@react-native-community/cli-tools@14.0.0': + dependencies: + appdirsjs: 1.2.7 + chalk: 4.1.2 + execa: 5.1.1 + find-up: 5.0.0 + mime: 2.6.0 + open: 6.4.0 + ora: 5.4.1 + semver: 7.6.3 + shell-quote: 1.8.1 + sudo-prompt: 9.2.1 + + '@react-native-community/cli-tools@14.0.0-alpha.11': + dependencies: + appdirsjs: 1.2.7 + chalk: 4.1.2 + execa: 5.1.1 + find-up: 5.0.0 + mime: 2.6.0 + open: 6.4.0 + ora: 5.4.1 + semver: 7.6.3 + shell-quote: 1.8.1 + sudo-prompt: 9.2.1 + + '@react-native-community/cli-types@14.0.0': + dependencies: + joi: 17.13.3 + + '@react-native-community/cli@14.0.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)': + dependencies: + '@react-native-community/cli-clean': 14.0.0 + '@react-native-community/cli-config': 14.0.0(typescript@5.5.4) + '@react-native-community/cli-debugger-ui': 14.0.0 + '@react-native-community/cli-doctor': 14.0.0(typescript@5.5.4) + '@react-native-community/cli-server-api': 14.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@react-native-community/cli-tools': 14.0.0 + '@react-native-community/cli-types': 14.0.0 + chalk: 4.1.2 + commander: 9.5.0 + deepmerge: 4.3.1 + execa: 5.1.1 + find-up: 5.0.0 + fs-extra: 8.1.0 + graceful-fs: 4.2.11 + prompts: 2.4.2 + semver: 7.6.3 + transitivePeerDependencies: + - bufferutil + - supports-color + - typescript + - utf-8-validate + + '@react-native/assets-registry@0.75.2': {} + + '@react-native/babel-plugin-codegen@0.75.2(@babel/preset-env@7.25.4(@babel/core@7.25.2))': + dependencies: + '@react-native/codegen': 0.75.2(@babel/preset-env@7.25.4(@babel/core@7.25.2)) + transitivePeerDependencies: + - '@babel/preset-env' + - supports-color + + '@react-native/babel-preset@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))': + dependencies: + '@babel/core': 7.25.2 + '@babel/plugin-proposal-export-default-from': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-export-default-from': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-flow': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-async-generator-functions': 7.25.4(@babel/core@7.25.2) + '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-block-scoping': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-class-properties': 7.25.4(@babel/core@7.25.2) + '@babel/plugin-transform-classes': 7.25.4(@babel/core@7.25.2) + '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-destructuring': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-flow-strip-types': 7.25.2(@babel/core@7.25.2) + '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-function-name': 7.25.1(@babel/core@7.25.2) + '@babel/plugin-transform-literals': 7.25.2(@babel/core@7.25.2) + '@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-numeric-separator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-private-methods': 7.25.4(@babel/core@7.25.2) + '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-react-display-name': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-regenerator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-runtime': 7.25.4(@babel/core@7.25.2) + '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2) + '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.25.2) + '@babel/template': 7.25.0 + '@react-native/babel-plugin-codegen': 0.75.2(@babel/preset-env@7.25.4(@babel/core@7.25.2)) + babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.25.2) + react-refresh: 0.14.2 + transitivePeerDependencies: + - '@babel/preset-env' + - supports-color + + '@react-native/codegen@0.75.2(@babel/preset-env@7.25.4(@babel/core@7.25.2))': + dependencies: + '@babel/parser': 7.25.6 + '@babel/preset-env': 7.25.4(@babel/core@7.25.2) + glob: 7.2.3 + hermes-parser: 0.22.0 + invariant: 2.2.4 + jscodeshift: 0.14.0(@babel/preset-env@7.25.4(@babel/core@7.25.2)) + mkdirp: 0.5.6 + nullthrows: 1.1.1 + yargs: 17.7.2 + transitivePeerDependencies: + - supports-color + + '@react-native/community-cli-plugin@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + dependencies: + '@react-native-community/cli-server-api': 14.0.0-alpha.11(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@react-native-community/cli-tools': 14.0.0-alpha.11 + '@react-native/dev-middleware': 0.75.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@react-native/metro-babel-transformer': 0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2)) + chalk: 4.1.2 + execa: 5.1.1 + metro: 0.80.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) + metro-config: 0.80.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) + metro-core: 0.80.10 + node-fetch: 2.7.0 + querystring: 0.2.1 + readline: 1.3.0 + transitivePeerDependencies: + - '@babel/core' + - '@babel/preset-env' + - bufferutil + - encoding + - supports-color + - utf-8-validate + + '@react-native/debugger-frontend@0.75.2': {} + + '@react-native/dev-middleware@0.75.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + dependencies: + '@isaacs/ttlcache': 1.4.1 + '@react-native/debugger-frontend': 0.75.2 + chrome-launcher: 0.15.2 + chromium-edge-launcher: 0.2.0 + connect: 3.7.0 + debug: 2.6.9 + node-fetch: 2.7.0 + nullthrows: 1.1.1 + open: 7.4.2 + selfsigned: 2.4.1 + serve-static: 1.15.0 + ws: 6.2.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + + '@react-native/gradle-plugin@0.75.2': {} + + '@react-native/js-polyfills@0.75.2': {} + + '@react-native/metro-babel-transformer@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))': + dependencies: + '@babel/core': 7.25.2 + '@react-native/babel-preset': 0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2)) + hermes-parser: 0.22.0 + nullthrows: 1.1.1 + transitivePeerDependencies: + - '@babel/preset-env' + - supports-color + + '@react-native/normalize-colors@0.75.2': {} + + '@react-native/virtualized-lists@0.75.2(@types/react@18.3.5)(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.3.5)(bufferutil@4.0.8)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10))(react@18.3.1)': + dependencies: + invariant: 2.2.4 + nullthrows: 1.1.1 + react: 18.3.1 + react-native: 0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.3.5)(bufferutil@4.0.8)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10) + optionalDependencies: + '@types/react': 18.3.5 + + '@rollup/rollup-android-arm-eabi@4.21.2': + optional: true + + '@rollup/rollup-android-arm64@4.21.2': + optional: true + + '@rollup/rollup-darwin-arm64@4.21.2': + optional: true + + '@rollup/rollup-darwin-x64@4.21.2': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.21.2': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.21.2': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.21.2': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.21.2': + optional: true + + '@rollup/rollup-linux-powerpc64le-gnu@4.21.2': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.21.2': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.21.2': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.21.2': + optional: true + + '@rollup/rollup-linux-x64-musl@4.21.2': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.21.2': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.21.2': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.21.2': + optional: true + + '@safe-global/safe-apps-provider@0.18.3(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)': + dependencies: + '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8) + events: 3.3.0 + transitivePeerDependencies: + - bufferutil + - typescript + - utf-8-validate + - zod + + '@safe-global/safe-apps-sdk@9.1.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)': + dependencies: + '@safe-global/safe-gateway-typescript-sdk': 3.22.2 + viem: 2.21.1(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8) + transitivePeerDependencies: + - bufferutil + - typescript + - utf-8-validate + - zod + + '@safe-global/safe-gateway-typescript-sdk@3.22.2': {} + + '@scure/base@1.1.7': {} + + '@scure/bip32@1.4.0': + dependencies: + '@noble/curves': 1.4.0 + '@noble/hashes': 1.4.0 + '@scure/base': 1.1.7 + + '@scure/bip39@1.3.0': + dependencies: + '@noble/hashes': 1.4.0 + '@scure/base': 1.1.7 + + '@sideway/address@4.1.5': + dependencies: + '@hapi/hoek': 9.3.0 + + '@sideway/formula@3.0.1': {} + + '@sideway/pinpoint@2.0.0': {} + + '@sinclair/typebox@0.27.8': {} + + '@sinonjs/commons@3.0.1': + dependencies: + type-detect: 4.0.8 + + '@sinonjs/fake-timers@10.3.0': + dependencies: + '@sinonjs/commons': 3.0.1 + + '@socket.io/component-emitter@3.1.2': {} + + '@stablelib/aead@1.0.1': {} + + '@stablelib/binary@1.0.1': + dependencies: + '@stablelib/int': 1.0.1 + + '@stablelib/bytes@1.0.1': {} + + '@stablelib/chacha20poly1305@1.0.1': + 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': + dependencies: + '@stablelib/binary': 1.0.1 + '@stablelib/wipe': 1.0.1 + + '@stablelib/constant-time@1.0.1': {} + + '@stablelib/ed25519@1.0.3': + dependencies: + '@stablelib/random': 1.0.2 + '@stablelib/sha512': 1.0.1 + '@stablelib/wipe': 1.0.1 + + '@stablelib/hash@1.0.1': {} + + '@stablelib/hkdf@1.0.1': + dependencies: + '@stablelib/hash': 1.0.1 + '@stablelib/hmac': 1.0.1 + '@stablelib/wipe': 1.0.1 + + '@stablelib/hmac@1.0.1': + dependencies: + '@stablelib/constant-time': 1.0.1 + '@stablelib/hash': 1.0.1 + '@stablelib/wipe': 1.0.1 + + '@stablelib/int@1.0.1': {} + + '@stablelib/keyagreement@1.0.1': + dependencies: + '@stablelib/bytes': 1.0.1 + + '@stablelib/poly1305@1.0.1': + dependencies: + '@stablelib/constant-time': 1.0.1 + '@stablelib/wipe': 1.0.1 + + '@stablelib/random@1.0.2': + dependencies: + '@stablelib/binary': 1.0.1 + '@stablelib/wipe': 1.0.1 + + '@stablelib/sha256@1.0.1': + dependencies: + '@stablelib/binary': 1.0.1 + '@stablelib/hash': 1.0.1 + '@stablelib/wipe': 1.0.1 + + '@stablelib/sha512@1.0.1': + dependencies: + '@stablelib/binary': 1.0.1 + '@stablelib/hash': 1.0.1 + '@stablelib/wipe': 1.0.1 + + '@stablelib/wipe@1.0.1': {} + + '@stablelib/x25519@1.0.3': + dependencies: + '@stablelib/keyagreement': 1.0.1 + '@stablelib/random': 1.0.2 + '@stablelib/wipe': 1.0.1 + + '@tanstack/query-core@5.45.0': {} + + '@tanstack/react-query@5.45.1(react@18.3.1)': + dependencies: + '@tanstack/query-core': 5.45.0 + react: 18.3.1 + + '@types/babel__core@7.20.5': + dependencies: + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 + '@types/babel__generator': 7.6.8 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.6 + + '@types/babel__generator@7.6.8': + dependencies: + '@babel/types': 7.25.6 + + '@types/babel__template@7.4.4': + dependencies: + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 + + '@types/babel__traverse@7.20.6': + dependencies: + '@babel/types': 7.25.6 + + '@types/debug@4.1.12': + dependencies: + '@types/ms': 0.7.34 + + '@types/dom-screen-wake-lock@1.0.3': {} + + '@types/estree@1.0.5': {} + + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/ms@0.7.34': {} + + '@types/node-forge@1.3.11': + dependencies: + '@types/node': 22.5.2 + + '@types/node@22.5.2': + dependencies: + undici-types: 6.19.8 + + '@types/prop-types@15.7.12': {} + + '@types/react-dom@18.3.0': + dependencies: + '@types/react': 18.3.5 + + '@types/react@18.3.5': + dependencies: + '@types/prop-types': 15.7.12 + csstype: 3.1.3 + + '@types/secp256k1@4.0.6': + dependencies: + '@types/node': 22.5.2 + + '@types/stack-utils@2.0.3': {} + + '@types/trusted-types@2.0.7': {} + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@15.0.19': + dependencies: + '@types/yargs-parser': 21.0.3 + + '@types/yargs@17.0.33': + dependencies: + '@types/yargs-parser': 21.0.3 + + '@vitejs/plugin-react@4.3.1(vite@5.4.3(@types/node@22.5.2)(terser@5.31.6))': + dependencies: + '@babel/core': 7.25.2 + '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.25.2) + '@types/babel__core': 7.20.5 + react-refresh: 0.14.2 + vite: 5.4.3(@types/node@22.5.2)(terser@5.31.6) + transitivePeerDependencies: + - supports-color + + '@wagmi/cli@2.1.15(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)': + dependencies: + abitype: 1.0.6(typescript@5.5.4)(zod@3.23.8) + bundle-require: 4.2.1(esbuild@0.19.12) + cac: 6.7.14 + change-case: 5.4.4 + chokidar: 3.6.0 + dedent: 0.7.0 + dotenv: 16.4.5 + dotenv-expand: 10.0.0 + esbuild: 0.19.12 + execa: 8.0.1 + fdir: 6.3.0(picomatch@3.0.1) + find-up: 6.3.0 + fs-extra: 11.2.0 + ora: 6.3.1 + pathe: 1.1.2 + picocolors: 1.1.0 + picomatch: 3.0.1 + prettier: 3.3.3 + viem: 2.21.1(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8) + zod: 3.23.8 + optionalDependencies: + typescript: 5.5.4 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@wagmi/connectors@5.1.8(@types/react@18.3.5)(@wagmi/core@2.13.4(@tanstack/query-core@5.45.0)(@types/react@18.3.5)(react@18.3.1)(typescript@5.5.4)(viem@2.21.1(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.3.5)(bufferutil@4.0.8)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.2)(typescript@5.5.4)(utf-8-validate@5.0.10)(viem@2.21.1(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8)': + dependencies: + '@coinbase/wallet-sdk': 4.0.4 + '@metamask/sdk': 0.27.0(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.3.5)(bufferutil@4.0.8)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.2)(utf-8-validate@5.0.10) + '@safe-global/safe-apps-provider': 0.18.3(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8) + '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8) + '@wagmi/core': 2.13.4(@tanstack/query-core@5.45.0)(@types/react@18.3.5)(react@18.3.1)(typescript@5.5.4)(viem@2.21.1(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)) + '@walletconnect/ethereum-provider': 2.15.2(@types/react@18.3.5)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10) + '@walletconnect/modal': 2.6.2(@types/react@18.3.5)(react@18.3.1) + cbw-sdk: '@coinbase/wallet-sdk@3.9.3' + viem: 2.21.1(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8) + optionalDependencies: + typescript: 5.5.4 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@types/react' + - '@upstash/redis' + - '@vercel/kv' + - bufferutil + - encoding + - ioredis + - react + - react-dom + - react-native + - rollup + - supports-color + - uWebSockets.js + - utf-8-validate + - zod + + '@wagmi/core@2.13.4(@tanstack/query-core@5.45.0)(@types/react@18.3.5)(react@18.3.1)(typescript@5.5.4)(viem@2.21.1(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))': + dependencies: + eventemitter3: 5.0.1 + mipd: 0.0.7(typescript@5.5.4) + viem: 2.21.1(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8) + zustand: 4.4.1(@types/react@18.3.5)(react@18.3.1) + optionalDependencies: + '@tanstack/query-core': 5.45.0 + typescript: 5.5.4 + transitivePeerDependencies: + - '@types/react' + - immer + - react + + '@walletconnect/core@2.15.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + 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(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@walletconnect/keyvaluestorage': 1.1.1 + '@walletconnect/logger': 2.1.2 + '@walletconnect/relay-api': 1.0.11 + '@walletconnect/relay-auth': 1.0.4 + '@walletconnect/safe-json': 1.0.2 + '@walletconnect/time': 1.0.2 + '@walletconnect/types': 2.15.2 + '@walletconnect/utils': 2.15.2 + events: 3.3.0 + lodash.isequal: 4.5.0 + uint8arrays: 3.1.0 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@upstash/redis' + - '@vercel/kv' + - bufferutil + - ioredis + - uWebSockets.js + - utf-8-validate + + '@walletconnect/environment@1.0.1': + dependencies: + tslib: 1.14.1 + + '@walletconnect/ethereum-provider@2.15.2(@types/react@18.3.5)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10)': + dependencies: + '@walletconnect/jsonrpc-http-connection': 1.0.8 + '@walletconnect/jsonrpc-provider': 1.0.14 + '@walletconnect/jsonrpc-types': 1.0.4 + '@walletconnect/jsonrpc-utils': 1.0.8 + '@walletconnect/modal': 2.6.2(@types/react@18.3.5)(react@18.3.1) + '@walletconnect/sign-client': 2.15.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@walletconnect/types': 2.15.2 + '@walletconnect/universal-provider': 2.15.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@walletconnect/utils': 2.15.2 + events: 3.3.0 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@types/react' + - '@upstash/redis' + - '@vercel/kv' + - bufferutil + - encoding + - ioredis + - react + - uWebSockets.js + - utf-8-validate + + '@walletconnect/events@1.0.1': + dependencies: + keyvaluestorage-interface: 1.0.0 + tslib: 1.14.1 + + '@walletconnect/heartbeat@1.2.2': + dependencies: + '@walletconnect/events': 1.0.1 + '@walletconnect/time': 1.0.2 + events: 3.3.0 + + '@walletconnect/jsonrpc-http-connection@1.0.8': + dependencies: + '@walletconnect/jsonrpc-utils': 1.0.8 + '@walletconnect/safe-json': 1.0.2 + cross-fetch: 3.1.8 + events: 3.3.0 + transitivePeerDependencies: + - encoding + + '@walletconnect/jsonrpc-provider@1.0.14': + dependencies: + '@walletconnect/jsonrpc-utils': 1.0.8 + '@walletconnect/safe-json': 1.0.2 + events: 3.3.0 + + '@walletconnect/jsonrpc-types@1.0.4': + dependencies: + events: 3.3.0 + keyvaluestorage-interface: 1.0.0 + + '@walletconnect/jsonrpc-utils@1.0.8': + dependencies: + '@walletconnect/environment': 1.0.1 + '@walletconnect/jsonrpc-types': 1.0.4 + tslib: 1.14.1 + + '@walletconnect/jsonrpc-ws-connection@1.0.14(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + dependencies: + '@walletconnect/jsonrpc-utils': 1.0.8 + '@walletconnect/safe-json': 1.0.2 + events: 3.3.0 + ws: 7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@walletconnect/keyvaluestorage@1.1.1': + dependencies: + '@walletconnect/safe-json': 1.0.2 + idb-keyval: 6.2.1 + unstorage: 1.10.2(idb-keyval@6.2.1) + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@planetscale/database' + - '@upstash/redis' + - '@vercel/kv' + - ioredis + - uWebSockets.js + + '@walletconnect/logger@2.1.2': + dependencies: + '@walletconnect/safe-json': 1.0.2 + pino: 7.11.0 + + '@walletconnect/modal-core@2.6.2(@types/react@18.3.5)(react@18.3.1)': + dependencies: + valtio: 1.11.2(@types/react@18.3.5)(react@18.3.1) + transitivePeerDependencies: + - '@types/react' + - react + + '@walletconnect/modal-ui@2.6.2(@types/react@18.3.5)(react@18.3.1)': + dependencies: + '@walletconnect/modal-core': 2.6.2(@types/react@18.3.5)(react@18.3.1) + lit: 2.8.0 + motion: 10.16.2 + qrcode: 1.5.3 + transitivePeerDependencies: + - '@types/react' + - react + + '@walletconnect/modal@2.6.2(@types/react@18.3.5)(react@18.3.1)': + dependencies: + '@walletconnect/modal-core': 2.6.2(@types/react@18.3.5)(react@18.3.1) + '@walletconnect/modal-ui': 2.6.2(@types/react@18.3.5)(react@18.3.1) + transitivePeerDependencies: + - '@types/react' + - react + + '@walletconnect/relay-api@1.0.11': + dependencies: + '@walletconnect/jsonrpc-types': 1.0.4 + + '@walletconnect/relay-auth@1.0.4': + dependencies: + '@stablelib/ed25519': 1.0.3 + '@stablelib/random': 1.0.2 + '@walletconnect/safe-json': 1.0.2 + '@walletconnect/time': 1.0.2 + tslib: 1.14.1 + uint8arrays: 3.1.0 + + '@walletconnect/safe-json@1.0.2': + dependencies: + tslib: 1.14.1 + + '@walletconnect/sign-client@2.15.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + dependencies: + '@walletconnect/core': 2.15.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@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.15.2 + '@walletconnect/utils': 2.15.2 + events: 3.3.0 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@upstash/redis' + - '@vercel/kv' + - bufferutil + - ioredis + - uWebSockets.js + - utf-8-validate + + '@walletconnect/time@1.0.2': + dependencies: + tslib: 1.14.1 + + '@walletconnect/types@2.15.2': + 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 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@upstash/redis' + - '@vercel/kv' + - ioredis + - uWebSockets.js + + '@walletconnect/universal-provider@2.15.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + dependencies: + '@walletconnect/jsonrpc-http-connection': 1.0.8 + '@walletconnect/jsonrpc-provider': 1.0.14 + '@walletconnect/jsonrpc-types': 1.0.4 + '@walletconnect/jsonrpc-utils': 1.0.8 + '@walletconnect/logger': 2.1.2 + '@walletconnect/sign-client': 2.15.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@walletconnect/types': 2.15.2 + '@walletconnect/utils': 2.15.2 + events: 3.3.0 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@upstash/redis' + - '@vercel/kv' + - bufferutil + - encoding + - ioredis + - uWebSockets.js + - utf-8-validate + + '@walletconnect/utils@2.15.2': + 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.11 + '@walletconnect/relay-auth': 1.0.4 + '@walletconnect/safe-json': 1.0.2 + '@walletconnect/time': 1.0.2 + '@walletconnect/types': 2.15.2 + '@walletconnect/window-getters': 1.0.1 + '@walletconnect/window-metadata': 1.0.1 + detect-browser: 5.3.0 + elliptic: 6.5.7 + query-string: 7.1.3 + uint8arrays: 3.1.0 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@upstash/redis' + - '@vercel/kv' + - ioredis + - uWebSockets.js + + '@walletconnect/window-getters@1.0.1': + dependencies: + tslib: 1.14.1 + + '@walletconnect/window-metadata@1.0.1': + dependencies: + '@walletconnect/window-getters': 1.0.1 + tslib: 1.14.1 + + abitype@1.0.5(typescript@5.5.4)(zod@3.23.8): + optionalDependencies: + typescript: 5.5.4 + zod: 3.23.8 + + abitype@1.0.6(typescript@5.5.4)(zod@3.23.8): + optionalDependencies: + typescript: 5.5.4 + zod: 3.23.8 + + abort-controller@3.0.0: + dependencies: + event-target-shim: 5.0.1 + + accepts@1.3.8: + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + + acorn@8.12.1: {} + + anser@1.4.10: {} + + ansi-fragments@0.2.1: + dependencies: + colorette: 1.4.0 + slice-ansi: 2.1.0 + strip-ansi: 5.2.0 + + ansi-regex@4.1.1: {} + + ansi-regex@5.0.1: {} + + ansi-regex@6.0.1: {} + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + appdirsjs@1.2.7: {} + + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + + argparse@2.0.1: {} + + asap@2.0.6: {} + + ast-types@0.15.2: + dependencies: + tslib: 2.7.0 + + astral-regex@1.0.0: {} + + async-limiter@1.0.1: {} + + async-mutex@0.2.6: + dependencies: + tslib: 2.7.0 + + atomic-sleep@1.0.0: {} + + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.0.0 + + babel-core@7.0.0-bridge.0(@babel/core@7.25.2): + dependencies: + '@babel/core': 7.25.2 + + babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.25.2): + dependencies: + '@babel/compat-data': 7.25.4 + '@babel/core': 7.25.2 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.25.2): + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) + core-js-compat: 3.38.1 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.25.2): + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color + + babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.25.2): + dependencies: + '@babel/plugin-syntax-flow': 7.24.7(@babel/core@7.25.2) + transitivePeerDependencies: + - '@babel/core' + + balanced-match@1.0.2: {} + + base64-js@1.5.1: {} + + binary-extensions@2.3.0: {} + + bl@4.1.0: + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + + bl@5.1.0: + dependencies: + buffer: 6.0.3 + inherits: 2.0.4 + readable-stream: 3.6.2 + + bn.js@4.12.0: {} + + bn.js@5.2.1: {} + + bowser@2.11.0: {} + + brace-expansion@1.1.11: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + brorand@1.1.0: {} + + browserslist@4.23.3: + dependencies: + caniuse-lite: 1.0.30001655 + electron-to-chromium: 1.5.13 + node-releases: 2.0.18 + update-browserslist-db: 1.1.0(browserslist@4.23.3) + + bser@2.1.1: + dependencies: + node-int64: 0.4.0 + + buffer-from@1.1.2: {} + + buffer@5.7.1: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + buffer@6.0.3: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + bufferutil@4.0.8: + dependencies: + node-gyp-build: 4.8.2 + + bundle-require@4.2.1(esbuild@0.19.12): + dependencies: + esbuild: 0.19.12 + load-tsconfig: 0.2.5 + + bytes@3.0.0: {} + + cac@6.7.14: {} + + call-bind@1.0.7: + 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.2 + + caller-callsite@2.0.0: + dependencies: + callsites: 2.0.0 + + caller-path@2.0.0: + dependencies: + caller-callsite: 2.0.0 + + callsites@2.0.0: {} + + callsites@3.1.0: {} + + camelcase@5.3.1: {} + + camelcase@6.3.0: {} + + caniuse-lite@1.0.30001655: {} + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chalk@5.3.0: {} + + change-case@5.4.4: {} + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + chrome-launcher@0.15.2: + dependencies: + '@types/node': 22.5.2 + escape-string-regexp: 4.0.0 + is-wsl: 2.2.0 + lighthouse-logger: 1.4.2 + transitivePeerDependencies: + - supports-color + + chromium-edge-launcher@0.2.0: + dependencies: + '@types/node': 22.5.2 + escape-string-regexp: 4.0.0 + is-wsl: 2.2.0 + lighthouse-logger: 1.4.2 + mkdirp: 1.0.4 + rimraf: 3.0.2 + transitivePeerDependencies: + - supports-color + + ci-info@2.0.0: {} + + ci-info@3.9.0: {} + + citty@0.1.6: + dependencies: + consola: 3.2.3 + + cli-cursor@3.1.0: + dependencies: + restore-cursor: 3.1.0 + + cli-cursor@4.0.0: + dependencies: + restore-cursor: 4.0.0 + + cli-spinners@2.9.2: {} + + clipboardy@4.0.0: + dependencies: + execa: 8.0.1 + is-wsl: 3.1.0 + is64bit: 2.0.0 + + cliui@6.0.0: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + clone-deep@4.0.1: + dependencies: + is-plain-object: 2.0.4 + kind-of: 6.0.3 + shallow-clone: 3.0.1 + + clone@1.0.4: {} + + clsx@1.2.1: {} + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + colorette@1.4.0: {} + + command-exists@1.2.9: {} + + commander@2.20.3: {} + + commander@9.5.0: {} + + commondir@1.0.1: {} + + compressible@2.0.18: + dependencies: + mime-db: 1.53.0 + + compression@1.7.4: + dependencies: + accepts: 1.3.8 + bytes: 3.0.0 + compressible: 2.0.18 + debug: 2.6.9 + on-headers: 1.0.2 + safe-buffer: 5.1.2 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + concat-map@0.0.1: {} + + confbox@0.1.7: {} + + connect@3.7.0: + dependencies: + debug: 2.6.9 + finalhandler: 1.1.2 + parseurl: 1.3.3 + utils-merge: 1.0.1 + transitivePeerDependencies: + - supports-color + + consola@3.2.3: {} + + convert-source-map@2.0.0: {} + + cookie-es@1.2.2: {} + + core-js-compat@3.38.1: + dependencies: + browserslist: 4.23.3 + + core-util-is@1.0.3: {} + + cosmiconfig@5.2.1: + dependencies: + import-fresh: 2.0.0 + is-directory: 0.3.1 + js-yaml: 3.14.1 + parse-json: 4.0.0 + + cosmiconfig@9.0.0(typescript@5.5.4): + dependencies: + env-paths: 2.2.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + optionalDependencies: + typescript: 5.5.4 + + crc-32@1.2.2: {} + + cross-fetch@3.1.8: + dependencies: + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + + cross-fetch@4.0.0: + dependencies: + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + + cross-spawn@7.0.3: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + crossws@0.2.4: {} + + csstype@3.1.3: {} + + date-fns@2.30.0: + dependencies: + '@babel/runtime': 7.25.6 + + dayjs@1.11.13: {} + + debug@2.6.9: + dependencies: + ms: 2.0.0 + + debug@4.3.6: + dependencies: + ms: 2.1.2 + + decamelize@1.2.0: {} + + decode-uri-component@0.2.2: {} + + dedent@0.7.0: {} + + deepmerge@4.3.1: {} + + defaults@1.0.4: + dependencies: + clone: 1.0.4 + + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + gopd: 1.0.1 + + define-lazy-prop@2.0.0: {} + + defu@6.1.4: {} + + denodeify@1.2.1: {} + + depd@2.0.0: {} + + destr@2.0.3: {} + + destroy@1.2.0: {} + + detect-browser@5.3.0: {} + + detect-libc@1.0.3: {} + + dijkstrajs@1.0.3: {} + + dotenv-expand@10.0.0: {} + + dotenv@16.4.5: {} + + duplexify@4.1.3: + dependencies: + end-of-stream: 1.4.4 + inherits: 2.0.4 + readable-stream: 3.6.2 + stream-shift: 1.0.3 + + eciesjs@0.3.20: + dependencies: + '@types/secp256k1': 4.0.6 + futoin-hkdf: 1.5.3 + secp256k1: 5.0.0 + + ee-first@1.1.1: {} + + electron-to-chromium@1.5.13: {} + + elliptic@6.5.7: + dependencies: + bn.js: 4.12.0 + brorand: 1.1.0 + hash.js: 1.1.7 + 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: {} + + encode-utf8@1.0.3: {} + + encodeurl@1.0.2: {} + + end-of-stream@1.4.4: + dependencies: + once: 1.4.0 + + engine.io-client@6.5.4(bufferutil@4.0.8)(utf-8-validate@5.0.10): + dependencies: + '@socket.io/component-emitter': 3.1.2 + debug: 4.3.6 + engine.io-parser: 5.2.3 + ws: 8.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) + xmlhttprequest-ssl: 2.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + engine.io-parser@5.2.3: {} + + env-paths@2.2.1: {} + + envinfo@7.13.0: {} + + error-ex@1.3.2: + dependencies: + is-arrayish: 0.2.1 + + error-stack-parser@2.1.4: + dependencies: + stackframe: 1.3.4 + + errorhandler@1.5.1: + dependencies: + accepts: 1.3.8 + escape-html: 1.0.3 + + es-define-property@1.0.0: + dependencies: + get-intrinsic: 1.2.4 + + es-errors@1.3.0: {} + + esbuild@0.19.12: + optionalDependencies: + '@esbuild/aix-ppc64': 0.19.12 + '@esbuild/android-arm': 0.19.12 + '@esbuild/android-arm64': 0.19.12 + '@esbuild/android-x64': 0.19.12 + '@esbuild/darwin-arm64': 0.19.12 + '@esbuild/darwin-x64': 0.19.12 + '@esbuild/freebsd-arm64': 0.19.12 + '@esbuild/freebsd-x64': 0.19.12 + '@esbuild/linux-arm': 0.19.12 + '@esbuild/linux-arm64': 0.19.12 + '@esbuild/linux-ia32': 0.19.12 + '@esbuild/linux-loong64': 0.19.12 + '@esbuild/linux-mips64el': 0.19.12 + '@esbuild/linux-ppc64': 0.19.12 + '@esbuild/linux-riscv64': 0.19.12 + '@esbuild/linux-s390x': 0.19.12 + '@esbuild/linux-x64': 0.19.12 + '@esbuild/netbsd-x64': 0.19.12 + '@esbuild/openbsd-x64': 0.19.12 + '@esbuild/sunos-x64': 0.19.12 + '@esbuild/win32-arm64': 0.19.12 + '@esbuild/win32-ia32': 0.19.12 + '@esbuild/win32-x64': 0.19.12 + + esbuild@0.21.5: + optionalDependencies: + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 + + escalade@3.2.0: {} + + escape-html@1.0.3: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@2.0.0: {} + + escape-string-regexp@4.0.0: {} + + esprima@4.0.1: {} + + esutils@2.0.3: {} + + etag@1.8.1: {} + + eth-block-tracker@7.1.0: + dependencies: + '@metamask/eth-json-rpc-provider': 1.0.1 + '@metamask/safe-event-emitter': 3.1.1 + '@metamask/utils': 5.0.2 + json-rpc-random-id: 1.0.1 + pify: 3.0.0 + transitivePeerDependencies: + - supports-color + + eth-json-rpc-filters@6.0.1: + dependencies: + '@metamask/safe-event-emitter': 3.1.1 + async-mutex: 0.2.6 + eth-query: 2.1.2 + json-rpc-engine: 6.1.0 + pify: 5.0.0 + + eth-query@2.1.2: + dependencies: + json-rpc-random-id: 1.0.1 + xtend: 4.0.2 + + eth-rpc-errors@4.0.3: + dependencies: + fast-safe-stringify: 2.1.1 + + ethereum-cryptography@2.2.1: + dependencies: + '@noble/curves': 1.4.2 + '@noble/hashes': 1.4.0 + '@scure/bip32': 1.4.0 + '@scure/bip39': 1.3.0 + + event-target-shim@5.0.1: {} + + eventemitter2@6.4.9: {} + + eventemitter3@5.0.1: {} + + events@3.3.0: {} + + execa@5.1.1: + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + execa@8.0.1: + 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.3.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + + exponential-backoff@3.1.1: {} + + extension-port-stream@3.0.0: + dependencies: + readable-stream: 3.6.2 + webextension-polyfill: 0.10.0 + + fast-deep-equal@3.1.3: {} + + fast-glob@3.3.2: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-redact@3.5.0: {} + + fast-safe-stringify@2.1.1: {} + + fast-xml-parser@4.5.0: + dependencies: + strnum: 1.0.5 + + fastq@1.17.1: + dependencies: + reusify: 1.0.4 + + fb-watchman@2.0.2: + dependencies: + bser: 2.1.1 + + fdir@6.3.0(picomatch@3.0.1): + optionalDependencies: + picomatch: 3.0.1 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + filter-obj@1.1.0: {} + + finalhandler@1.1.2: + dependencies: + debug: 2.6.9 + encodeurl: 1.0.2 + escape-html: 1.0.3 + on-finished: 2.3.0 + parseurl: 1.3.3 + statuses: 1.5.0 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + find-cache-dir@2.1.0: + dependencies: + commondir: 1.0.1 + make-dir: 2.1.0 + pkg-dir: 3.0.0 + + find-up@3.0.0: + dependencies: + locate-path: 3.0.0 + + find-up@4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + find-up@6.3.0: + dependencies: + locate-path: 7.2.0 + path-exists: 5.0.0 + + flow-enums-runtime@0.0.6: {} + + flow-parser@0.245.0: {} + + for-each@0.3.3: + dependencies: + is-callable: 1.2.7 + + fresh@0.5.2: {} + + fs-extra@11.2.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + + fs-extra@8.1.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + + fs.realpath@1.0.0: {} + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + futoin-hkdf@1.5.3: {} + + gensync@1.0.0-beta.2: {} + + get-caller-file@2.0.5: {} + + get-intrinsic@1.2.4: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.2 + + get-port-please@3.1.2: {} + + get-stream@6.0.1: {} + + get-stream@8.0.1: {} + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + globals@11.12.0: {} + + gopd@1.0.1: + dependencies: + get-intrinsic: 1.2.4 + + graceful-fs@4.2.11: {} + + h3@1.12.0: + dependencies: + cookie-es: 1.2.2 + crossws: 0.2.4 + defu: 6.1.4 + destr: 2.0.3 + iron-webcrypto: 1.2.1 + ohash: 1.1.3 + radix3: 1.1.2 + ufo: 1.5.4 + uncrypto: 0.1.3 + unenv: 1.10.0 + transitivePeerDependencies: + - uWebSockets.js + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.0 + + has-proto@1.0.3: {} + + has-symbols@1.0.3: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.0.3 + + hash.js@1.1.7: + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + hermes-estree@0.22.0: {} + + hermes-estree@0.23.0: {} + + hermes-parser@0.22.0: + dependencies: + hermes-estree: 0.22.0 + + hermes-parser@0.23.0: + dependencies: + hermes-estree: 0.23.0 + + hey-listen@1.0.8: {} + + hmac-drbg@1.0.1: + dependencies: + hash.js: 1.1.7 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + + http-errors@2.0.0: + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + + http-shutdown@1.2.2: {} + + human-signals@2.1.0: {} + + human-signals@5.0.0: {} + + i18next-browser-languagedetector@7.1.0: + dependencies: + '@babel/runtime': 7.25.6 + + i18next@23.11.5: + dependencies: + '@babel/runtime': 7.25.6 + + idb-keyval@6.2.1: {} + + ieee754@1.2.1: {} + + image-size@1.1.1: + dependencies: + queue: 6.0.2 + + import-fresh@2.0.0: + dependencies: + caller-path: 2.0.0 + resolve-from: 3.0.0 + + import-fresh@3.3.0: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + imurmurhash@0.1.4: {} + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.4: {} + + invariant@2.2.4: + dependencies: + loose-envify: 1.4.0 + + iron-webcrypto@1.2.1: {} + + is-arguments@1.1.1: + dependencies: + call-bind: 1.0.7 + has-tostringtag: 1.0.2 + + is-arrayish@0.2.1: {} + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-callable@1.2.7: {} + + is-core-module@2.15.1: + dependencies: + hasown: 2.0.2 + + is-directory@0.3.1: {} + + is-docker@2.2.1: {} + + is-docker@3.0.0: {} + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@2.0.0: {} + + is-fullwidth-code-point@3.0.0: {} + + is-generator-function@1.0.10: + dependencies: + has-tostringtag: 1.0.2 + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-inside-container@1.0.0: + dependencies: + is-docker: 3.0.0 + + is-interactive@1.0.0: {} + + is-interactive@2.0.0: {} + + is-number@7.0.0: {} + + is-plain-object@2.0.4: + dependencies: + isobject: 3.0.1 + + is-stream@2.0.1: {} + + is-stream@3.0.0: {} + + is-typed-array@1.1.13: + dependencies: + which-typed-array: 1.1.15 + + is-unicode-supported@0.1.0: {} + + is-unicode-supported@1.3.0: {} + + is-wsl@1.1.0: {} + + is-wsl@2.2.0: + dependencies: + is-docker: 2.2.1 + + is-wsl@3.1.0: + dependencies: + is-inside-container: 1.0.0 + + is64bit@2.0.0: + dependencies: + system-architecture: 0.1.0 + + isarray@1.0.0: {} + + isexe@2.0.0: {} + + isobject@3.0.1: {} + + isows@1.0.4(ws@8.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)): + dependencies: + ws: 8.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) + + jest-environment-node@29.7.0: + dependencies: + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 22.5.2 + jest-mock: 29.7.0 + jest-util: 29.7.0 + + jest-get-type@29.6.3: {} + + jest-message-util@29.7.0: + dependencies: + '@babel/code-frame': 7.24.7 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + pretty-format: 29.7.0 + slash: 3.0.0 + stack-utils: 2.0.6 + + jest-mock@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 22.5.2 + jest-util: 29.7.0 + + jest-util@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 22.5.2 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + + jest-validate@29.7.0: + dependencies: + '@jest/types': 29.6.3 + camelcase: 6.3.0 + chalk: 4.1.2 + jest-get-type: 29.6.3 + leven: 3.1.0 + pretty-format: 29.7.0 + + jest-worker@29.7.0: + dependencies: + '@types/node': 22.5.2 + jest-util: 29.7.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jiti@1.21.6: {} + + joi@17.13.3: + dependencies: + '@hapi/hoek': 9.3.0 + '@hapi/topo': 5.1.0 + '@sideway/address': 4.1.5 + '@sideway/formula': 3.0.1 + '@sideway/pinpoint': 2.0.0 + + js-tokens@4.0.0: {} + + js-yaml@3.14.1: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + + jsc-android@250231.0.0: {} + + jsc-safe-url@0.2.4: {} + + jscodeshift@0.14.0(@babel/preset-env@7.25.4(@babel/core@7.25.2)): + dependencies: + '@babel/core': 7.25.2 + '@babel/parser': 7.25.6 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.25.2) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.25.2) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.25.2) + '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) + '@babel/preset-env': 7.25.4(@babel/core@7.25.2) + '@babel/preset-flow': 7.24.7(@babel/core@7.25.2) + '@babel/preset-typescript': 7.24.7(@babel/core@7.25.2) + '@babel/register': 7.24.6(@babel/core@7.25.2) + babel-core: 7.0.0-bridge.0(@babel/core@7.25.2) + chalk: 4.1.2 + flow-parser: 0.245.0 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + neo-async: 2.6.2 + node-dir: 0.1.17 + recast: 0.21.5 + temp: 0.8.4 + write-file-atomic: 2.4.3 + transitivePeerDependencies: + - supports-color + + jsesc@0.5.0: {} + + jsesc@2.5.2: {} + + json-parse-better-errors@1.0.2: {} + + json-parse-even-better-errors@2.3.1: {} + + json-rpc-engine@6.1.0: + dependencies: + '@metamask/safe-event-emitter': 2.0.0 + eth-rpc-errors: 4.0.3 + + json-rpc-random-id@1.0.1: {} + + json5@2.2.3: {} + + jsonfile@4.0.0: + optionalDependencies: + graceful-fs: 4.2.11 + + jsonfile@6.1.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + keccak@3.0.4: + dependencies: + node-addon-api: 2.0.2 + node-gyp-build: 4.8.2 + readable-stream: 3.6.2 + + keyvaluestorage-interface@1.0.0: {} + + kind-of@6.0.3: {} + + kleur@3.0.3: {} + + leven@3.1.0: {} + + lighthouse-logger@1.4.2: + dependencies: + debug: 2.6.9 + marky: 1.2.5 + transitivePeerDependencies: + - supports-color + + lines-and-columns@1.2.4: {} + + listhen@1.7.2: + 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.4 + defu: 6.1.4 + get-port-please: 3.1.2 + h3: 1.12.0 + http-shutdown: 1.2.2 + jiti: 1.21.6 + mlly: 1.7.1 + node-forge: 1.3.1 + pathe: 1.1.2 + std-env: 3.7.0 + ufo: 1.5.4 + untun: 0.1.3 + uqr: 0.1.2 + transitivePeerDependencies: + - uWebSockets.js + + lit-element@3.3.3: + dependencies: + '@lit-labs/ssr-dom-shim': 1.2.1 + '@lit/reactive-element': 1.6.3 + lit-html: 2.8.0 + + lit-html@2.8.0: + dependencies: + '@types/trusted-types': 2.0.7 + + lit@2.8.0: + dependencies: + '@lit/reactive-element': 1.6.3 + lit-element: 3.3.3 + lit-html: 2.8.0 + + load-tsconfig@0.2.5: {} + + locate-path@3.0.0: + dependencies: + p-locate: 3.0.0 + path-exists: 3.0.0 + + locate-path@5.0.0: + dependencies: + p-locate: 4.1.0 + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + locate-path@7.2.0: + dependencies: + p-locate: 6.0.0 + + lodash.debounce@4.0.8: {} + + lodash.isequal@4.5.0: {} + + lodash.throttle@4.1.1: {} + + log-symbols@4.1.0: + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + + log-symbols@5.1.0: + dependencies: + chalk: 5.3.0 + is-unicode-supported: 1.3.0 + + logkitty@0.7.1: + dependencies: + ansi-fragments: 0.2.1 + dayjs: 1.11.13 + yargs: 15.4.1 + + loose-envify@1.4.0: + dependencies: + js-tokens: 4.0.0 + + lru-cache@10.4.3: {} + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + make-dir@2.1.0: + dependencies: + pify: 4.0.1 + semver: 5.7.2 + + makeerror@1.0.12: + dependencies: + tmpl: 1.0.5 + + marky@1.2.5: {} + + memoize-one@5.2.1: {} + + merge-stream@2.0.0: {} + + merge2@1.4.1: {} + + metro-babel-transformer@0.80.10: + dependencies: + '@babel/core': 7.25.2 + flow-enums-runtime: 0.0.6 + hermes-parser: 0.23.0 + nullthrows: 1.1.1 + transitivePeerDependencies: + - supports-color + + metro-cache-key@0.80.10: + dependencies: + flow-enums-runtime: 0.0.6 + + metro-cache@0.80.10: + dependencies: + exponential-backoff: 3.1.1 + flow-enums-runtime: 0.0.6 + metro-core: 0.80.10 + + metro-config@0.80.10(bufferutil@4.0.8)(utf-8-validate@5.0.10): + dependencies: + connect: 3.7.0 + cosmiconfig: 5.2.1 + flow-enums-runtime: 0.0.6 + jest-validate: 29.7.0 + metro: 0.80.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) + metro-cache: 0.80.10 + metro-core: 0.80.10 + metro-runtime: 0.80.10 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + + metro-core@0.80.10: + dependencies: + flow-enums-runtime: 0.0.6 + lodash.throttle: 4.1.1 + metro-resolver: 0.80.10 + + metro-file-map@0.80.10: + dependencies: + anymatch: 3.1.3 + debug: 2.6.9 + fb-watchman: 2.0.2 + flow-enums-runtime: 0.0.6 + graceful-fs: 4.2.11 + invariant: 2.2.4 + jest-worker: 29.7.0 + micromatch: 4.0.8 + node-abort-controller: 3.1.1 + nullthrows: 1.1.1 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.3 + transitivePeerDependencies: + - supports-color + + metro-minify-terser@0.80.10: + dependencies: + flow-enums-runtime: 0.0.6 + terser: 5.31.6 + + metro-resolver@0.80.10: + dependencies: + flow-enums-runtime: 0.0.6 + + metro-runtime@0.80.10: + dependencies: + '@babel/runtime': 7.25.6 + flow-enums-runtime: 0.0.6 + + metro-source-map@0.80.10: + dependencies: + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 + flow-enums-runtime: 0.0.6 + invariant: 2.2.4 + metro-symbolicate: 0.80.10 + nullthrows: 1.1.1 + ob1: 0.80.10 + source-map: 0.5.7 + vlq: 1.0.1 + transitivePeerDependencies: + - supports-color + + metro-symbolicate@0.80.10: + dependencies: + flow-enums-runtime: 0.0.6 + invariant: 2.2.4 + metro-source-map: 0.80.10 + nullthrows: 1.1.1 + source-map: 0.5.7 + through2: 2.0.5 + vlq: 1.0.1 + transitivePeerDependencies: + - supports-color + + metro-transform-plugins@0.80.10: + dependencies: + '@babel/core': 7.25.2 + '@babel/generator': 7.25.6 + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.6 + flow-enums-runtime: 0.0.6 + nullthrows: 1.1.1 + transitivePeerDependencies: + - supports-color + + metro-transform-worker@0.80.10(bufferutil@4.0.8)(utf-8-validate@5.0.10): + dependencies: + '@babel/core': 7.25.2 + '@babel/generator': 7.25.6 + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 + flow-enums-runtime: 0.0.6 + metro: 0.80.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) + metro-babel-transformer: 0.80.10 + metro-cache: 0.80.10 + metro-cache-key: 0.80.10 + metro-minify-terser: 0.80.10 + metro-source-map: 0.80.10 + metro-transform-plugins: 0.80.10 + nullthrows: 1.1.1 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + + metro@0.80.10(bufferutil@4.0.8)(utf-8-validate@5.0.10): + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/core': 7.25.2 + '@babel/generator': 7.25.6 + '@babel/parser': 7.25.6 + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 + accepts: 1.3.8 + chalk: 4.1.2 + ci-info: 2.0.0 + connect: 3.7.0 + debug: 2.6.9 + denodeify: 1.2.1 + error-stack-parser: 2.1.4 + flow-enums-runtime: 0.0.6 + graceful-fs: 4.2.11 + hermes-parser: 0.23.0 + image-size: 1.1.1 + invariant: 2.2.4 + jest-worker: 29.7.0 + jsc-safe-url: 0.2.4 + lodash.throttle: 4.1.1 + metro-babel-transformer: 0.80.10 + metro-cache: 0.80.10 + metro-cache-key: 0.80.10 + metro-config: 0.80.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) + metro-core: 0.80.10 + metro-file-map: 0.80.10 + metro-resolver: 0.80.10 + metro-runtime: 0.80.10 + metro-source-map: 0.80.10 + metro-symbolicate: 0.80.10 + metro-transform-plugins: 0.80.10 + metro-transform-worker: 0.80.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) + mime-types: 2.1.35 + node-fetch: 2.7.0 + nullthrows: 1.1.1 + serialize-error: 2.1.0 + source-map: 0.5.7 + strip-ansi: 6.0.1 + throat: 5.0.0 + ws: 7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) + yargs: 17.7.2 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + + micro-ftch@0.3.1: {} + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mime-db@1.52.0: {} + + mime-db@1.53.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mime@1.6.0: {} + + mime@2.6.0: {} + + mime@3.0.0: {} + + mimic-fn@2.1.0: {} + + mimic-fn@4.0.0: {} + + minimalistic-assert@1.0.1: {} + + minimalistic-crypto-utils@1.0.1: {} + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.11 + + minimist@1.2.8: {} + + mipd@0.0.7(typescript@5.5.4): + optionalDependencies: + typescript: 5.5.4 + + mkdirp@0.5.6: + dependencies: + minimist: 1.2.8 + + mkdirp@1.0.4: {} + + mlly@1.7.1: + dependencies: + acorn: 8.12.1 + pathe: 1.1.2 + pkg-types: 1.2.0 + ufo: 1.5.4 + + motion@10.16.2: + dependencies: + '@motionone/animation': 10.18.0 + '@motionone/dom': 10.18.0 + '@motionone/svelte': 10.16.4 + '@motionone/types': 10.17.1 + '@motionone/utils': 10.18.0 + '@motionone/vue': 10.16.4 + + mri@1.2.0: {} + + ms@2.0.0: {} + + ms@2.1.2: {} + + ms@2.1.3: {} + + multiformats@9.9.0: {} + + nanoid@3.3.7: {} + + negotiator@0.6.3: {} + + neo-async@2.6.2: {} + + nocache@3.0.4: {} + + node-abort-controller@3.1.1: {} + + node-addon-api@2.0.2: {} + + node-addon-api@5.1.0: {} + + node-addon-api@7.1.1: {} + + node-dir@0.1.17: + dependencies: + minimatch: 3.1.2 + + node-fetch-native@1.6.4: {} + + node-fetch@2.7.0: + dependencies: + whatwg-url: 5.0.0 + + node-forge@1.3.1: {} + + node-gyp-build@4.8.2: {} + + node-int64@0.4.0: {} + + node-releases@2.0.18: {} + + node-stream-zip@1.15.0: {} + + normalize-path@3.0.0: {} + + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 + + npm-run-path@5.3.0: + dependencies: + path-key: 4.0.0 + + nullthrows@1.1.1: {} + + ob1@0.80.10: + dependencies: + flow-enums-runtime: 0.0.6 + + obj-multiplex@1.0.0: + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + readable-stream: 2.3.8 + + ofetch@1.3.4: + dependencies: + destr: 2.0.3 + node-fetch-native: 1.6.4 + ufo: 1.5.4 + + ohash@1.1.3: {} + + on-exit-leak-free@0.2.0: {} + + on-finished@2.3.0: + dependencies: + ee-first: 1.1.1 + + on-finished@2.4.1: + dependencies: + ee-first: 1.1.1 + + on-headers@1.0.2: {} + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + onetime@6.0.0: + dependencies: + mimic-fn: 4.0.0 + + open@6.4.0: + dependencies: + is-wsl: 1.1.0 + + open@7.4.2: + dependencies: + is-docker: 2.2.1 + is-wsl: 2.2.0 + + open@8.4.2: + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + + ora@5.4.1: + dependencies: + bl: 4.1.0 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.9.2 + is-interactive: 1.0.0 + is-unicode-supported: 0.1.0 + log-symbols: 4.1.0 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + + ora@6.3.1: + dependencies: + chalk: 5.3.0 + cli-cursor: 4.0.0 + cli-spinners: 2.9.2 + is-interactive: 2.0.0 + is-unicode-supported: 1.3.0 + log-symbols: 5.1.0 + stdin-discarder: 0.1.0 + strip-ansi: 7.1.0 + wcwidth: 1.0.1 + + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-limit@4.0.0: + dependencies: + yocto-queue: 1.1.1 + + p-locate@3.0.0: + dependencies: + p-limit: 2.3.0 + + p-locate@4.1.0: + dependencies: + p-limit: 2.3.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + p-locate@6.0.0: + dependencies: + p-limit: 4.0.0 + + p-try@2.2.0: {} + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + parse-json@4.0.0: + dependencies: + error-ex: 1.3.2 + json-parse-better-errors: 1.0.2 + + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.24.7 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + parseurl@1.3.3: {} + + path-exists@3.0.0: {} + + path-exists@4.0.0: {} + + path-exists@5.0.0: {} + + path-is-absolute@1.0.1: {} + + path-key@3.1.1: {} + + path-key@4.0.0: {} + + path-parse@1.0.7: {} + + pathe@1.1.2: {} + + picocolors@1.1.0: {} + + picomatch@2.3.1: {} + + picomatch@3.0.1: {} + + pify@3.0.0: {} + + pify@4.0.1: {} + + pify@5.0.0: {} + + pino-abstract-transport@0.5.0: + dependencies: + duplexify: 4.1.3 + split2: 4.2.0 + + pino-std-serializers@4.0.0: {} + + pino@7.11.0: + dependencies: + atomic-sleep: 1.0.0 + fast-redact: 3.5.0 + on-exit-leak-free: 0.2.0 + pino-abstract-transport: 0.5.0 + pino-std-serializers: 4.0.0 + process-warning: 1.0.0 + quick-format-unescaped: 4.0.4 + real-require: 0.1.0 + safe-stable-stringify: 2.5.0 + sonic-boom: 2.8.0 + thread-stream: 0.15.2 + + pirates@4.0.6: {} + + pkg-dir@3.0.0: + dependencies: + find-up: 3.0.0 + + pkg-types@1.2.0: + dependencies: + confbox: 0.1.7 + mlly: 1.7.1 + pathe: 1.1.2 + + pngjs@5.0.0: {} + + pony-cause@2.1.11: {} + + possible-typed-array-names@1.0.0: {} + + postcss@8.4.44: + dependencies: + nanoid: 3.3.7 + picocolors: 1.1.0 + source-map-js: 1.2.0 + + preact@10.23.2: {} + + prettier@3.3.3: {} + + pretty-format@26.6.2: + dependencies: + '@jest/types': 26.6.2 + ansi-regex: 5.0.1 + ansi-styles: 4.3.0 + react-is: 17.0.2 + + pretty-format@29.7.0: + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.3.1 + + process-nextick-args@2.0.1: {} + + process-warning@1.0.0: {} + + promise@8.3.0: + dependencies: + asap: 2.0.6 + + prompts@2.4.2: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + + proxy-compare@2.5.1: {} + + pump@3.0.0: + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + + qr-code-styling@1.6.0-rc.1: + dependencies: + qrcode-generator: 1.4.4 + + qrcode-generator@1.4.4: {} + + qrcode-terminal-nooctal@0.12.1: {} + + qrcode@1.5.3: + dependencies: + dijkstrajs: 1.0.3 + encode-utf8: 1.0.3 + pngjs: 5.0.0 + yargs: 15.4.1 + + query-string@7.1.3: + dependencies: + decode-uri-component: 0.2.2 + filter-obj: 1.1.0 + split-on-first: 1.1.0 + strict-uri-encode: 2.0.0 + + querystring@0.2.1: {} + + queue-microtask@1.2.3: {} + + queue@6.0.2: + dependencies: + inherits: 2.0.4 + + quick-format-unescaped@4.0.4: {} + + radix3@1.1.2: {} + + range-parser@1.2.1: {} + + react-devtools-core@5.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10): + dependencies: + shell-quote: 1.8.1 + ws: 7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + react-dom@18.3.1(react@18.3.1): + dependencies: + loose-envify: 1.4.0 + react: 18.3.1 + scheduler: 0.23.2 + + react-is@17.0.2: {} + + react-is@18.3.1: {} + + react-native-webview@11.26.1(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.3.5)(bufferutil@4.0.8)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10))(react@18.3.1): + dependencies: + escape-string-regexp: 2.0.0 + invariant: 2.2.4 + react: 18.3.1 + react-native: 0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.3.5)(bufferutil@4.0.8)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10) + + react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.3.5)(bufferutil@4.0.8)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10): + dependencies: + '@jest/create-cache-key-function': 29.7.0 + '@react-native-community/cli': 14.0.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10) + '@react-native-community/cli-platform-android': 14.0.0 + '@react-native-community/cli-platform-ios': 14.0.0 + '@react-native/assets-registry': 0.75.2 + '@react-native/codegen': 0.75.2(@babel/preset-env@7.25.4(@babel/core@7.25.2)) + '@react-native/community-cli-plugin': 0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@react-native/gradle-plugin': 0.75.2 + '@react-native/js-polyfills': 0.75.2 + '@react-native/normalize-colors': 0.75.2 + '@react-native/virtualized-lists': 0.75.2(@types/react@18.3.5)(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.3.5)(bufferutil@4.0.8)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10))(react@18.3.1) + abort-controller: 3.0.0 + anser: 1.4.10 + ansi-regex: 5.0.1 + base64-js: 1.5.1 + chalk: 4.1.2 + event-target-shim: 5.0.1 + flow-enums-runtime: 0.0.6 + glob: 7.2.3 + invariant: 2.2.4 + jest-environment-node: 29.7.0 + jsc-android: 250231.0.0 + memoize-one: 5.2.1 + metro-runtime: 0.80.10 + metro-source-map: 0.80.10 + mkdirp: 0.5.6 + nullthrows: 1.1.1 + pretty-format: 26.6.2 + promise: 8.3.0 + react: 18.3.1 + react-devtools-core: 5.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) + react-refresh: 0.14.2 + regenerator-runtime: 0.13.11 + scheduler: 0.24.0-canary-efb381bbf-20230505 + semver: 7.6.3 + stacktrace-parser: 0.1.10 + whatwg-fetch: 3.6.20 + ws: 6.2.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) + yargs: 17.7.2 + optionalDependencies: + '@types/react': 18.3.5 + transitivePeerDependencies: + - '@babel/core' + - '@babel/preset-env' + - bufferutil + - encoding + - supports-color + - typescript + - utf-8-validate + + react-refresh@0.14.2: {} + + react@18.3.1: + dependencies: + loose-envify: 1.4.0 + + readable-stream@2.3.8: + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + + readline@1.3.0: {} + + real-require@0.1.0: {} + + recast@0.21.5: + dependencies: + ast-types: 0.15.2 + esprima: 4.0.1 + source-map: 0.6.1 + tslib: 2.7.0 + + regenerate-unicode-properties@10.1.1: + dependencies: + regenerate: 1.4.2 + + regenerate@1.4.2: {} + + regenerator-runtime@0.13.11: {} + + regenerator-runtime@0.14.1: {} + + regenerator-transform@0.15.2: + dependencies: + '@babel/runtime': 7.25.6 + + regexpu-core@5.3.2: + dependencies: + '@babel/regjsgen': 0.8.0 + regenerate: 1.4.2 + regenerate-unicode-properties: 10.1.1 + regjsparser: 0.9.1 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.1.0 + + regjsparser@0.9.1: + dependencies: + jsesc: 0.5.0 + + require-directory@2.1.1: {} + + require-main-filename@2.0.0: {} + + resolve-from@3.0.0: {} + + resolve-from@4.0.0: {} + + resolve@1.22.8: + dependencies: + is-core-module: 2.15.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + restore-cursor@3.1.0: + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + + restore-cursor@4.0.0: + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + + reusify@1.0.4: {} + + rimraf@2.6.3: + dependencies: + glob: 7.2.3 + + rimraf@3.0.2: + dependencies: + glob: 7.2.3 + + rollup-plugin-visualizer@5.12.0(rollup@4.21.2): + dependencies: + open: 8.4.2 + picomatch: 2.3.1 + source-map: 0.7.4 + yargs: 17.7.2 + optionalDependencies: + rollup: 4.21.2 + + rollup@4.21.2: + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.21.2 + '@rollup/rollup-android-arm64': 4.21.2 + '@rollup/rollup-darwin-arm64': 4.21.2 + '@rollup/rollup-darwin-x64': 4.21.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.21.2 + '@rollup/rollup-linux-arm-musleabihf': 4.21.2 + '@rollup/rollup-linux-arm64-gnu': 4.21.2 + '@rollup/rollup-linux-arm64-musl': 4.21.2 + '@rollup/rollup-linux-powerpc64le-gnu': 4.21.2 + '@rollup/rollup-linux-riscv64-gnu': 4.21.2 + '@rollup/rollup-linux-s390x-gnu': 4.21.2 + '@rollup/rollup-linux-x64-gnu': 4.21.2 + '@rollup/rollup-linux-x64-musl': 4.21.2 + '@rollup/rollup-win32-arm64-msvc': 4.21.2 + '@rollup/rollup-win32-ia32-msvc': 4.21.2 + '@rollup/rollup-win32-x64-msvc': 4.21.2 + fsevents: 2.3.3 + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + safe-buffer@5.1.2: {} + + safe-buffer@5.2.1: {} + + safe-stable-stringify@2.5.0: {} + + scheduler@0.23.2: + dependencies: + loose-envify: 1.4.0 + + scheduler@0.24.0-canary-efb381bbf-20230505: + dependencies: + loose-envify: 1.4.0 + + secp256k1@5.0.0: + dependencies: + elliptic: 6.5.7 + node-addon-api: 5.1.0 + node-gyp-build: 4.8.2 + + selfsigned@2.4.1: + dependencies: + '@types/node-forge': 1.3.11 + node-forge: 1.3.1 + + semver@5.7.2: {} + + semver@6.3.1: {} + + semver@7.6.3: {} + + send@0.18.0: + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + + serialize-error@2.1.0: {} + + serve-static@1.15.0: + dependencies: + encodeurl: 1.0.2 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.18.0 + transitivePeerDependencies: + - supports-color + + set-blocking@2.0.0: {} + + set-function-length@1.2.2: + 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 + + setprototypeof@1.2.0: {} + + sha.js@2.4.11: + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + + shallow-clone@3.0.1: + dependencies: + kind-of: 6.0.3 + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + shell-quote@1.8.1: {} + + signal-exit@3.0.7: {} + + signal-exit@4.1.0: {} + + sisteransi@1.0.5: {} + + slash@3.0.0: {} + + slice-ansi@2.1.0: + dependencies: + ansi-styles: 3.2.1 + astral-regex: 1.0.0 + is-fullwidth-code-point: 2.0.0 + + socket.io-client@4.7.5(bufferutil@4.0.8)(utf-8-validate@5.0.10): + dependencies: + '@socket.io/component-emitter': 3.1.2 + debug: 4.3.6 + engine.io-client: 6.5.4(bufferutil@4.0.8)(utf-8-validate@5.0.10) + socket.io-parser: 4.2.4 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + socket.io-parser@4.2.4: + dependencies: + '@socket.io/component-emitter': 3.1.2 + debug: 4.3.6 + transitivePeerDependencies: + - supports-color + + sonic-boom@2.8.0: + dependencies: + atomic-sleep: 1.0.0 + + source-map-js@1.2.0: {} + + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.5.7: {} + + source-map@0.6.1: {} + + source-map@0.7.4: {} + + split-on-first@1.1.0: {} + + split2@4.2.0: {} + + sprintf-js@1.0.3: {} + + stack-utils@2.0.6: + dependencies: + escape-string-regexp: 2.0.0 + + stackframe@1.3.4: {} + + stacktrace-parser@0.1.10: + dependencies: + type-fest: 0.7.1 + + statuses@1.5.0: {} + + statuses@2.0.1: {} + + std-env@3.7.0: {} + + stdin-discarder@0.1.0: + dependencies: + bl: 5.1.0 + + stream-shift@1.0.3: {} + + strict-uri-encode@2.0.0: {} + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string_decoder@1.1.1: + dependencies: + safe-buffer: 5.1.2 + + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + + strip-ansi@5.2.0: + dependencies: + ansi-regex: 4.1.1 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.0.1 + + strip-final-newline@2.0.0: {} + + strip-final-newline@3.0.0: {} + + strnum@1.0.5: {} + + sudo-prompt@9.2.1: {} + + superstruct@1.0.4: {} + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + system-architecture@0.1.0: {} + + temp@0.8.4: + dependencies: + rimraf: 2.6.3 + + terser@5.31.6: + dependencies: + '@jridgewell/source-map': 0.3.6 + acorn: 8.12.1 + commander: 2.20.3 + source-map-support: 0.5.21 + + thread-stream@0.15.2: + dependencies: + real-require: 0.1.0 + + throat@5.0.0: {} + + through2@2.0.5: + dependencies: + readable-stream: 2.3.8 + xtend: 4.0.2 + + tmpl@1.0.5: {} + + to-fast-properties@2.0.0: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + toidentifier@1.0.1: {} + + tr46@0.0.3: {} + + tslib@1.14.1: {} + + tslib@2.7.0: {} + + type-detect@4.0.8: {} + + type-fest@0.7.1: {} + + typescript@5.5.4: {} + + ufo@1.5.4: {} + + uint8arrays@3.1.0: + dependencies: + multiformats: 9.9.0 + + uncrypto@0.1.3: {} + + undici-types@6.19.8: {} + + unenv@1.10.0: + dependencies: + consola: 3.2.3 + defu: 6.1.4 + mime: 3.0.0 + node-fetch-native: 1.6.4 + pathe: 1.1.2 + + unicode-canonical-property-names-ecmascript@2.0.0: {} + + unicode-match-property-ecmascript@2.0.0: + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.0 + unicode-property-aliases-ecmascript: 2.1.0 + + unicode-match-property-value-ecmascript@2.1.0: {} + + unicode-property-aliases-ecmascript@2.1.0: {} + + universalify@0.1.2: {} + + universalify@2.0.1: {} + + unpipe@1.0.0: {} + + unstorage@1.10.2(idb-keyval@6.2.1): + dependencies: + anymatch: 3.1.3 + chokidar: 3.6.0 + destr: 2.0.3 + h3: 1.12.0 + listhen: 1.7.2 + lru-cache: 10.4.3 + mri: 1.2.0 + node-fetch-native: 1.6.4 + ofetch: 1.3.4 + ufo: 1.5.4 + optionalDependencies: + idb-keyval: 6.2.1 + transitivePeerDependencies: + - uWebSockets.js + + untun@0.1.3: + dependencies: + citty: 0.1.6 + consola: 3.2.3 + pathe: 1.1.2 + + update-browserslist-db@1.1.0(browserslist@4.23.3): + dependencies: + browserslist: 4.23.3 + escalade: 3.2.0 + picocolors: 1.1.0 + + uqr@0.1.2: {} + + use-sync-external-store@1.2.0(react@18.3.1): + dependencies: + react: 18.3.1 + + utf-8-validate@5.0.10: + dependencies: + node-gyp-build: 4.8.2 + + util-deprecate@1.0.2: {} + + util@0.12.5: + dependencies: + inherits: 2.0.4 + is-arguments: 1.1.1 + is-generator-function: 1.0.10 + is-typed-array: 1.1.13 + which-typed-array: 1.1.15 + + utils-merge@1.0.1: {} + + uuid@8.3.2: {} + + uuid@9.0.1: {} + + valtio@1.11.2(@types/react@18.3.5)(react@18.3.1): + dependencies: + proxy-compare: 2.5.1 + use-sync-external-store: 1.2.0(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.5 + react: 18.3.1 + + vary@1.1.2: {} + + viem@2.21.1(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8): + dependencies: + '@adraffy/ens-normalize': 1.10.0 + '@noble/curves': 1.4.0 + '@noble/hashes': 1.4.0 + '@scure/bip32': 1.4.0 + '@scure/bip39': 1.3.0 + abitype: 1.0.5(typescript@5.5.4)(zod@3.23.8) + isows: 1.0.4(ws@8.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + webauthn-p256: 0.0.5 + ws: 8.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) + optionalDependencies: + typescript: 5.5.4 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + - zod + + vite@5.4.3(@types/node@22.5.2)(terser@5.31.6): + dependencies: + esbuild: 0.21.5 + postcss: 8.4.44 + rollup: 4.21.2 + optionalDependencies: + '@types/node': 22.5.2 + fsevents: 2.3.3 + terser: 5.31.6 + + vlq@1.0.1: {} + + wagmi@2.12.8(@tanstack/query-core@5.45.0)(@tanstack/react-query@5.45.1(react@18.3.1))(@types/react@18.3.5)(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.3.5)(bufferutil@4.0.8)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.2)(typescript@5.5.4)(utf-8-validate@5.0.10)(viem@2.21.1(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8): + dependencies: + '@tanstack/react-query': 5.45.1(react@18.3.1) + '@wagmi/connectors': 5.1.8(@types/react@18.3.5)(@wagmi/core@2.13.4(@tanstack/query-core@5.45.0)(@types/react@18.3.5)(react@18.3.1)(typescript@5.5.4)(viem@2.21.1(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.3.5)(bufferutil@4.0.8)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.2)(typescript@5.5.4)(utf-8-validate@5.0.10)(viem@2.21.1(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8) + '@wagmi/core': 2.13.4(@tanstack/query-core@5.45.0)(@types/react@18.3.5)(react@18.3.1)(typescript@5.5.4)(viem@2.21.1(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)) + react: 18.3.1 + use-sync-external-store: 1.2.0(react@18.3.1) + viem: 2.21.1(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8) + optionalDependencies: + typescript: 5.5.4 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@tanstack/query-core' + - '@types/react' + - '@upstash/redis' + - '@vercel/kv' + - bufferutil + - encoding + - immer + - ioredis + - react-dom + - react-native + - rollup + - supports-color + - uWebSockets.js + - utf-8-validate + - zod + + walker@1.0.8: + dependencies: + makeerror: 1.0.12 + + wcwidth@1.0.1: + dependencies: + defaults: 1.0.4 + + webauthn-p256@0.0.5: + dependencies: + '@noble/curves': 1.4.0 + '@noble/hashes': 1.4.0 + + webextension-polyfill@0.10.0: {} + + webidl-conversions@3.0.1: {} + + whatwg-fetch@3.6.20: {} + + whatwg-url@5.0.0: + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + + which-module@2.0.1: {} + + which-typed-array@1.1.15: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.2 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + wrap-ansi@6.2.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrappy@1.0.2: {} + + write-file-atomic@2.4.3: + dependencies: + graceful-fs: 4.2.11 + imurmurhash: 0.1.4 + signal-exit: 3.0.7 + + ws@6.2.3(bufferutil@4.0.8)(utf-8-validate@5.0.10): + dependencies: + async-limiter: 1.0.1 + optionalDependencies: + bufferutil: 4.0.8 + utf-8-validate: 5.0.10 + + ws@7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10): + optionalDependencies: + bufferutil: 4.0.8 + utf-8-validate: 5.0.10 + + ws@8.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10): + optionalDependencies: + bufferutil: 4.0.8 + utf-8-validate: 5.0.10 + + xmlhttprequest-ssl@2.0.0: {} + + xtend@4.0.2: {} + + y18n@4.0.3: {} + + y18n@5.0.8: {} + + yallist@3.1.1: {} + + yaml@2.5.0: {} + + yargs-parser@18.1.3: + dependencies: + camelcase: 5.3.1 + decamelize: 1.2.0 + + yargs-parser@21.1.1: {} + + yargs@15.4.1: + dependencies: + cliui: 6.0.0 + decamelize: 1.2.0 + find-up: 4.1.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + require-main-filename: 2.0.0 + set-blocking: 2.0.0 + string-width: 4.2.3 + which-module: 2.0.1 + y18n: 4.0.3 + yargs-parser: 18.1.3 + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + + yocto-queue@0.1.0: {} + + yocto-queue@1.1.1: {} + + zod@3.23.8: {} + + zustand@4.4.1(@types/react@18.3.5)(react@18.3.1): + dependencies: + use-sync-external-store: 1.2.0(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.5 + react: 18.3.1 diff --git a/packages/wagmi-demo/src/App.tsx b/packages/wagmi-demo/src/App.tsx new file mode 100644 index 00000000..f12518ac --- /dev/null +++ b/packages/wagmi-demo/src/App.tsx @@ -0,0 +1,101 @@ +import { useCallback } from "react" +import { useAccount, useConnect, useDisconnect } from "wagmi" +import { usePaymasterService } from "./usePaymasterService" +import { useSendTransaction } from "./useSendTransaction" +import { useWaitForTransactionReceipt } from "./useWaitForTransactionReceipt" + +function App() { + const account = useAccount() + const { connectors, connect, status, error } = useConnect() + const { disconnect } = useDisconnect() + + const { + sendTransaction, + data: transactionHash, + isPending + } = useSendTransaction({ + capabilities: { + paymasterService: { + url: "https://paymaster.example.com" + } + } + }) + + const { data: receipt, isPending: isReceiptPending } = + useWaitForTransactionReceipt({ + id: transactionHash + }) + + console.log({ + transactionHash, + isPending, + receipt, + isReceiptPending + }) + + const sendTransactionCallback = useCallback(async () => { + console.log("Sending transaction...") + sendTransaction({ + to: "0x433704c40F80cBff02e86FD36Bc8baC5e31eB0c1", + data: "0x68656c6c6f" + }) + }, [sendTransaction]) + + return ( + <> +

+

Account

+ +
+ status: {account.status} +
+ addresses: {JSON.stringify(account.addresses)} +
+ chainId: {account.chainId} +
+ + {account.status === "connected" && ( + + )} +
+ + {account.status === "connected" && ( +
+

Send test transaction

+ + {isPending &&
Sending transaction...
} + + {transactionHash && ( +
Awaiting confirmation: {transactionHash}
+ )} + + +
+ )} + + {account.status === "disconnected" && ( +
+

Connect

+ {connectors.map((connector) => ( + + ))} +
{status}
+
{error?.message}
+
+ )} + + ) +} + +export default App diff --git a/packages/wagmi-demo/src/erc7677hookCreator.tsx b/packages/wagmi-demo/src/erc7677hookCreator.tsx new file mode 100644 index 00000000..e69de29b diff --git a/packages/wagmi-test-demo/src/index.css b/packages/wagmi-demo/src/index.css similarity index 62% rename from packages/wagmi-test-demo/src/index.css rename to packages/wagmi-demo/src/index.css index d620caf8..0733a7ee 100644 --- a/packages/wagmi-test-demo/src/index.css +++ b/packages/wagmi-demo/src/index.css @@ -19,17 +19,3 @@ color: #181818; } } - -.loader { - border: 2.5px solid #f3f3f3; /* Light grey */ - border-top: 2.5px solid #3498db; /* Blue */ - border-radius: 50%; - width: 20px; - height: 20px; - animation: spin 0.8s linear infinite; -} - -@keyframes spin { - 0% { transform: rotate(0deg); } - 100% { transform: rotate(360deg); } -} diff --git a/packages/wagmi-test-demo/src/main.tsx b/packages/wagmi-demo/src/main.tsx similarity index 54% rename from packages/wagmi-test-demo/src/main.tsx rename to packages/wagmi-demo/src/main.tsx index e35855ce..c36e39a9 100644 --- a/packages/wagmi-test-demo/src/main.tsx +++ b/packages/wagmi-demo/src/main.tsx @@ -1,12 +1,15 @@ -import { Buffer } from "node:buffer" +// biome-ignore lint/style/useNodejsImportProtocol: we are not using node buffer here +import { Buffer } from "buffer" import { QueryClient, QueryClientProvider } from "@tanstack/react-query" import React from "react" import ReactDOM from "react-dom/client" -import { http, WagmiProvider, createConfig } from "wagmi" +import { WagmiProvider } from "wagmi" + import App from "./App.tsx" +import { config } from "./wagmi.ts" -import { sepolia } from "viem/chains" import "./index.css" +import { PaymasterServiceProvider } from "./usePaymasterService" globalThis.Buffer = Buffer @@ -16,19 +19,14 @@ const root = document.getElementById("root") if (!root) throw new Error("No root element found") -const config = createConfig({ - chains: [sepolia], - connectors: [], - transports: { - [sepolia.id]: http(import.meta.env.RPC_URL) - } -}) - ReactDOM.createRoot(root).render( - + {/* Call it generic 5792 provider */} + + + diff --git a/packages/wagmi-demo/src/paymasterService.ts b/packages/wagmi-demo/src/paymasterService.ts new file mode 100644 index 00000000..f34815c9 --- /dev/null +++ b/packages/wagmi-demo/src/paymasterService.ts @@ -0,0 +1,199 @@ +import type EventEmitter from "eventemitter3" +import { + type Address, + type WalletCapabilities, + type WalletCapabilitiesRecord, + type WalletSendCallsParameters, + numberToHex +} from "viem" +import type { CreateConnectorFn } from "wagmi" + +interface RequestArguments { + readonly method: string + readonly params?: readonly unknown[] | object +} + +type EthereumProvider = { + on: (event: string, fn: unknown) => void + removeListener: (event: string, fn: unknown) => void + request(args: RequestArguments): Promise +} + +export const paymasterService = ( + connectorFns: CreateConnectorFn[], + { + url + }: { + url: string + } +) => { + return connectorFns.map((connectorFn) => { + const wrappedConnectorFn: CreateConnectorFn = (config) => { + const connectorFnObject = connectorFn(config) + + let walletProvider: EthereumProvider + let connectorProvider: EthereumProvider & EventEmitter + let address: Address + let chainId: number + let availableCapabilities: + | WalletCapabilitiesRecord + | undefined = undefined + let capabilitiesToUse: WalletSendCallsParameters[number]["capabilities"] + + return { + ...connectorFnObject, + onAccountsChanged: (accounts) => { + address = accounts[0] as Address + connectorFnObject.onAccountsChanged(accounts) + }, + onChainChanged: (_chainId) => { + chainId = Number(_chainId) + connectorFnObject.onChainChanged(_chainId) + }, + onConnect: (connectInfo) => { + chainId = Number(connectInfo.chainId) + connectorFnObject.onConnect?.(connectInfo) + }, + onDisconnect: connectorFnObject.onDisconnect, + onMessage: connectorFnObject.onMessage, + getClient: connectorFnObject.getClient, + setup: connectorFnObject.setup, + switchChain: connectorFnObject.switchChain, + async connect() { + const connection = await connectorFnObject.connect() + + address = connection.accounts[0] + chainId = connection.chainId + + return connection + }, + async disconnect() { + await connectorFnObject.disconnect() + }, + async getAccounts() { + return connectorFnObject.getAccounts() + }, + async getChainId() { + return connectorFnObject.getChainId() + }, + async isAuthorized() { + return connectorFnObject.isAuthorized() + }, + async getProvider() { + if (walletProvider) { + return walletProvider + } + + connectorProvider = + (await connectorFnObject.getProvider()) as EthereumProvider & + EventEmitter + + if (!availableCapabilities) { + const capabilities_raw = + (await connectorProvider.request({ + method: "wallet_getCapabilities", + params: [address] + })) as { + [x: `0x${string}`]: WalletCapabilities + } + availableCapabilities = {} as WalletCapabilitiesRecord< + WalletCapabilities, + number + > + for (const [key, value] of Object.entries( + capabilities_raw + )) { + availableCapabilities[Number(key)] = value + } + } + + if (!chainId) { + chainId = await connectorFnObject.getChainId() + } + + const capabilitiesForChain = availableCapabilities[chainId] + if (capabilitiesForChain.paymasterService?.supported) { + capabilitiesToUse = { + paymasterService: { + url + } + } + } else { + capabilitiesToUse = undefined + } + + walletProvider = { + on: connectorProvider.on, + removeListener: connectorProvider.removeListener, + request: async (args) => { + console.log({ + method: args.method, + params: args.params, + capabilitiesToUse + }) + + if ( + args.method === "eth_sendTransaction" && + capabilitiesToUse && + args.params + ) { + console.log({ + params: [ + { + calls: [ + { + to: (args.params as any)[0] + .to, + value: ( + args.params as any + )[0].value, + data: ( + args.params as any + )[0].data + } + ], + capabilities: capabilitiesToUse, + chainId: numberToHex(chainId), + from: address, + version: "1.0" + } + ] + }) + + return connectorProvider.request({ + method: "wallet_sendCalls", + params: [ + { + calls: [ + { + to: (args.params as any)[0] + .to, + value: ( + args.params as any + )[0].value, + data: ( + args.params as any + )[0].data + } + ], + capabilities: capabilitiesToUse, + chainId: numberToHex(chainId), + from: address, + version: "1.0" + } + ] + }) + } + + return connectorProvider.request(args) + } + } + + return walletProvider + } + } + } + + return wrappedConnectorFn + }) +} diff --git a/packages/wagmi-demo/src/usePaymasterService.tsx b/packages/wagmi-demo/src/usePaymasterService.tsx new file mode 100644 index 00000000..5f014b30 --- /dev/null +++ b/packages/wagmi-demo/src/usePaymasterService.tsx @@ -0,0 +1,43 @@ +import { createContext, useMemo } from "react" +import { useAccount } from "wagmi" +import { useCapabilities } from "wagmi/experimental" + +export const usePaymasterService = (url: string) => { + const account = useAccount() + + const { data: availableCapabilities } = useCapabilities({ + account: account.address + }) + + const capabilities = useMemo(() => { + if (!availableCapabilities || !account.chainId) return {} + const capabilitiesForChain = availableCapabilities[account.chainId] + if (capabilitiesForChain.paymasterService?.supported) { + return { + paymasterService: { + url + } + } + } + return {} + }, [availableCapabilities, account.chainId, url]) + + return { capabilities } +} + +const PaymasterServiceContext = createContext<{ + url: string | null +}>({ + url: null +}) + +export const PaymasterServiceProvider = ({ + url, + children +}: { url: string; children: React.ReactNode }) => { + return ( + + {children} + + ) +} diff --git a/packages/wagmi-demo/src/useSendTransaction.ts b/packages/wagmi-demo/src/useSendTransaction.ts new file mode 100644 index 00000000..fe05d2cb --- /dev/null +++ b/packages/wagmi-demo/src/useSendTransaction.ts @@ -0,0 +1,173 @@ +"use client" + +import { + type MutateOptions, + type MutationOptions, + useMutation +} from "@tanstack/react-query" +import { sendTransaction } from "@wagmi/core" +import { sendCalls } from "@wagmi/core/experimental" +import { useContext } from "react" +import type { Prettify, SendTransactionErrorType } from "viem" +import type { SendCallsErrorType, SendCallsReturnType } from "viem/experimental" +import { type Config, type ResolvedRegister, useConfig } from "wagmi" +import type { + SendTransactionData, + SendTransactionVariables, + UseMutationParameters, + UseMutationReturnType +} from "wagmi/query" +import { PaymasterServiceContext } from "./usePaymasterService" + +export type SendTransactionMutate = < + chainId extends config["chains"][number]["id"] +>( + variables: SendTransactionVariables, + options?: + | Prettify< + MutateOptions< + SendTransactionData | SendCallsReturnType, + SendTransactionErrorType | SendCallsErrorType, + Prettify>, + context + > + > + | undefined +) => void + +export type SendTransactionMutateAsync< + config extends Config, + context = unknown +> = ( + variables: SendTransactionVariables, + options?: + | Prettify< + MutateOptions< + SendTransactionData | SendCallsReturnType, + SendTransactionErrorType | SendCallsErrorType, + Prettify>, + context + > + > + | undefined +) => Promise + +export type UseSendTransactionReturnType< + config extends Config = Config, + context = unknown +> = Prettify< + UseMutationReturnType< + SendTransactionData | SendCallsReturnType, + SendTransactionErrorType | SendCallsErrorType, + SendTransactionVariables, + context + > & { + sendTransaction: SendTransactionMutate + sendTransactionAsync: SendTransactionMutateAsync + } +> + +export type ConfigParameter = { + config?: Config | config | undefined +} + +export type UseSendTransactionParameters< + config extends Config = Config, + context = unknown +> = Prettify< + ConfigParameter & { + mutation?: + | UseMutationParameters< + SendTransactionData | SendCallsReturnType, + SendTransactionErrorType | SendCallsErrorType, + SendTransactionVariables< + config, + config["chains"][number]["id"] + >, + context + > + | undefined + } +> + +const sendTransactionMutationOptions = ( + config: config, + parameters: { + capabilities?: + | { + paymasterService?: undefined + } + | { + paymasterService: { + url: string + } + } + } = {} +) => { + return { + mutationFn(variables) { + if ( + parameters.capabilities && + "paymasterService" in parameters.capabilities + ) { + return sendCalls(config, { + calls: [variables], + capabilities: parameters.capabilities + }) + } + + return sendTransaction(config, variables) + }, + mutationKey: ["sendTransaction"] + } as const satisfies MutationOptions< + SendTransactionData | SendCallsReturnType, + SendTransactionErrorType | SendCallsErrorType, + SendTransactionVariables + > +} + +export const useSendTransaction = < + config extends Config = ResolvedRegister["config"], + context = unknown +>( + parameters: UseSendTransactionParameters & { + capabilities?: + | { + paymasterService?: undefined + } + | { + paymasterService: { + url: string + } + } + } = {} +) => { + const { mutation } = parameters + const capabilities = useContext(PaymasterServiceContext) + + const config = useConfig(parameters) + + const mutationOptions = sendTransactionMutationOptions(config, { + ...parameters, + capabilities: { + paymasterService: capabilities.url + ? { + url: capabilities.url + } + : undefined, + ...parameters.capabilities + } + }) + + const { mutate, mutateAsync, ...result } = useMutation({ + ...mutation, + ...mutationOptions + }) + + type Return = UseSendTransactionReturnType + return { + ...result, + sendTransaction: mutate as Return["sendTransaction"], + sendTransactionAsync: mutateAsync as Return["sendTransactionAsync"] + } +} diff --git a/packages/wagmi-demo/src/useWaitForTransactionReceipt.ts b/packages/wagmi-demo/src/useWaitForTransactionReceipt.ts new file mode 100644 index 00000000..68b23665 --- /dev/null +++ b/packages/wagmi-demo/src/useWaitForTransactionReceipt.ts @@ -0,0 +1,206 @@ +"use client" + +import type { + DefaultError, + QueryKey, + QueryOptions +} from "@tanstack/react-query" +import type { + Config, + ResolvedRegister, + WaitForTransactionReceiptErrorType +} from "@wagmi/core" +import { ConnectorNotConnectedError } from "@wagmi/core" +import type { + GetCallsStatusData, + GetCallsStatusErrorType, + GetCallsStatusOptions, + GetCallsStatusQueryFnData +} from "@wagmi/core/experimental" +import { getCallsStatus } from "@wagmi/core/experimental" +import type { WaitForTransactionReceiptData } from "@wagmi/core/query" +import type { Prettify } from "viem" +import { useChainId, useConfig } from "wagmi" +import { + type UseQueryParameters, + type UseQueryReturnType, + useQuery +} from "wagmi/query" +import type { ConfigParameter } from "./useSendTransaction" + +export function filterQueryOptions>( + options: type +): type { + // destructuring is super fast + // biome-ignore format: no formatting + const { + // import('@tanstack/query-core').QueryOptions + _defaulted, behavior, gcTime, initialData, initialDataUpdatedAt, maxPages, meta, networkMode, queryFn, queryHash, queryKey, queryKeyHashFn, retry, retryDelay, structuralSharing, + + // import('@tanstack/query-core').InfiniteQueryObserverOptions + getPreviousPageParam, getNextPageParam, initialPageParam, + + // import('@tanstack/react-query').UseQueryOptions + _optimisticResults, enabled, notifyOnChangeProps, placeholderData, refetchInterval, refetchIntervalInBackground, refetchOnMount, refetchOnReconnect, refetchOnWindowFocus, retryOnMount, select, staleTime, suspense, throwOnError, + + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // wagmi + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + config, connector, query, + ...rest + } = options + + return rest as type +} + +export type QueryParameter< + queryFnData = unknown, + error = DefaultError, + data = queryFnData, + queryKey extends QueryKey = QueryKey +> = { + query?: + | Omit< + UseQueryParameters, + | "queryFn" + | "queryHash" + | "queryKey" + | "queryKeyHashFn" + | "throwOnError" + > + | undefined +} + +export type UseCallsStatusParameters< + config extends Config = Config, + chainId extends + config["chains"][number]["id"] = config["chains"][number]["id"], + selectData = GetCallsStatusData +> = Prettify< + Partial & + ConfigParameter & + QueryParameter< + GetCallsStatusQueryFnData, + GetCallsStatusErrorType, + selectData, + ReturnType + > & { + chainId?: + | (chainId extends config["chains"][number]["id"] + ? chainId + : undefined) + | config["chains"][number]["id"] + | undefined + } +> + +export function getCallsStatusQueryKey( + options: Partial +) { + return ["callsStatus", filterQueryOptions(options)] as const +} + +async function waitForTransactionReceipt< + config extends Config, + chainId extends + config["chains"][number]["id"] = config["chains"][number]["id"] +>( + config: Config, + parameters: Partial & { + id: string + chainId?: + | (chainId extends config["chains"][number]["id"] + ? chainId + : undefined) + | config["chains"][number]["id"] + | undefined + } +) {} + +export function waitForTransactionReceiptQueryOptions< + config extends Config, + chainId extends + config["chains"][number]["id"] = config["chains"][number]["id"] +>( + config: config, + options: Partial & { + chainId?: + | (chainId extends config["chains"][number]["id"] + ? chainId + : undefined) + | config["chains"][number]["id"] + | undefined + } +) { + return { + async queryFn({ queryKey }) { + const { scopeKey: _, id, ...parameters } = queryKey[1] + if (!id) throw new Error("id is required") + const status = await waitForTransactionReceipt(config, { + id, + ...options, + ...parameters + }) + console.log(status) + return status + }, + queryKey: getCallsStatusQueryKey(options), + retry(failureCount, error) { + if (error instanceof ConnectorNotConnectedError) return false + return failureCount < 3 + } + } as const satisfies QueryOptions< + GetCallsStatusQueryFnData, + GetCallsStatusErrorType, + GetCallsStatusData, + ReturnType + > +} + +export type UseCallsStatusReturnType = + UseQueryReturnType + +export type UseWaitForTransactionReceiptReturnType< + config extends Config = Config, + chainId extends + config["chains"][number]["id"] = config["chains"][number]["id"], + selectData = WaitForTransactionReceiptData +> = UseQueryReturnType + +/** https://wagmi.sh/react/api/hooks/useCallsStatus */ +export function useWaitForTransactionReceipt< + config extends Config = ResolvedRegister["config"], + chainId extends + config["chains"][number]["id"] = config["chains"][number]["id"], + selectData = GetCallsStatusData +>( + parameters: UseCallsStatusParameters & { + capabilities?: + | { + paymasterService?: undefined + } + | { + paymasterService: { + url: string + } + } + } = {} +): UseWaitForTransactionReceiptReturnType { + const { query = {} } = parameters + + const config = useConfig(parameters) + const chainId = useChainId({ config }) + + const enabled = Boolean(parameters.id && (query.enabled ?? true)) + + const options = waitForTransactionReceiptQueryOptions(config, { + ...parameters, + chainId: parameters.chainId ?? chainId + }) + + return useQuery({ + ...query, + ...options, + enabled + }) as UseWaitForTransactionReceiptReturnType +} diff --git a/packages/wagmi-test-demo/src/vite-env.d.ts b/packages/wagmi-demo/src/vite-env.d.ts similarity index 100% rename from packages/wagmi-test-demo/src/vite-env.d.ts rename to packages/wagmi-demo/src/vite-env.d.ts diff --git a/packages/wagmi-demo/src/wagmi.ts b/packages/wagmi-demo/src/wagmi.ts new file mode 100644 index 00000000..5e83cba7 --- /dev/null +++ b/packages/wagmi-demo/src/wagmi.ts @@ -0,0 +1,19 @@ +import { sepolia } from "viem/chains" +import { http, createConfig } from "wagmi" +import { coinbaseWallet } from "wagmi/connectors" + +export const config = createConfig({ + chains: [sepolia], + connectors: [ + coinbaseWallet({ appName: "Pimlico", preference: "smartWalletOnly" }) + ], + transports: { + [sepolia.id]: http("https://rpc.ankr.com/eth_sepolia") + } +}) + +declare module "wagmi" { + interface Register { + config: typeof config + } +} diff --git a/packages/wagmi-demo/tsconfig.json b/packages/wagmi-demo/tsconfig.json new file mode 100644 index 00000000..a7fc6fbf --- /dev/null +++ b/packages/wagmi-demo/tsconfig.json @@ -0,0 +1,25 @@ +{ + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/packages/wagmi-demo/tsconfig.node.json b/packages/wagmi-demo/tsconfig.node.json new file mode 100644 index 00000000..42872c59 --- /dev/null +++ b/packages/wagmi-demo/tsconfig.node.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "composite": true, + "skipLibCheck": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/packages/wagmi-demo/vite.config.ts b/packages/wagmi-demo/vite.config.ts new file mode 100644 index 00000000..ecb1d561 --- /dev/null +++ b/packages/wagmi-demo/vite.config.ts @@ -0,0 +1,7 @@ +import react from "@vitejs/plugin-react" +import { defineConfig } from "vite" + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [react()] +}) diff --git a/packages/wagmi-test-demo/.env.example b/packages/wagmi-test-demo/.env.example deleted file mode 100644 index d0a1b84b..00000000 --- a/packages/wagmi-test-demo/.env.example +++ /dev/null @@ -1,2 +0,0 @@ -RPC_URL= -PAYMASTER_URL= \ No newline at end of file diff --git a/packages/wagmi-test-demo/package.json b/packages/wagmi-test-demo/package.json deleted file mode 100644 index 56f6792d..00000000 --- a/packages/wagmi-test-demo/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "@permissionless/wagmi-demo", - "private": true, - "author": "Pimlico", - "homepage": "https://docs.pimlico.io/permissionless/wagmi", - "repository": "github:pimlicolabs/permissionless.js", - "type": "module", - "scripts": { - "dev": "vite", - "build": "tsc && vite build", - "lint": "biome check .", - "preview": "vite preview" - }, - "dependencies": { - "wagmi": "^2.5.1", - "viem": "2.9.17", - "@tanstack/react-query": "5.0.5", - "react": "^18.2.0", - "permissionless": "0.0.36", - "vite": "^4.4.9", - "@types/react": "^18.2.22", - "@types/react-dom": "^18.2.7", - "react-dom": "^18.2.0", - "@permissionless/wagmi": "workspace:packages/wagmi", - "@vitejs/plugin-react": "^4.1.0" - } -} diff --git a/packages/wagmi-test-demo/src/App.tsx b/packages/wagmi-test-demo/src/App.tsx deleted file mode 100644 index fa5401bb..00000000 --- a/packages/wagmi-test-demo/src/App.tsx +++ /dev/null @@ -1,183 +0,0 @@ -import { - biconomySmartAccount, - kernelSmartAccount, - simpleSmartAccount -} from "@permissionless/wagmi" -import { safeSmartAccount } from "@permissionless/wagmi" -import { createPimlicoPaymasterClient } from "permissionless/clients/pimlico" -import { walletClientToSmartAccountSigner } from "permissionless/utils" -import React from "react" -import { http, type Address, zeroAddress } from "viem" -import { - type CreateConnectorFn, - useAccount, - useConfig, - useConnect, - useDisconnect, - useSendTransaction -} from "wagmi" -import { getPublicClient, getWalletClient } from "wagmi/actions" - -function App() { - const account = useAccount() - const { connectors, connect, status, error } = useConnect() - const { disconnect } = useDisconnect() - const config = useConfig() - - const smartAccounts = ["Simple", "Safe", "Biconomy", "Kernel"] - - const connectSmartAccount = async (smartAccount: string) => { - const publicClient = getPublicClient(config) - const walletClient = await getWalletClient(config) - - if (!publicClient) { - throw new Error("publicClient not found") - } - - const pimlicoClient = createPimlicoPaymasterClient({ - transport: http(import.meta.env.VITE_PAYMASTER_URL as string) - }) - - let connector: CreateConnectorFn - - switch (smartAccount) { - case "Simple": - connector = await simpleSmartAccount({ - publicClient, - bundlerTransport: http( - import.meta.env.VITE_BUNDLER_RPC_HOST - ), - signer: walletClientToSmartAccountSigner(walletClient), - factoryAddress: import.meta.env - .VITE_FACTORY_ADDRESS as Address, - entryPoint: import.meta.env.VITE_ENTRY_POINT as Address, - sponsorUserOperation: pimlicoClient.sponsorUserOperation - }) - connect({ connector }) - break - case "Safe": - connector = await safeSmartAccount({ - publicClient, - bundlerTransport: http( - import.meta.env.VITE_BUNDLER_RPC_HOST - ), - signer: walletClientToSmartAccountSigner(walletClient), - safeVersion: "1.4.1", - entryPoint: import.meta.env.VITE_ENTRY_POINT as Address, - sponsorUserOperation: pimlicoClient.sponsorUserOperation - }) - connect({ connector }) - break - case "Biconomy": - connector = await biconomySmartAccount({ - publicClient, - bundlerTransport: http( - import.meta.env.VITE_BUNDLER_RPC_HOST - ), - signer: walletClientToSmartAccountSigner(walletClient), - entryPoint: import.meta.env.VITE_ENTRY_POINT as Address, - sponsorUserOperation: pimlicoClient.sponsorUserOperation - }) - connect({ connector }) - break - - case "Kernel": - connector = await kernelSmartAccount({ - publicClient, - bundlerTransport: http( - import.meta.env.VITE_BUNDLER_RPC_HOST - ), - signer: walletClientToSmartAccountSigner(walletClient), - entryPoint: import.meta.env.VITE_ENTRY_POINT as Address, - sponsorUserOperation: pimlicoClient.sponsorUserOperation - }) - connect({ connector }) - break - } - } - - const { - data: hash, - sendTransaction, - error: sendTransactionError, - isPending - } = useSendTransaction() - - const sendTransactionOnButtonPress = () => { - sendTransaction({ - to: zeroAddress, - value: 0n, - data: "0x" - }) - } - - return ( - <> -
-

Account

- -
- status: {account.status} -
- addresses: {JSON.stringify(account.addresses)} -
- chainId: {account.chainId} -
- - {account.status === "connected" && ( - <> - - - - - {isPending && ( -
- Executing transaction... -
-
- )} - {hash &&
hash: {hash}
} - - )} -
- -
-

Connect

- {account.status === "connected" && - smartAccounts.map((sa) => ( - - ))} - {account.status !== "connected" && - connectors.map((connector) => ( - - ))} -
{status}
-
{error?.message}
-
- - ) -} - -export default App diff --git a/packages/wagmi/connectors/biconomySmartAccount.ts b/packages/wagmi/connectors/biconomySmartAccount.ts deleted file mode 100644 index 2b9d4054..00000000 --- a/packages/wagmi/connectors/biconomySmartAccount.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { - type SignerToBiconomySmartAccountParameters, - signerToBiconomySmartAccount -} from "permissionless/accounts" -import type { Prettify } from "permissionless/types" -import type { Address, Chain, Transport } from "viem" -import { - type SmartAccountParameters, - smartAccountConnectorHelper -} from "./simpleSmartAccount" - -export type BiconomySmartAccountParameters< - TTransport extends Transport = Transport, - TChain extends Chain | undefined = Chain | undefined, - TSource extends string = string, - TAddress extends Address = Address -> = Prettify< - SmartAccountParameters< - Omit< - SignerToBiconomySmartAccountParameters, - "signer" - >, - TTransport, - TChain, - TSource, - TAddress - > -> - -export async function biconomySmartAccount< - TTransport extends Transport = Transport, - TChain extends Chain | undefined = Chain | undefined, - TSource extends string = string, - TAddress extends Address = Address ->({ - publicClient, - signer, - bundlerTransport, - sponsorUserOperation, - ...rest -}: Prettify< - BiconomySmartAccountParameters ->) { - return smartAccountConnectorHelper({ - account: await signerToBiconomySmartAccount(publicClient, { - ...rest, - signer - }), - publicClient, - bundlerTransport, - sponsorUserOperation - }) -} diff --git a/packages/wagmi/connectors/kernelSmartAccount.ts b/packages/wagmi/connectors/kernelSmartAccount.ts deleted file mode 100644 index e5b5e809..00000000 --- a/packages/wagmi/connectors/kernelSmartAccount.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { - type SignerToEcdsaKernelSmartAccountParameters, - signerToEcdsaKernelSmartAccount -} from "permissionless/accounts" -import type { Prettify } from "permissionless/types" -import type { Address, Chain, Transport } from "viem" -import { - type SmartAccountParameters, - smartAccountConnectorHelper -} from "./simpleSmartAccount" - -export type KernelSmartAccountParameters< - TTransport extends Transport = Transport, - TChain extends Chain | undefined = Chain | undefined, - TSource extends string = string, - TAddress extends Address = Address -> = Prettify< - SmartAccountParameters< - Omit< - SignerToEcdsaKernelSmartAccountParameters, - "signer" - >, - TTransport, - TChain, - TSource, - TAddress - > -> - -export async function kernelSmartAccount< - TTransport extends Transport = Transport, - TChain extends Chain | undefined = Chain | undefined, - TSource extends string = string, - TAddress extends Address = Address ->({ - publicClient, - signer, - bundlerTransport, - sponsorUserOperation, - ...rest -}: Prettify< - KernelSmartAccountParameters ->) { - return smartAccountConnectorHelper({ - account: await signerToEcdsaKernelSmartAccount(publicClient, { - ...rest, - signer - }), - publicClient, - bundlerTransport, - sponsorUserOperation - }) -} diff --git a/packages/wagmi/connectors/safeSmartAccount.ts b/packages/wagmi/connectors/safeSmartAccount.ts deleted file mode 100644 index 3035cd72..00000000 --- a/packages/wagmi/connectors/safeSmartAccount.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { - type SignerToSafeSmartAccountParameters, - signerToSafeSmartAccount -} from "permissionless/accounts" -import type { Prettify } from "permissionless/types" -import type { Address, Chain, Transport } from "viem" -import { - type SmartAccountParameters, - smartAccountConnectorHelper -} from "./simpleSmartAccount" - -export type SafeSmartAccountParameters< - TTransport extends Transport = Transport, - TChain extends Chain | undefined = Chain | undefined, - TSource extends string = string, - TAddress extends Address = Address -> = Prettify< - SmartAccountParameters< - Omit, "signer">, - TTransport, - TChain, - TSource, - TAddress - > -> - -export async function safeSmartAccount< - TTransport extends Transport = Transport, - TChain extends Chain | undefined = Chain | undefined, - TSource extends string = string, - TAddress extends Address = Address ->({ - publicClient, - signer, - bundlerTransport, - sponsorUserOperation, - ...rest -}: Prettify< - SafeSmartAccountParameters ->) { - return smartAccountConnectorHelper({ - account: await signerToSafeSmartAccount(publicClient, { - ...rest, - signer - }), - publicClient, - bundlerTransport, - sponsorUserOperation - }) -} diff --git a/packages/wagmi/connectors/simpleSmartAccount.ts b/packages/wagmi/connectors/simpleSmartAccount.ts deleted file mode 100644 index d7d876a2..00000000 --- a/packages/wagmi/connectors/simpleSmartAccount.ts +++ /dev/null @@ -1,90 +0,0 @@ -import { createSmartAccountClient } from "permissionless" -import { - type SignerToSimpleSmartAccountParameters, - type SmartAccount, - type SmartAccountSigner, - signerToSimpleSmartAccount -} from "permissionless/accounts" -import type { SponsorUserOperationMiddleware } from "permissionless/actions/smartAccount" -import type { Prettify } from "permissionless/types" -import type { Address, Chain, PublicClient, Transport } from "viem" -import { smartAccount } from "./smartAccount" - -export type SmartAccountParameters< - T, - TTransport extends Transport = Transport, - TChain extends Chain | undefined = Chain | undefined, - TSource extends string = string, - TAddress extends Address = Address -> = { - publicClient: PublicClient - signer: SmartAccountSigner - bundlerTransport: TTransport -} & SponsorUserOperationMiddleware & - T - -export type SimpleSmartAccountParameters< - TTransport extends Transport = Transport, - TChain extends Chain | undefined = Chain | undefined, - TSource extends string = string, - TAddress extends Address = Address -> = Prettify< - SmartAccountParameters< - Omit, "signer">, - TTransport, - TChain, - TSource, - TAddress - > -> - -export async function smartAccountConnectorHelper< - X, - TTransport extends Transport = Transport, - TChain extends Chain | undefined = Chain | undefined, - TSource extends string = string, - TAddress extends Address = Address, - Name extends string = string ->({ - bundlerTransport, - sponsorUserOperation, - account -}: Omit< - SmartAccountParameters, - "signer" -> & { - account: SmartAccount -}) { - const smartAccountClient = createSmartAccountClient({ - account, - transport: bundlerTransport, - sponsorUserOperation: sponsorUserOperation - }) - - return smartAccount({ - smartAccountClient: smartAccountClient - }) -} - -export async function simpleSmartAccount< - TTransport extends Transport = Transport, - TChain extends Chain | undefined = Chain | undefined, - TSource extends string = string, - TAddress extends Address = Address ->({ - publicClient, - signer, - bundlerTransport, - sponsorUserOperation, - ...rest -}: SimpleSmartAccountParameters) { - return smartAccountConnectorHelper({ - account: await signerToSimpleSmartAccount(publicClient, { - ...rest, - signer - }), - publicClient, - bundlerTransport, - sponsorUserOperation - }) -} diff --git a/packages/wagmi/connectors/smartAccount.ts b/packages/wagmi/connectors/smartAccount.ts deleted file mode 100644 index aabdc918..00000000 --- a/packages/wagmi/connectors/smartAccount.ts +++ /dev/null @@ -1,72 +0,0 @@ -import { type SmartAccountClient, chainId } from "permissionless" -import type { SmartAccount } from "permissionless/accounts" -import type { Chain, Transport } from "viem" -import { createConnector } from "wagmi" - -export function smartAccount< - transport extends Transport = Transport, - chain extends Chain | undefined = Chain | undefined, - account extends SmartAccount = SmartAccount ->({ - smartAccountClient, - id = smartAccountClient.uid, - name = smartAccountClient.name, - type = "smart-account" -}: { - smartAccountClient: SmartAccountClient & { - estimateGas?: () => undefined | bigint - } - id?: string - name?: string - type?: string -}) { - // Don't remove this, it is needed because wagmi has an opinion on always estimating gas: - // https://github.com/wevm/wagmi/blob/main/packages/core/src/actions/sendTransaction.ts#L77 - smartAccountClient.estimateGas = () => { - return undefined - } - - return createConnector((config) => ({ - id, - name, - type, - // async setup() {}, - async connect({ chainId } = {}) { - if (chainId && chainId !== (await this.getChainId())) { - throw new Error(`Invalid chainId ${chainId} requested`) - } - - return { - accounts: [smartAccountClient.account.address], - chainId: await this.getChainId() - } - }, - async disconnect() {}, - async getAccounts() { - return [smartAccountClient.account.address] - }, - getChainId() { - return chainId(smartAccountClient) - }, - async getProvider() {}, - async isAuthorized() { - return !!smartAccountClient.account.address - }, - onAccountsChanged() { - // Not relevant - }, - onChainChanged() { - // Not relevant because smart accounts only exist on single chain. - }, - onDisconnect() { - config.emitter.emit("disconnect") - }, - async getClient({ chainId: requestedChainId }: { chainId: number }) { - const chainId = await this.getChainId() - if (requestedChainId !== chainId) { - throw new Error(`Invalid chainId ${chainId} requested`) - } - return smartAccountClient - } - })) -} diff --git a/packages/wagmi/index.ts b/packages/wagmi/index.ts index 554759f1..e69de29b 100644 --- a/packages/wagmi/index.ts +++ b/packages/wagmi/index.ts @@ -1,32 +0,0 @@ -import { - type SimpleSmartAccountParameters, - simpleSmartAccount -} from "./connectors/simpleSmartAccount" -import { smartAccount } from "./connectors/smartAccount" - -import { - type SafeSmartAccountParameters, - safeSmartAccount -} from "./connectors/safeSmartAccount" - -import { - type BiconomySmartAccountParameters, - biconomySmartAccount -} from "./connectors/biconomySmartAccount" - -import { - type KernelSmartAccountParameters, - kernelSmartAccount -} from "./connectors/kernelSmartAccount" - -export { - smartAccount, - simpleSmartAccount, - type SimpleSmartAccountParameters, - safeSmartAccount, - type SafeSmartAccountParameters, - biconomySmartAccount, - type BiconomySmartAccountParameters, - kernelSmartAccount, - type KernelSmartAccountParameters -} diff --git a/packages/wagmi/package.json b/packages/wagmi/package.json index 22ff9e4e..e4c7c5aa 100644 --- a/packages/wagmi/package.json +++ b/packages/wagmi/package.json @@ -20,11 +20,7 @@ "default": "./_cjs/index.js" } }, - "dependencies": { - "permissionless": "0.0.36" - }, "peerDependencies": { - "wagmi": "^2.5.1", - "viem": "2.9.17" + "wagmi": "^2.12.8" } } From 8ea89609ee3eb10519d4ae59d6349fc1605c2ecd Mon Sep 17 00:00:00 2001 From: Garvit Khatri Date: Fri, 20 Sep 2024 17:18:20 +0100 Subject: [PATCH 02/13] Add etherspot account, actions and client --- .../mock-aa-infra/alto/constants.ts | 12 + .../mock-aa-infra/alto/index.ts | 35 +- packages/permissionless-test/src/utils.ts | 29 ++ .../permissionless/accounts/biconomy/index.ts | 13 + .../etherspot/abi/EtherspotBootstrapAbi.ts | 94 +++++ .../abi/EtherspotWalletFactoryAbi.ts | 26 ++ .../accounts/etherspot/constants.ts | 39 ++ .../accounts/etherspot/index.ts | 3 + .../etherspot/toEtherspotSmartAccount.ts | 362 ++++++++++++++++++ .../etherspot/utils/getInitMSAData.ts | 56 +++ .../accounts/etherspot/utils/getNonceKey.ts | 21 + .../accounts/etherspot/utils/signMessage.ts | 26 ++ .../accounts/etherspot/utils/signTypedData.ts | 46 +++ .../etherspot/utils/wrapMessageHash.ts | 42 ++ packages/permissionless/accounts/index.ts | 81 +--- .../permissionless/accounts/kernel/index.ts | 15 + .../permissionless/accounts/light/index.ts | 15 + .../permissionless/accounts/safe/index.ts | 15 + .../permissionless/accounts/simple/index.ts | 13 + .../permissionless/accounts/trust/index.ts | 13 + packages/permissionless/actions/etherspot.ts | 6 + .../etherspot/getUserOperationGasPrice.ts | 32 ++ .../clients/decorators/etherspot.ts | 15 + packages/permissionless/clients/etherspot.ts | 100 +++++ packages/permissionless/clients/pimlico.ts | 18 +- packages/permissionless/package.json | 30 ++ packages/permissionless/types/etherspot.ts | 12 + 27 files changed, 1078 insertions(+), 91 deletions(-) create mode 100644 packages/permissionless/accounts/biconomy/index.ts create mode 100644 packages/permissionless/accounts/etherspot/abi/EtherspotBootstrapAbi.ts create mode 100644 packages/permissionless/accounts/etherspot/abi/EtherspotWalletFactoryAbi.ts create mode 100644 packages/permissionless/accounts/etherspot/constants.ts create mode 100644 packages/permissionless/accounts/etherspot/index.ts create mode 100644 packages/permissionless/accounts/etherspot/toEtherspotSmartAccount.ts create mode 100644 packages/permissionless/accounts/etherspot/utils/getInitMSAData.ts create mode 100644 packages/permissionless/accounts/etherspot/utils/getNonceKey.ts create mode 100644 packages/permissionless/accounts/etherspot/utils/signMessage.ts create mode 100644 packages/permissionless/accounts/etherspot/utils/signTypedData.ts create mode 100644 packages/permissionless/accounts/etherspot/utils/wrapMessageHash.ts create mode 100644 packages/permissionless/accounts/kernel/index.ts create mode 100644 packages/permissionless/accounts/light/index.ts create mode 100644 packages/permissionless/accounts/safe/index.ts create mode 100644 packages/permissionless/accounts/simple/index.ts create mode 100644 packages/permissionless/accounts/trust/index.ts create mode 100644 packages/permissionless/actions/etherspot.ts create mode 100644 packages/permissionless/actions/etherspot/getUserOperationGasPrice.ts create mode 100644 packages/permissionless/clients/decorators/etherspot.ts create mode 100644 packages/permissionless/clients/etherspot.ts create mode 100644 packages/permissionless/types/etherspot.ts diff --git a/packages/permissionless-test/mock-aa-infra/alto/constants.ts b/packages/permissionless-test/mock-aa-infra/alto/constants.ts index 75d32d2d..6381a450 100644 --- a/packages/permissionless-test/mock-aa-infra/alto/constants.ts +++ b/packages/permissionless-test/mock-aa-infra/alto/constants.ts @@ -164,3 +164,15 @@ export const TRUST_DEFAULT_FALLBACK_HANDLER: Hex = export const ERC_7579_TEST_MODULE_CREATECALL = "0x00000000000000000000000000000000000000000000000000000000000000006080604052348015600f57600080fd5b50610f6a8061001f6000396000f3fe6080604052600436106100a75760003560e01c8063d26cdce311610064578063d26cdce3146101c1578063d60b347f146101d4578063e508600314610204578063ecd0596114610217578063fbe5ce0a14610238578063fd8b84b11461025857600080fd5b806306fdde03146100ac57806354fd4d50146100f65780636d61fe70146101245780637065cb48146101465780638a91b0e314610166578063ccfdec8c14610186575b600080fd5b3480156100b857600080fd5b5060408051808201909152600f81526e27bbb730b13632a2bc32b1baba37b960891b60208201525b6040516100ed9190610aca565b60405180910390f35b34801561010257600080fd5b506040805180820190915260058152640312e302e360dc1b60208201526100e0565b34801561013057600080fd5b5061014461013f366004610b46565b610285565b005b34801561015257600080fd5b50610144610161366004610ba4565b610311565b34801561017257600080fd5b50610144610181366004610b46565b6103c9565b34801561019257600080fd5b506101b36101a1366004610ba4565b60016020526000908152604090205481565b6040519081526020016100ed565b6101446101cf366004610bbf565b6103f5565b3480156101e057600080fd5b506101f46101ef366004610ba4565b6104b8565b60405190151581526020016100ed565b610144610212366004610bbf565b6104e8565b34801561022357600080fd5b506101f4610232366004610c12565b60021490565b34801561024457600080fd5b50610144610253366004610c2b565b61053e565b34801561026457600080fd5b50610278610273366004610ba4565b610573565b6040516100ed9190610c5e565b3360006102956014828587610cab565b61029e91610cd5565b60601c90506102cf600080846001600160a01b03166001600160a01b031681526020019081526020016000206105aa565b6001600160a01b03821660009081526020819052604090206102f19082610607565b506001600160a01b03166000908152600160208190526040909120555050565b3361031b816104b8565b6103485760405163f91bd6f160e01b81526001600160a01b03821660048201526024015b60405180910390fd5b6001600160a01b03821661037a5760405163b20f76e360e01b81526001600160a01b038316600482015260240161033f565b6001600160a01b038116600090815260208190526040902061039c9083610607565b6001600160a01b03811660009081526001602052604081208054916103c083610d20565b91905055505050565b3360009081526020819052604090206103e1906106dd565b505033600090815260016020526040812055565b6001600160a01b03831660009081526020819052604090206104179033610758565b61043457604051631a27eac360e11b815260040160405180910390fd5b826001600160a01b031663d691c96461044b610794565b84846040518463ffffffff1660e01b815260040161046b93929190610d39565b6000604051808303816000875af115801561048a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104b29190810190610db6565b50505050565b6001600160a01b038181166000908152602081815260408083206001845290915281205490911615155b92915050565b6001600160a01b038316600090815260208190526040902061050a9033610758565b61052757604051631a27eac360e11b815260040160405180910390fd5b826001600160a01b031663d691c96461044b6107a7565b3360009081526020819052604090206105589083836107b9565b3360009081526001602052604081208054916103c083610ecd565b6001600160a01b038116600090815260016020818152604080842054918490529092206060926105a3929061088e565b5092915050565b60016000908152602082905260409020546001600160a01b0316156105e2576040516329e42f3360e11b815260040160405180910390fd5b60016000818152602092909252604090912080546001600160a01b0319169091179055565b6001600160a01b038116158061062657506001600160a01b0381166001145b1561064f57604051637c84ecfb60e01b81526001600160a01b038216600482015260240161033f565b6001600160a01b03818116600090815260208490526040902054161561069357604051631034f46960e21b81526001600160a01b038216600482015260240161033f565b60016000818152602093909352604080842080546001600160a01b039485168087529286208054959091166001600160a01b03199586161790559190935280549091169091179055565b60016000908152602082905260409020546001600160a01b03165b6001600160a01b03811615610736576001600160a01b03908116600090815260208390526040902080546001600160a01b03198116909155166106f8565b50600160009081526020919091526040902080546001600160a01b0319169055565b600060016001600160a01b0383161480159061078d57506001600160a01b038281166000908152602085905260409020541615155b9392505050565b60006107a281808080610a3b565b905090565b60006107a2600160f81b828080610a3b565b6001600160a01b03811615806107d857506001600160a01b0381166001145b1561080157604051637c84ecfb60e01b81526001600160a01b038316600482015260240161033f565b6001600160a01b0382811660009081526020859052604090205481169082161461084957604051637c84ecfb60e01b81526001600160a01b038216600482015260240161033f565b6001600160a01b0390811660008181526020949094526040808520805494841686529085208054949093166001600160a01b0319948516179092559092528154169055565b606060006001600160a01b0384166001148015906108b357506108b18585610758565b155b156108dc57604051637c84ecfb60e01b81526001600160a01b038516600482015260240161033f565b826000036108fd5760405163f725081760e01b815260040160405180910390fd5b8267ffffffffffffffff81111561091657610916610d6f565b60405190808252806020026020018201604052801561093f578160200160208202803683370190505b506001600160a01b03808616600090815260208890526040812054929450911691505b6001600160a01b0382161580159061098457506001600160a01b038216600114155b801561098f57508381105b156109e957818382815181106109a7576109a7610ee4565b6001600160a01b0392831660209182029290920181019190915292811660009081529287905260409092205490911690806109e181610d20565b915050610962565b6001600160a01b038216600114801590610a035750600081115b15610a2f5782610a14600183610efa565b81518110610a2457610a24610ee4565b602002602001015191505b80835250935093915050565b604080516001600160f81b03198087166020830152851660218201526000602282018190526001600160e01b03198516602683015269ffffffffffffffffffff198416602a8301529101604051602081830303815290604052610a9d90610f0d565b95945050505050565b60005b83811015610ac1578181015183820152602001610aa9565b50506000910152565b6020815260008251806020840152610ae9816040850160208701610aa6565b601f01601f19169190910160400192915050565b60008083601f840112610b0f57600080fd5b50813567ffffffffffffffff811115610b2757600080fd5b602083019150836020828501011115610b3f57600080fd5b9250929050565b60008060208385031215610b5957600080fd5b823567ffffffffffffffff811115610b7057600080fd5b610b7c85828601610afd565b90969095509350505050565b80356001600160a01b0381168114610b9f57600080fd5b919050565b600060208284031215610bb657600080fd5b61078d82610b88565b600080600060408486031215610bd457600080fd5b610bdd84610b88565b9250602084013567ffffffffffffffff811115610bf957600080fd5b610c0586828701610afd565b9497909650939450505050565b600060208284031215610c2457600080fd5b5035919050565b60008060408385031215610c3e57600080fd5b610c4783610b88565b9150610c5560208401610b88565b90509250929050565b6020808252825182820181905260009190848201906040850190845b81811015610c9f5783516001600160a01b031683529284019291840191600101610c7a565b50909695505050505050565b60008085851115610cbb57600080fd5b83861115610cc857600080fd5b5050820193919092039150565b6bffffffffffffffffffffffff198135818116916014851015610d025780818660140360031b1b83161692505b505092915050565b634e487b7160e01b600052601160045260246000fd5b600060018201610d3257610d32610d0a565b5060010190565b83815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f1916010192915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610dae57610dae610d6f565b604052919050565b60006020808385031215610dc957600080fd5b825167ffffffffffffffff80821115610de157600080fd5b8185019150601f86601f840112610df757600080fd5b825182811115610e0957610e09610d6f565b8060051b610e18868201610d85565b918252848101860191868101908a841115610e3257600080fd5b87870192505b83831015610ebf57825186811115610e505760008081fd5b8701603f81018c13610e625760008081fd5b88810151604088821115610e7857610e78610d6f565b610e89828901601f19168c01610d85565b8281528e82848601011115610e9e5760008081fd5b610ead838d8301848701610aa6565b85525050509187019190870190610e38565b9a9950505050505050505050565b600081610edc57610edc610d0a565b506000190190565b634e487b7160e01b600052603260045260246000fd5b818103818111156104e2576104e2610d0a565b80516020808301519190811015610f2e576000198160200360031b1b821691505b5091905056fea2646970667358221220c65136fce0b201208eef061080f14f2bd4c40a5b6bc536237b6b4ff59f86c2aa64736f6c63430008190033" + +export const ETHERSPOT_BOOTSTRAP_CREATECALL = + "0x4d6f64756c6172457468657273706f7457616c6c65743a437265617465323a73608060405234801561001057600080fd5b5061158c806100206000396000f3fe60806040526004361061007f5760003560e01c8063855713681161004e578063855713681461025a578063b0d691fe14610288578063ea5f61d0146102ab578063eac9b20d146102cb57610086565b80630a664dba146101bb5780635e87556d146101ed578063642219af1461021a5780636b0d5cc41461023a57610086565b3661008657005b61009b6000356001600160e01b0319166102f8565b600080356001600160e01b03191681526000805160206115378339815191526020526040902080546001600160a01b03811690600160a01b900460f81b8161010957604051632464e76d60e11b81526001600160e01b03196000351660048201526024015b60405180910390fd5b61011781607f60f91b6103ac565b1561016b5760408051368101909152366000823760408051601481019091523360601b90526000803660140183865afa90506101593d60408051918201905290565b3d6000823e81610167573d81fd5b3d81f35b6101768160006103ac565b156101b95760408051368101909152366000823760408051601481019091523360601b9052600080366014018382875af190506101593d60408051918201905290565b005b3480156101c757600080fd5b506101d06103c3565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101f957600080fd5b5061020d610208366004610fab565b6103f2565b6040516101e491906110b8565b34801561022657600080fd5b506101b9610235366004610fab565b61047b565b34801561024657600080fd5b506101b96102553660046110e3565b6106c7565b34801561026657600080fd5b5061027a610275366004611168565b6106d7565b6040516101e4929190611194565b34801561029457600080fd5b506f71727de22e5e9d8baf0edac6f37da0326101d0565b3480156102b757600080fd5b5061027a6102c6366004611168565b610714565b3480156102d757600080fd5b506102eb6102e63660046111f7565b610744565b6040516101e49190611221565b6001600160e01b031981166000908152600080516020611537833981519152602090815260408083206001018054825181850281018501909352808352919290919083018282801561037357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610355575b505050505090506103848133610817565b15156000036103a8576040516332cf492b60e11b8152336004820152602401610100565b5050565b6001600160f81b0319828116908216145b92915050565b60006103ed7f36e05829dd1b9a4411d96a3549582172d7f071c1c0db5c573fcf94eb284316085490565b905090565b606030306001600160a01b031663642219af8a8a8a8a8a8a8a60405160240161042197969594939291906113a6565b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505060405160200161045f929190611404565b6040516020818303038152906040529050979650505050505050565b60005b868110156104fa576104f288888381811061049b5761049b611430565b90506020028101906104ad9190611446565b6104bb906020810190611466565b8989848181106104cd576104cd611430565b90506020028101906104df9190611446565b6104ed906020810190611483565b61082d565b60010161047e565b5060005b848110156105bc57600086868381811061051a5761051a611430565b905060200281019061052c9190611446565b61053a906020810190611466565b6001600160a01b0316146105b4576105b486868381811061055d5761055d611430565b905060200281019061056f9190611446565b61057d906020810190611466565b87878481811061058f5761058f611430565b90506020028101906105a19190611446565b6105af906020810190611483565b6108b4565b6001016104fe565b5060006105cc6020850185611466565b6001600160a01b0316146105fc576105fc6105ea6020850185611466565b6105f76020860186611483565b6108df565b60005b818110156106bd57600083838381811061061b5761061b611430565b905060200281019061062d9190611446565b61063b906020810190611466565b6001600160a01b0316146106b5576106b583838381811061065e5761065e611430565b90506020028101906106709190611446565b61067e906020810190611466565b84848481811061069057610690611430565b90506020028101906106a29190611446565b6106b0906020810190611483565b610966565b6001016105ff565b5050505050505050565b6106d283838361082d565b505050565b606060007ff88ce1fdb7fb1cbd3282e49729100fa3f2d6ee9f797961fe4fb1871cea89ea02610707818686610bd7565b92509250505b9250929050565b606060007ff88ce1fdb7fb1cbd3282e49729100fa3f2d6ee9f797961fe4fb1871cea89ea03610707818686610bd7565b6040805160608082018352600080835260208084018290528385018390526001600160e01b0319861682526000805160206115378339815191528152908490208451928301855280546001600160a01b0381168452600160a01b900460f81b6001600160f81b03191683830152600181018054865181850281018501885281815295969495929486019383018282801561080757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116107e9575b5050505050815250509050919050565b6000806108248484610d74565b95945050505050565b7ff88ce1fdb7fb1cbd3282e49729100fa3f2d6ee9f797961fe4fb1871cea89ea026108588185610dda565b6040516306d61fe760e41b81526001600160a01b03851690636d61fe709061088690869086906004016114ca565b600060405180830381600087803b1580156108a057600080fd5b505af11580156106bd573d6000803e3d6000fd5b7ff88ce1fdb7fb1cbd3282e49729100fa3f2d6ee9f797961fe4fb1871cea89ea036108588185610dda565b60006109097f36e05829dd1b9a4411d96a3549582172d7f071c1c0db5c573fcf94eb284316085490565b90506001600160a01b0381161561093e5760405163741cbe0360e01b81526001600160a01b0382166004820152602401610100565b610858847f36e05829dd1b9a4411d96a3549582172d7f071c1c0db5c573fcf94eb2843160855565b600082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051818a01356020818102601f01601f19168301909352969750893596918a018035965090945060609350915b818110156109e8576020810283810160600135908601526001016109c9565b505060408101356020818301033560608181528183850160208301379350610a1e92508591506001600160f81b031990506103ac565b15610a3c57604051633accf26360e11b815260040160405180910390fd5b6001600160e01b03198416600090815260008051602061153783398151915260205260409020546001600160a01b031615610ab95760405162461bcd60e51b815260206004820152601e60248201527f46756e6374696f6e2073656c6563746f7220616c7265616479207573656400006044820152606401610100565b604080516060810182526001600160a01b038a1681526001600160f81b0319851660208201529081018390527ff88ce1fdb7fb1cbd3282e49729100fa3f2d6ee9f797961fe4fb1871cea89ea026001600160e01b0319861660009081526002919091016020908152604091829020835181548584015160f81c600160a01b026001600160a81b03199091166001600160a01b0390921691909117178155918301518051610b6c9260018501920190610eec565b50506040516306d61fe760e41b81526001600160a01b038a169150636d61fe7090610b9b9084906004016110b8565b600060405180830381600087803b158015610bb557600080fd5b505af1158015610bc9573d6000803e3d6000fd5b505050505050505050505050565b606060006001600160a01b038416600114801590610bfa5750610bfa8585610eb0565b15610c2357604051637c84ecfb60e01b81526001600160a01b0385166004820152602401610100565b82600003610c445760405163f725081760e01b815260040160405180910390fd5b8267ffffffffffffffff811115610c5d57610c5d6114de565b604051908082528060200260200182016040528015610c86578160200160208202803683370190505b506001600160a01b03808616600090815260208890526040812054929450911691505b6001600160a01b03821615801590610ccb57506001600160a01b038216600114155b8015610cd657508381105b15610d305781838281518110610cee57610cee611430565b6001600160a01b039283166020918202929092018101919091529281166000908152928790526040909220549091169080610d288161150a565b915050610ca9565b6001600160a01b038216600114610d685782610d4d600183611523565b81518110610d5d57610d5d611430565b602002602001015191505b80835250935093915050565b81516000908190815b81811015610dcc57846001600160a01b0316868281518110610da157610da1611430565b60200260200101516001600160a01b031603610dc45792506001915061070d9050565b600101610d7d565b506000958695509350505050565b6001600160a01b0381161580610df957506001600160a01b0381166001145b15610e2257604051637c84ecfb60e01b81526001600160a01b0382166004820152602401610100565b6001600160a01b038181166000908152602084905260409020541615610e6657604051631034f46960e21b81526001600160a01b0382166004820152602401610100565b60016000818152602093909352604080842080546001600160a01b039485168087529286208054959091166001600160a01b03199586161790559190935280549091169091179055565b600060016001600160a01b03831614801590610ee557506001600160a01b038281166000908152602085905260409020541615155b9392505050565b828054828255906000526020600020908101928215610f41579160200282015b82811115610f4157825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190610f0c565b50610f4d929150610f51565b5090565b5b80821115610f4d5760008155600101610f52565b60008083601f840112610f7857600080fd5b50813567ffffffffffffffff811115610f9057600080fd5b6020830191508360208260051b850101111561070d57600080fd5b60008060008060008060006080888a031215610fc657600080fd5b873567ffffffffffffffff80821115610fde57600080fd5b610fea8b838c01610f66565b909950975060208a013591508082111561100357600080fd5b61100f8b838c01610f66565b909750955060408a013591508082111561102857600080fd5b908901906040828c03121561103c57600080fd5b9093506060890135908082111561105257600080fd5b5061105f8a828b01610f66565b989b979a50959850939692959293505050565b6000815180845260005b818110156110985760208185018101518683018201520161107c565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610ee56020830184611072565b6001600160a01b03811681146110e057600080fd5b50565b6000806000604084860312156110f857600080fd5b8335611103816110cb565b9250602084013567ffffffffffffffff8082111561112057600080fd5b818601915086601f83011261113457600080fd5b81358181111561114357600080fd5b87602082850101111561115557600080fd5b6020830194508093505050509250925092565b6000806040838503121561117b57600080fd5b8235611186816110cb565b946020939093013593505050565b604080825283519082018190526000906020906060840190828701845b828110156111d65781516001600160a01b0316845292840192908401906001016111b1565b5050506001600160a01b039490941660209390930192909252509092915050565b60006020828403121561120957600080fd5b81356001600160e01b031981168114610ee557600080fd5b602080825282516001600160a01b0390811683830152838201516001600160f81b031916604080850191909152840151606080850152805160808501819052600093929183019190849060a08701905b8083101561129357845184168252938501936001929092019190850190611271565b50979650505050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600081356112d5816110cb565b6001600160a01b03168352602082013536839003601e190181126112f857600080fd5b820160208101903567ffffffffffffffff81111561131557600080fd5b80360382131561132457600080fd5b6040602086015261082460408601828461129f565b6000838385526020808601955060208560051b830101846000805b8881101561139857858403601f19018a52823536899003603e19018112611379578283fd5b611385858a83016112c8565b9a86019a94505091840191600101611354565b509198975050505050505050565b6080815260006113ba60808301898b611339565b82810360208401526113cd81888a611339565b905082810360408401526113e181876112c8565b905082810360608401526113f6818587611339565b9a9950505050505050505050565b6001600160a01b038316815260406020820181905260009061142890830184611072565b949350505050565b634e487b7160e01b600052603260045260246000fd5b60008235603e1983360301811261145c57600080fd5b9190910192915050565b60006020828403121561147857600080fd5b8135610ee5816110cb565b6000808335601e1984360301811261149a57600080fd5b83018035915067ffffffffffffffff8211156114b557600080fd5b60200191503681900382131561070d57600080fd5b60208152600061142860208301848661129f565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161151c5761151c6114f4565b5060010190565b818103818111156103bd576103bd6114f456fef88ce1fdb7fb1cbd3282e49729100fa3f2d6ee9f797961fe4fb1871cea89ea04a2646970667358221220876ac0e3ce11f73be9184d4db171ae8b1071fbe27610263c00fe879ede1ae83264736f6c63430008170033" + +export const ETHERSPOT_IMPLEMENTATION = + "0x4d6f64756c6172457468657273706f7457616c6c65743a437265617465323a7360a06040523060805234801561001457600080fd5b506080516140dd610037600039600081816104ca0152610d7401526140dd6000f3fe6080604052600436106101f25760003560e01c80637dcab4ce1161010d578063bf57159b116100a0578063d691c9641161006f578063d691c964146106de578063e9ae5c53146106fe578063ea5f61d014610711578063eac9b20d14610731578063f2dc691d1461075e576101f9565b8063bf57159b14610662578063c3db883814610678578063c7f758a81461068d578063d03c7914146106be576101f9565b8063a1c0d459116100dc578063a1c0d459146105ec578063a526d83b1461060c578063a71763a81461062c578063b0d691fe1461063f576101f9565b80637dcab4ce1461053f578063855713681461055f5780639517e29f1461058d5780639cfd7cff146105a0576101f9565b80632f54bf6e116101855780635c60da1b116101545780635c60da1b146104b85780637065cb48146104ec578063714041561461050c57806372aea6541461052c576101f9565b80632f54bf6e1461045a57806341c9ddff1461047a5780634b6a14191461048f57806354387ad7146104a2576101f9565b80631626ba7e116101c15780631626ba7e146103d8578063173825d91461041157806319822f7c146104315780632dfca44514610444576101f9565b80630a664dba146103325780630c68ba21146103645780630db0262214610394578063112d3a7d146103b8576101f9565b366101f957005b61020e6000356001600160e01b03191661077e565b6000610218610831565b600080356001600160e01b03191681526002919091016020526040902080549091506001600160a01b03811690600160a01b900460f81b8161028057604051632464e76d60e11b81526001600160e01b03196000351660048201526024015b60405180910390fd5b61028e81607f60f91b610855565b156102e25760408051368101909152366000823760408051601481019091523360601b90526000803660140183865afa90506102d03d60408051918201905290565b3d6000823e816102de573d81fd5b3d81f35b6102ed816000610855565b156103305760408051368101909152366000823760408051601481019091523360601b9052600080366014018382875af190506102d03d60408051918201905290565b005b34801561033e57600080fd5b5061034761086c565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561037057600080fd5b5061038461037f366004613617565b610889565b604051901515815260200161035b565b3480156103a057600080fd5b506103aa60005481565b60405190815260200161035b565b3480156103c457600080fd5b506103846103d3366004613675565b6108a7565b3480156103e457600080fd5b506103f86103f33660046136d0565b61090c565b6040516001600160e01b0319909116815260200161035b565b34801561041d57600080fd5b5061033061042c366004613617565b6109e2565b6103aa61043f366004613734565b610aa9565b34801561045057600080fd5b506103aa60025481565b34801561046657600080fd5b50610384610475366004613617565b610b8f565b34801561048657600080fd5b50610330610bad565b61033061049d366004613781565b610d6a565b3480156104ae57600080fd5b506103aa60015481565b3480156104c457600080fd5b506103477f000000000000000000000000000000000000000000000000000000000000000081565b3480156104f857600080fd5b50610330610507366004613617565b610e5e565b34801561051857600080fd5b50610330610527366004613617565b610f1c565b61033061053a3660046137c2565b610fb9565b34801561054b57600080fd5b5061033061055a366004613617565b611099565b34801561056b57600080fd5b5061057f61057a3660046137f6565b61125e565b60405161035b929190613867565b61033061059b366004613675565b611285565b3480156105ac57600080fd5b50604080518082018252601e81527f657468657273706f7477616c6c65742e6d6f64756c61722e76312e302e3000006020820152905161035b91906138e1565b3480156105f857600080fd5b506103306106073660046138f4565b611374565b34801561061857600080fd5b50610330610627366004613617565b6113a9565b61033061063a366004613675565b611467565b34801561064b57600080fd5b506f71727de22e5e9d8baf0edac6f37da032610347565b34801561066e57600080fd5b506103aa60035481565b34801561068457600080fd5b50610330611530565b34801561069957600080fd5b506106ad6106a83660046138f4565b611673565b60405161035b95949392919061390d565b3480156106ca57600080fd5b506103846106d93660046138f4565b61177d565b6106f16106ec3660046136d0565b61181c565b60405161035b9190613948565b61033061070c3660046136d0565b611e73565b34801561071d57600080fd5b5061057f61072c3660046137f6565b6122e8565b34801561073d57600080fd5b5061075161074c3660046139c2565b612305565b60405161035b91906139df565b34801561076a57600080fd5b506103846107793660046138f4565b6123dd565b6000610788610831565b6001600160e01b0319831660009081526002919091016020908152604091829020600101805483518184028101840190945280845290918301828280156107f857602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116107da575b50505050509050610809813361242c565b151560000361082d576040516332cf492b60e11b8152336004820152602401610277565b5050565b7ff88ce1fdb7fb1cbd3282e49729100fa3f2d6ee9f797961fe4fb1871cea89ea0290565b6001600160f81b0319828116908216145b92915050565b60006108846000805160206140888339815191525490565b905090565b6001600160a01b031660009081526005602052604090205460ff1690565b6000600185036108c1576108ba84612439565b9050610904565b600285036108d2576108ba84612457565b600385036108ef576108ba6108e9838501856139c2565b85612471565b60048503610900576108ba846124af565b5060005b949350505050565b60008061091c6014828587613a5d565b61092591613a87565b60601c905061093381612439565b61095b57604051635c93ff2f60e11b81526001600160a01b0382166004820152602401610277565b6001600160a01b03811663f551e2ee3387610979876014818b613a5d565b6040518563ffffffff1660e01b81526004016109989493929190613ae3565b602060405180830381865afa1580156109b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d99190613b15565b95945050505050565b6109eb33610b8f565b806109f557503330145b610a12576040516311d9f09160e01b815260040160405180910390fd5b610a1b81610b8f565b610a385760405163f1369ccb60e01b815260040160405180910390fd5b600160005411610a5b5760405163021870b960e11b815260040160405180910390fd5b610a64816124e1565b604080513081526001600160a01b03831660208201527fe594d081b4382713733fe631966432c9cea5199afb2db5c3c1931f9f9300367991015b60405180910390a150565b6000336f71727de22e5e9d8baf0edac6f37da03214610adb57604051635629665f60e11b815260040160405180910390fd5b816020850135606081901c90610af082612439565b610aff57600193505050610b75565b604051639700320360e01b81526001600160a01b03831690639700320390610b2d908a908a90600401613b77565b6020604051808303816000875af1158015610b4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b709190613c76565b935050505b8015610b875760003860003884335af1505b509392505050565b6001600160a01b031660009081526004602052604090205460ff1690565b610bb633610889565b610bd357604051636570ecab60e11b815260040160405180910390fd5b600254600081815260066020526040812090829003610c0557604051631dc0650160e31b815260040160405180910390fd5b610c0e82612516565b15610c2c576040516320181a3560e21b815260040160405180910390fd5b610c4e600254600090815260066020526040902054600160a01b900460ff1690565b15610c6c57604051638b19dbcb60e01b815260040160405180910390fd5b60008281526006602090815260408220600180820180549182018155845291832090910180546001600160a01b03191633179055838252600201805491610cb283613ca5565b909155505080546001600160a01b0316610ccb8361258d565b15610cfd576000838152600660205260409020805460ff60a01b1916600160a01b179055610cf8816125c7565b505050565b6000838152600660209081526040918290206002015482513081529182018690526001600160a01b0384169282019290925260608101919091527f7afa94f51443879f537b9be4f09d5d734c2c233b788d2f6af6565add34706bab906080015b60405180910390a1505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610db3576040516308e3edd160e41b815260040160405180910390fd5b610dbb6125f7565b60008080610dcb84860186613d81565b925092509250610dda836125c7565b6000826001600160a01b031682604051610df49190613de2565b600060405180830381855af49150503d8060008114610e2f576040519150601f19603f3d011682016040523d82523d6000602084013e610e34565b606091505b5050905080610e5657604051631b79777760e11b815260040160405180910390fd5b505050505050565b610e6733610b8f565b80610e7157503330145b610e8e576040516311d9f09160e01b815260040160405180910390fd5b6001600160a01b0381161580610ea85750610ea881610889565b80610eb75750610eb781610b8f565b15610ed557604051631a1aefc560e21b815260040160405180910390fd5b610ede816125c7565b604080513081526001600160a01b03831660208201527fc82bdbbf677a2462f2a7e22e4ba9abd209496b69cd7b868b3b1d28f76e09a40a9101610a9e565b610f2533610b8f565b80610f2f57503330145b610f4c576040516311d9f09160e01b815260040160405180910390fd5b610f5581610889565b610f725760405163985f453960e01b815260040160405180910390fd5b610f7b8161261b565b604080513081526001600160a01b03831660208201527fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b9101610a9e565b336f71727de22e5e9d8baf0edac6f37da0321480610fd657503330145b610ff357604051635629665f60e11b815260040160405180910390fd5b3660006110036060840184613dfe565b611011916004908290613a5d565b915091506000306001600160a01b03168383604051611031929190613e44565b600060405180830381855af49150503d806000811461106c576040519150601f19603f3d011682016040523d82523d6000602084013e611071565b606091505b505090508061109357604051632b3f6d1160e21b815260040160405180910390fd5b50505050565b6110a233610889565b6110bf57604051636570ecab60e11b815260040160405180910390fd5b6001600160a01b03811615806110d957506110d981610889565b806110e857506110e881610b8f565b1561110657604051631a1aefc560e21b815260040160405180910390fd5b6003600154101561112a57604051636bb07db960e11b815260040160405180910390fd5b600254600090815260066020526040902060018101541580159061115757508054600160a01b900460ff16155b1561117557604051639fa6dc5760e01b815260040160405180910390fd5b600060025460016111869190613e54565b6000818152600660209081526040822080546001600160a01b0388166001600160a01b03199182161782556001808301805491820181558552928420909201805490921633179091558282526002018054929350906111e483613ca5565b9091555050600081815260066020908152604091829020805460ff60a01b1916815542600390910155600283905581513081529081018390526001600160a01b038516918101919091523360608201527f9fb4a8d051aad8866705f4d52eb05a29939e15ad43dd4aab82cf31806759eac390608001610d5d565b606060008061126b610831565b905061127881868661267c565b92509250505b9250929050565b336f71727de22e5e9d8baf0edac6f37da03214806112a257503330145b6112bf57604051635629665f60e11b815260040160405180910390fd5b600184036112d7576112d2838383612818565b61132c565b600284036112ea576112d2838383612894565b600384036112fd576112d28383836128ad565b60048403611310576112d2838383612ade565b60405163041c38b360e41b815260048101859052602401610277565b604080518581526001600160a01b03851660208201527fd21d0b289f126c4b473ea641963e766833c2f13866e4ff480abd787c100ef12391015b60405180910390a150505050565b61137d33610b8f565b8061138757503330145b6113a4576040516311d9f09160e01b815260040160405180910390fd5b600355565b6113b233610b8f565b806113bc57503330145b6113d9576040516311d9f09160e01b815260040160405180910390fd5b6001600160a01b03811615806113f357506113f381610889565b80611402575061140281610b8f565b156114205760405163053bd11560e31b815260040160405180910390fd5b61142981612b41565b604080513081526001600160a01b03831660208201527fbc3292102fa77e083913064b282926717cdfaede4d35f553d66366c0a3da755a9101610a9e565b336f71727de22e5e9d8baf0edac6f37da032148061148457503330145b6114a157604051635629665f60e11b815260040160405180910390fd5b600184036114b9576114b4838383612b73565b6114f2565b600284036114cc576114b4838383612c04565b600384036114df576114b4838383612c22565b60048403611310576114b4838383612eff565b604080518581526001600160a01b03851660208201527f341347516a9de374859dfda710fa4828b2d48cb57d4fbe4c1149612b8e02276e9101611366565b61153933610b8f565b80611548575061154833610889565b8061155257503330145b61156f576040516302d8be6160e21b815260040160405180910390fd5b60025460009081526006602052604081206003549091901561159357600354611598565b620151805b90506115bc600254600090815260066020526040902054600160a01b900460ff1690565b156115da57604051638b19dbcb60e01b815260040160405180910390fd5b60006115e533610889565b90508080156116035750428284600301546116009190613e54565b10155b156116215760405163ae18e9c760e01b815260040160405180910390fd5b825460ff60a01b1916600160a01b17835560025460408051308152602081019290925233908201527faf7f1090397448391393dc134b45d6d20e79a9d2a8f5a82fb42d1514a55ecbf990606001610d5d565b60008060608180851580611688575060025486115b156116a657604051631dc0650160e31b815260040160405180910390fd5b6000868152600660209081526040808320815160a08101835281546001600160a01b0381168252600160a01b900460ff1615158185015260018201805484518187028101870186528181529295939486019383018282801561173157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611713575b5050505050815260200160028201548152602001600382015481525050905080600001518160600151826040015183602001518460800151955095509550955095505091939590929450565b600081600881901b61179382600160f81b610855565b156117a157600192506117e4565b6117ac826000610855565b156117ba57600192506117e4565b6117cc826001600160f81b0319610855565b156117da57600192506117e4565b5060009392505050565b6117ef816000610855565b156117fd5760019250611815565b61180b81600160f81b610855565b156117da57600192505b5050919050565b60606000611828610831565b60010190506118378133612f7b565b61185657604051635c93ff2f60e11b8152336004820152602401610277565b600061186e6000805160206140888339815191525490565b90506001600160a01b038116611b2e5785600881901b61189282600160f81b610855565b1561190157863587016020810190356118ac836000610855565b156118c2576118bb8282612fb5565b96506118fa565b6118d083600160f81b610855565b156118df576118bb828261308d565b826040516308c3ee0360e11b81526004016102779190613e67565b5050611b27565b61190c826000610855565b15611a5a576000803660006119218b8b6131ba565b6040805160018082528183019092529498509296509094509250816020015b606081526020019060019003908161194057905050985060006119638682610855565b15611997576119748585858561320b565b8a60008151811061198757611987613e7c565b6020026020010181905250611a50565b6119a586600160f81b610855565b15611a35576119b685858585613241565b8b6000815181106119c9576119c9613e7c565b6020908102919091010152905080611a30577fe723f28f104e46b47fd3531f3608374ac226bcf3ddda334a23a266453e0efdb760008b600081518110611a1157611a11613e7c565b6020026020010151604051611a27929190613e92565b60405180910390a15b611a50565b856040516308c3ee0360e11b81526004016102779190613e67565b5050505050611b27565b611a6c826001600160f81b0319610855565b15611b0c576000611a80601482898b613a5d565b611a8991613a87565b60601c9050366000611a9e896014818d613a5d565b9092509050611aae846000610855565b15611ac457611abe838383613272565b50611b04565b611ad284600160f81b610855565b15611ae957611ae28383836132a6565b5050611b04565b836040516308c3ee0360e11b81526004016102779190613e67565b505050611b27565b81604051632e5bf3f960e21b81526004016102779190613e67565b5050611e6a565b604051631057c74d60e11b81526000906001600160a01b038316906320af8e9a90611b6190339085903690600401613eab565b6000604051808303816000875af1158015611b80573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611ba89190810190613ed0565b905086600881901b611bbe82600160f81b610855565b15611c125787358801602081019035611bd8836000610855565b15611bee57611be78282612fb5565b9750611c0b565b611bfc83600160f81b610855565b156118df57611be7828261308d565b5050611dda565b611c1d826000610855565b15611d4b57600080366000611c328c8c6131ba565b6040805160018082528183019092529498509296509094509250816020015b6060815260200190600190039081611c515790505099506000611c748682610855565b15611ca857611c858585858561320b565b8b600081518110611c9857611c98613e7c565b6020026020010181905250611d41565b611cb686600160f81b610855565b15611a3557611cc785858585613241565b8c600081518110611cda57611cda613e7c565b6020908102919091010152905080611d41577fe723f28f104e46b47fd3531f3608374ac226bcf3ddda334a23a266453e0efdb760008c600081518110611d2257611d22613e7c565b6020026020010151604051611d38929190613e92565b60405180910390a15b5050505050611dda565b611d5d826001600160f81b0319610855565b15611b0c576000611d716014828a8c613a5d565b611d7a91613a87565b60601c9050366000611d8f8a6014818e613a5d565b9092509050611d9f846000610855565b15611db557611daf838383613272565b50611dd6565b611dc384600160f81b610855565b15611ae957611dd38383836132a6565b50505b5050505b5050604051630b9dfbed60e11b81526001600160a01b0383169063173bf7da90611e089084906004016138e1565b6020604051808303816000875af1158015611e27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e4b9190613f3d565b611e685760405163546b3e6360e01b815260040160405180910390fd5b505b50509392505050565b336f71727de22e5e9d8baf0edac6f37da0321480611e9057503330145b611ead57604051635629665f60e11b815260040160405180910390fd5b6000611ec56000805160206140888339815191525490565b90506001600160a01b0381166120695783600881901b611ee982600160f81b610855565b15611f3c5784358501602081019035611f03836000610855565b15611f1857611f128282612fb5565b50611f35565b611f2683600160f81b610855565b156118df57611f12828261308d565b5050612062565b611f47826000610855565b15611fd357600080366000611f5c89896131ba565b9350935093509350611f7285600060f81b610855565b15611f8957611f838484848461320b565b50611fca565b611f9785600160f81b610855565b15611faf57611fa884848484613241565b5050611fca565b846040516308c3ee0360e11b81526004016102779190613e67565b50505050612062565b611fe5826001600160f81b0319610855565b15611b0c576000611ff96014828789613a5d565b61200291613a87565b60601c9050366000612017876014818b613a5d565b9092509050612027846000610855565b1561203d57612037838383613272565b5061205e565b61204b84600160f81b610855565b15611ae95761205b8383836132a6565b50505b5050505b5050611093565b604051631057c74d60e11b81526000906001600160a01b038316906320af8e9a9061209c90339085903690600401613eab565b6000604051808303816000875af11580156120bb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526120e39190810190613ed0565b905084600881901b6120f982600160f81b610855565b1561214c5785358601602081019035612113836000610855565b15612128576121228282612fb5565b50612145565b61213683600160f81b610855565b156118df57612122828261308d565b5050612253565b612157826000610855565b156121c45760008036600061216c8a8a6131ba565b935093509350935061218285600060f81b610855565b15612199576121938484848461320b565b506121bb565b6121a785600160f81b610855565b15611faf576121b884848484613241565b50505b50505050612253565b6121d6826001600160f81b0319610855565b15611b0c5760006121ea601482888a613a5d565b6121f391613a87565b60601c9050366000612208886014818c613a5d565b9092509050612218846000610855565b1561222e57612228838383613272565b5061224f565b61223c84600160f81b610855565b15611ae95761224c8383836132a6565b50505b5050505b5050604051630b9dfbed60e11b81526001600160a01b0383169063173bf7da906122819084906004016138e1565b6020604051808303816000875af11580156122a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122c49190613f3d565b6122e15760405163546b3e6360e01b815260040160405180910390fd5b5050505050565b60606000806122f5610831565b600101905061127881868661267c565b60408051606080820183526000808352602083015291810191909152612329610831565b6001600160e01b0319831660009081526002919091016020908152604091829020825160608101845281546001600160a01b0381168252600160a01b900460f81b6001600160f81b03191681840152600182018054855181860281018601875281815292959394938601938301828280156123cd57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116123af575b5050505050815250509050919050565b6000600182036123ef57506001919050565b600282036123ff57506001919050565b6003820361240f57506001919050565b6004820361241f57506001919050565b506000919050565b919050565b6000806109d984846132d5565b600080612444610831565b90506124508184612f7b565b9392505050565b600080612462610831565b60010190506124508184612f7b565b60008061247c610831565b6001600160e01b0319949094166000908152600290940160205250506040909120546001600160a01b0390811691161490565b6000816001600160a01b03166124d16000805160206140888339815191525490565b6001600160a01b03161492915050565b6001600160a01b0381166000908152600460205260408120805460ff191690558054908061250e83613f5f565b919050555050565b6000805b60008381526006602052604090206001015481101561258457600083815260066020526040902060010180543391908390811061255957612559613e7c565b6000918252602090912001546001600160a01b03160361257c5750600192915050565b60010161251a565b50600092915050565b6001546000828152600660205260408120600201549091610258916125b5906103e890613f76565b6125bf9190613f8d565b101592915050565b6001600160a01b0381166000908152600460205260408120805460ff191660011790558054908061250e83613ca5565b6000612601610831565b905061260f8160010161333b565b6126188161333b565b50565b6001600160a01b0381166000908152600560205260408120805460ff19169055600180549161264983613f5f565b9190505550612670600254600090815260066020526040902054600160a01b900460ff1690565b61261857612618611530565b606060006001600160a01b03841660011480159061269f575061269f8585612f7b565b156126c857604051637c84ecfb60e01b81526001600160a01b0385166004820152602401610277565b826000036126e95760405163f725081760e01b815260040160405180910390fd5b826001600160401b0381111561270157612701613cbe565b60405190808252806020026020018201604052801561272a578160200160208202803683370190505b506001600160a01b03808616600090815260208890526040812054929450911691505b6001600160a01b0382161580159061276f57506001600160a01b038216600114155b801561277a57508381105b156127d4578183828151811061279257612792613e7c565b6001600160a01b0392831660209182029290920181019190915292811660009081529287905260409092205490911690806127cc81613ca5565b91505061274d565b6001600160a01b03821660011461280c57826127f1600183613faf565b8151811061280157612801613e7c565b602002602001015191505b80835250935093915050565b6000612822610831565b905061282e8185613398565b6040516306d61fe760e41b81526001600160a01b03851690636d61fe709061285c9086908690600401613fc2565b600060405180830381600087803b15801561287657600080fd5b505af115801561288a573d6000803e3d6000fd5b5050505050505050565b600061289e610831565b600101905061282e8185613398565b600082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051818a01356020818102601f01601f19168301909352969750893596918a018035965090945060609350915b8181101561292f57602081028381016060013590860152600101612910565b50506040810135602081830103356060818152818385016020830137935061296592508591506001600160f81b03199050610855565b1561298357604051633accf26360e11b815260040160405180910390fd5b61298c8461346e565b156129d95760405162461bcd60e51b815260206004820152601e60248201527f46756e6374696f6e2073656c6563746f7220616c7265616479207573656400006044820152606401610277565b604080516060810182526001600160a01b038a1681526001600160f81b031985166020820152908101839052612a0d610831565b6001600160e01b0319861660009081526002919091016020908152604091829020835181548584015160f81c600160a01b026001600160a81b03199091166001600160a01b0390921691909117178155918301518051612a73926001850192019061357d565b50506040516306d61fe760e41b81526001600160a01b038a169150636d61fe7090612aa29084906004016138e1565b600060405180830381600087803b158015612abc57600080fd5b505af1158015612ad0573d6000803e3d6000fd5b505050505050505050505050565b6000612af66000805160206140888339815191525490565b90506001600160a01b03811615612b2b5760405163741cbe0360e01b81526001600160a01b0382166004820152602401610277565b61282e8460008051602061408883398151915255565b6001600160a01b0381166000908152600560205260408120805460ff1916600190811790915580549161264983613ca5565b6000612b7d610831565b9050600080612b8e84860186613fd6565b9092509050612b9e8383886134a8565b604051638a91b0e360e01b81526001600160a01b03871690638a91b0e390612bca9084906004016138e1565b600060405180830381600087803b158015612be457600080fd5b505af1158015612bf8573d6000803e3d6000fd5b50505050505050505050565b6000612c0e610831565b6001019050600080612b8e84860186613fd6565b6000612c316004828486613a5d565b612c3a91614025565b90506000612c4b8360048187613a5d565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929350612c8e925084915061346e9050565b612cda5760405162461bcd60e51b815260206004820152601a60248201527f46756e6374696f6e2073656c6563746f72206e6f7420757365640000000000006044820152606401610277565b6000612ce4610831565b6001600160e01b0319841660009081526002919091016020908152604091829020825160608101845281546001600160a01b0381168252600160a01b900460f81b6001600160f81b0319168184015260018201805485518186028101860187528181529295939493860193830182828015612d8857602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612d6a575b5050505050815250509050856001600160a01b031681600001516001600160a01b031614612e0b5760405162461bcd60e51b815260206004820152602a60248201527f46756e6374696f6e2073656c6563746f72206e6f74207573656420627920746860448201526934b9903430b7323632b960b11b6064820152608401610277565b6020810151612e22816001600160f81b0319610855565b15612e4057604051633accf26360e11b815260040160405180910390fd5b60408051600080825260808201835260208201818152928201526060810181905290612e6a610831565b6001600160e01b0319871660009081526002919091016020908152604091829020835181548584015160f81c600160a01b026001600160a81b03199091166001600160a01b0390921691909117178155918301518051612ed0926001850192019061357d565b5050604051638a91b0e360e01b81526001600160a01b038a169150638a91b0e390612aa29087906004016138e1565b612f16600060008051602061408883398151915255565b604051638a91b0e360e01b81526001600160a01b03841690638a91b0e390612f449085908590600401613fc2565b600060405180830381600087803b158015612f5e57600080fd5b505af1158015612f72573d6000803e3d6000fd5b50505050505050565b600060016001600160a01b038316148015906124505750506001600160a01b03908116600090815260209290925260409091205416151590565b606081806001600160401b03811115612fd057612fd0613cbe565b60405190808252806020026020018201604052801561300357816020015b6060815260200190600190039081612fee5790505b50915060005b81811015613085573685858381811061302457613024613e7c565b90506020028101906130369190614053565b905061305f6130486020830183613617565b602083013561305a6040850185613dfe565b61320b565b84838151811061307157613071613e7c565b602090810291909101015250600101613009565b505092915050565b606081806001600160401b038111156130a8576130a8613cbe565b6040519080825280602002602001820160405280156130db57816020015b60608152602001906001900390816130c65790505b50915060005b8181101561308557368585838181106130fc576130fc613e7c565b905060200281019061310e9190614053565b905060006131396131226020840184613617565b60208401356131346040860186613dfe565b613241565b86858151811061314b5761314b613e7c565b60209081029190910101529050806131b0577fe723f28f104e46b47fd3531f3608374ac226bcf3ddda334a23a266453e0efdb78386858151811061319157613191613e7c565b60200260200101516040516131a7929190613e92565b60405180910390a15b50506001016130e1565b60008036816131cc6014828789613a5d565b6131d591613a87565b60601c93506131e8603460148789613a5d565b6131f191614069565b92506132008560348189613a5d565b949793965094505050565b60405181838237600038838387895af1613228573d6000823e3d81fd5b3d8152602081013d6000823e3d01604052949350505050565b604051600090828482376000388483888a5af191503d8152602081013d6000823e3d81016040525094509492505050565b604051818382376000388383875af461328e573d6000823e3d81fd5b3d8152602081013d6000823e3d016040529392505050565b604051600090828482376000388483885af491503d8152602081013d6000823e3d810160405250935093915050565b81516000908190815b8181101561332d57846001600160a01b031686828151811061330257613302613e7c565b60200260200101516001600160a01b0316036133255792506001915061127e9050565b6001016132de565b506000958695509350505050565b60016000908152602082905260409020546001600160a01b031615613373576040516329e42f3360e11b815260040160405180910390fd5b60016000818152602092909252604090912080546001600160a01b0319169091179055565b6001600160a01b03811615806133b757506001600160a01b0381166001145b156133e057604051637c84ecfb60e01b81526001600160a01b0382166004820152602401610277565b6001600160a01b03818116600090815260208490526040902054161561342457604051631034f46960e21b81526001600160a01b0382166004820152602401610277565b60016000818152602093909352604080842080546001600160a01b039485168087529286208054959091166001600160a01b03199586161790559190935280549091169091179055565b600080613479610831565b6001600160e01b03199093166000908152600293909301602052505060409020546001600160a01b0316151590565b6001600160a01b03811615806134c757506001600160a01b0381166001145b156134f057604051637c84ecfb60e01b81526001600160a01b0383166004820152602401610277565b6001600160a01b0382811660009081526020859052604090205481169082161461353857604051637c84ecfb60e01b81526001600160a01b0382166004820152602401610277565b6001600160a01b0390811660008181526020949094526040808520805494841686529085208054949093166001600160a01b0319948516179092559092528154169055565b8280548282559060005260206000209081019282156135d2579160200282015b828111156135d257825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019061359d565b506135de9291506135e2565b5090565b5b808211156135de57600081556001016135e3565b6001600160a01b038116811461261857600080fd5b8035612427816135f7565b60006020828403121561362957600080fd5b8135612450816135f7565b60008083601f84011261364657600080fd5b5081356001600160401b0381111561365d57600080fd5b60208301915083602082850101111561127e57600080fd5b6000806000806060858703121561368b57600080fd5b84359350602085013561369d816135f7565b925060408501356001600160401b038111156136b857600080fd5b6136c487828801613634565b95989497509550505050565b6000806000604084860312156136e557600080fd5b8335925060208401356001600160401b0381111561370257600080fd5b61370e86828701613634565b9497909650939450505050565b6000610120828403121561372e57600080fd5b50919050565b60008060006060848603121561374957600080fd5b83356001600160401b0381111561375f57600080fd5b61376b8682870161371b565b9660208601359650604090950135949350505050565b6000806020838503121561379457600080fd5b82356001600160401b038111156137aa57600080fd5b6137b685828601613634565b90969095509350505050565b6000602082840312156137d457600080fd5b81356001600160401b038111156137ea57600080fd5b6109048482850161371b565b6000806040838503121561380957600080fd5b8235613814816135f7565b946020939093013593505050565b60008151808452602080850194506020840160005b8381101561385c5781516001600160a01b031687529582019590820190600101613837565b509495945050505050565b60408152600061387a6040830185613822565b905060018060a01b03831660208301529392505050565b60005b838110156138ac578181015183820152602001613894565b50506000910152565b600081518084526138cd816020860160208601613891565b601f01601f19169290920160200192915050565b60208152600061245060208301846138b5565b60006020828403121561390657600080fd5b5035919050565b60018060a01b038616815284602082015260a06040820152600061393460a0830186613822565b931515606083015250608001529392505050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b8281101561399f57603f1988860301845261398d8583516138b5565b94509285019290850190600101613971565b5092979650505050505050565b6001600160e01b03198116811461261857600080fd5b6000602082840312156139d457600080fd5b8135612450816139ac565b602080825282516001600160a01b0390811683830152838201516001600160f81b031916604080850191909152840151606080850152805160808501819052600093929183019190849060a08701905b80831015613a5157845184168252938501936001929092019190850190613a2f565b50979650505050505050565b60008085851115613a6d57600080fd5b83861115613a7a57600080fd5b5050820193919092039150565b6bffffffffffffffffffffffff1981358181169160148510156130855760149490940360031b84901b1690921692915050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60018060a01b0385168152836020820152606060408201526000613b0b606083018486613aba565b9695505050505050565b600060208284031215613b2757600080fd5b8151612450816139ac565b6000808335601e19843603018112613b4957600080fd5b83016020810192503590506001600160401b03811115613b6857600080fd5b80360382131561127e57600080fd5b60408152613b9860408201613b8b8561360c565b6001600160a01b03169052565b602083013560608201526000613bb16040850185613b32565b610120806080860152613bc961016086018385613aba565b9250613bd86060880188613b32565b9250603f19808786030160a0880152613bf2858584613aba565b9450608089013560c088015260a089013560e0880152610100935060c089013584880152613c2360e08a018a613b32565b9250818887030184890152613c39868483613aba565b955050613c48848a018a613b32565b9450925080878603016101408801525050613c64838383613aba565b93505050508260208301529392505050565b600060208284031215613c8857600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600060018201613cb757613cb7613c8f565b5060010190565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715613cfc57613cfc613cbe565b604052919050565b60006001600160401b03821115613d1d57613d1d613cbe565b50601f01601f191660200190565b600082601f830112613d3c57600080fd5b8135613d4f613d4a82613d04565b613cd4565b818152846020838601011115613d6457600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215613d9657600080fd5b8335613da1816135f7565b92506020840135613db1816135f7565b915060408401356001600160401b03811115613dcc57600080fd5b613dd886828701613d2b565b9150509250925092565b60008251613df4818460208701613891565b9190910192915050565b6000808335601e19843603018112613e1557600080fd5b8301803591506001600160401b03821115613e2f57600080fd5b60200191503681900382131561127e57600080fd5b8183823760009101908152919050565b8082018082111561086657610866613c8f565b6001600160f81b031991909116815260200190565b634e487b7160e01b600052603260045260246000fd5b82815260406020820152600061090460408301846138b5565b6001600160a01b03841681526040602082018190526000906109d99083018486613aba565b600060208284031215613ee257600080fd5b81516001600160401b03811115613ef857600080fd5b8201601f81018413613f0957600080fd5b8051613f17613d4a82613d04565b818152856020838501011115613f2c57600080fd5b6109d9826020830160208601613891565b600060208284031215613f4f57600080fd5b8151801515811461245057600080fd5b600081613f6e57613f6e613c8f565b506000190190565b808202811582820484141761086657610866613c8f565b600082613faa57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561086657610866613c8f565b602081526000610904602083018486613aba565b60008060408385031215613fe957600080fd5b8235613ff4816135f7565b915060208301356001600160401b0381111561400f57600080fd5b61401b85828601613d2b565b9150509250929050565b6001600160e01b031981358181169160048510156130855760049490940360031b84901b1690921692915050565b60008235605e19833603018112613df457600080fd5b8035602083101561086657600019602084900360031b1b169291505056fe36e05829dd1b9a4411d96a3549582172d7f071c1c0db5c573fcf94eb28431608a26469706673582212200e9d8fa1e71878c2dfec2573076fa2365235920bb8d728db041006fbfbfa65af64736f6c63430008170033" + +export const ETHERSPOT_MULTIPLE_OWNER_ECDSA_VALIDATOR_CREATECALL = + "0x4d6f64756c6172457468657273706f7457616c6c65743a437265617465323a73608060405234801561001057600080fd5b5061084f806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80636d61fe70146100675780638a91b0e31461007c578063970032031461008f578063d60b347f146100b5578063ecd05961146100f1578063f551e2ee14610105575b600080fd5b61007a6100753660046105b1565b610131565b005b61007a61008a3660046105b1565b610186565b6100a261009d3660046105f3565b61019f565b6040519081526020015b60405180910390f35b6100e16100c336600461065a565b6001600160a01b031660009081526020819052604090205460ff1690565b60405190151581526020016100ac565b6100e16100ff36600461067c565b60011490565b610118610113366004610695565b610378565b6040516001600160e01b031990911681526020016100ac565b3360009081526020819052604090205460ff1615610168576040516393360fbf60e01b815233600482015260240160405180910390fd5b5050336000908152602081905260409020805460ff19166001179055565b60405163cf9e0d0160e01b815260040160405180910390fd5b6000806101d1836020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b905060006102236101e66101008701876106ef565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525086939250506104869050565b90506001600160a01b03811615806102a057506040516317aa5fb760e11b81526001600160a01b03821660048201523390632f54bf6e90602401602060405180830381865afa15801561027a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061029e9190610736565b155b156102b057600192505050610372565b60006102bf60608701876106ef565b6102ce91600491600091610758565b6102d791610782565b905060006102e860608801886106ef565b60048181106102f9576102f96107b2565b909101356001600160f81b0319169150369050600061031b60608a018a6106ef565b610329916024908290610758565b9092509050600160f81b6001600160f81b031984161461036b576001600160f81b0319831661036b576000803660006103628686610517565b50505050505050505b5050505050505b92915050565b6000806103aa856020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b905060006103ee8286868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061048692505050565b6040516317aa5fb760e11b81526001600160a01b03821660048201529091503390632f54bf6e90602401602060405180830381865afa158015610435573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104599190610736565b156104705750630b135d3f60e11b915061047e9050565b506001600160e01b03199150505b949350505050565b60405160019083600052602083015160405260408351036104c257604083015160ff81901c601b016020526001600160ff1b03166060526104e8565b60418351036104e357606083015160001a60205260408301516060526104e8565b600091505b6020600160806000855afa5191503d61050957638baa579f6000526004601cfd5b600060605260405292915050565b60008036816105296014828789610758565b610532916107c8565b60601c9350610545603460148789610758565b61054e916107fb565b925061055d8560348189610758565b949793965094505050565b60008083601f84011261057a57600080fd5b50813567ffffffffffffffff81111561059257600080fd5b6020830191508360208285010111156105aa57600080fd5b9250929050565b600080602083850312156105c457600080fd5b823567ffffffffffffffff8111156105db57600080fd5b6105e785828601610568565b90969095509350505050565b6000806040838503121561060657600080fd5b823567ffffffffffffffff81111561061d57600080fd5b8301610120818603121561063057600080fd5b946020939093013593505050565b80356001600160a01b038116811461065557600080fd5b919050565b60006020828403121561066c57600080fd5b6106758261063e565b9392505050565b60006020828403121561068e57600080fd5b5035919050565b600080600080606085870312156106ab57600080fd5b6106b48561063e565b935060208501359250604085013567ffffffffffffffff8111156106d757600080fd5b6106e387828801610568565b95989497509550505050565b6000808335601e1984360301811261070657600080fd5b83018035915067ffffffffffffffff82111561072157600080fd5b6020019150368190038213156105aa57600080fd5b60006020828403121561074857600080fd5b8151801515811461067557600080fd5b6000808585111561076857600080fd5b8386111561077557600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156107aa5780818660040360031b1b83161692505b505092915050565b634e487b7160e01b600052603260045260246000fd5b6bffffffffffffffffffffffff1981358181169160148510156107aa5760149490940360031b84901b1690921692915050565b8035602083101561037257600019602084900360031b1b169291505056fea2646970667358221220613cd09fb7b3c869af22364106c48b5bbd81fe2de0a8aa16cf18496adc9e65b564736f6c63430008170033" + +export const ETHERSPOT_WALLET_FACTORY_CREATECALL = + "0x4d6f64756c6172457468657273706f7457616c6c65743a437265617465323a7360a060405234801561001057600080fd5b50604051610b0e380380610b0e83398101604081905261002f916100a4565b806100398161004c565b50506001600160a01b03166080526100d7565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b80516001600160a01b038116811461009f57600080fd5b919050565b600080604083850312156100b757600080fd5b6100c083610088565b91506100ce60208401610088565b90509250929050565b608051610a0e6101006000396000818161016c0152818161050401526105b30152610a0e6000f3fe6080604052600436106100dd5760003560e01c80638da5cb5b1161007f578063f04e283e11610059578063f04e283e14610207578063f2fde38b1461021a578063f8a593701461022d578063fee81cf41461024057600080fd5b80638da5cb5b146101ae578063b36f9705146101c7578063d959fd0e146101e757600080fd5b806354d1f13d116100bb57806354d1f13d1461011f57806356c717f5146101275780635c60da1b1461015a578063715018a6146101a657600080fd5b806325692962146100e257806345171159146100ec5780634a1ce599146100ff575b600080fd5b6100ea610273565b005b6100ea6100fa36600461087f565b6102c3565b34801561010b57600080fd5b506100ea61011a3660046108c1565b610356565b6100ea6103db565b34801561013357600080fd5b506101476101423660046108e5565b610417565b6040519081526020015b60405180910390f35b34801561016657600080fd5b5061018e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610151565b6100ea61044d565b3480156101ba57600080fd5b50638b78c6d8195461018e565b3480156101d357600080fd5b506100ea6101e2366004610961565b610461565b3480156101f357600080fd5b5061018e6102023660046108e5565b6104ef565b6100ea6102153660046108c1565b610533565b6100ea6102283660046108c1565b610573565b61018e61023b3660046108e5565b61059a565b34801561024c57600080fd5b5061014761025b3660046108c1565b63389a75e1600c908152600091909152602090205490565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6102cb610682565b6001600160a01b0382166102f2576040516301650c7760e51b815260040160405180910390fd5b604051621cb65b60e51b815263ffffffff821660048201526001600160a01b03831690630396cb609034906024016000604051808303818588803b15801561033957600080fd5b505af115801561034d573d6000803e3d6000fd5b50505050505050565b61035e610682565b6001600160a01b038116610385576040516301650c7760e51b815260040160405180910390fd5b806001600160a01b031663bb9fe6bf6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156103c057600080fd5b505af11580156103d4573d6000803e3d6000fd5b5050505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b600083838360405160200161042e9392919061098f565b6040516020818303038152906040528051906020012090509392505050565b610455610682565b61045f600061069d565b565b610469610682565b6001600160a01b038216610490576040516301650c7760e51b815260040160405180910390fd5b60405163611d2e7560e11b81526001600160a01b03828116600483015283169063c23a5cea90602401600060405180830381600087803b1580156104d357600080fd5b505af11580156104e7573d6000803e3d6000fd5b505050505050565b6000806104fd858585610417565b905061052a7f000000000000000000000000000000000000000000000000000000000000000082306106db565b95945050505050565b61053b610682565b63389a75e1600c52806000526020600c20805442111561056357636f5e88186000526004601cfd5b600090556105708161069d565b50565b61057b610682565b8060601b61059157637448fbae6000526004601cfd5b6105708161069d565b6000806105a8858585610417565b90506000806105d8347f000000000000000000000000000000000000000000000000000000000000000085610764565b915091508161067857604051634b6a141960e01b81526001600160a01b03821690634b6a14199061060f90899089906004016109a9565b600060405180830381600087803b15801561062957600080fd5b505af115801561063d573d6000803e3d6000fd5b50506040513392506001600160a01b03841691507f1637bbe505dfa57dd508725e4a807eafc818ed7f588e2bae3e57f195ea53ad7090600090a35b9695505050505050565b638b78c6d81954331461045f576382b429006000526004601cfd5b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008061075785604080517fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f360609081527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e20768352616009602052601e9390935268603d3d8160223d3973600a52605f6021209152600090915290565b905061052a818585610848565b6000806040517fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e207660405261600960205284601e5268603d3d8160223d3973600a52605f60212060358201523060581b815260ff8153836015820152605581209150813b6108105783605f602188f591508161080b5763301164256000526004601cfd5b610836565b6001925085156108365760003860003889865af16108365763b12d13eb6000526004601cfd5b80604052506000606052935093915050565b600060ff60005350603592835260601b60015260155260556000908120915290565b6001600160a01b038116811461057057600080fd5b6000806040838503121561089257600080fd5b823561089d8161086a565b9150602083013563ffffffff811681146108b657600080fd5b809150509250929050565b6000602082840312156108d357600080fd5b81356108de8161086a565b9392505050565b6000806000604084860312156108fa57600080fd5b83359250602084013567ffffffffffffffff8082111561091957600080fd5b818601915086601f83011261092d57600080fd5b81358181111561093c57600080fd5b87602082850101111561094e57600080fd5b6020830194508093505050509250925092565b6000806040838503121561097457600080fd5b823561097f8161086a565b915060208301356108b68161086a565b838152818360208301376000910160200190815292915050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f1916010191905056fea26469706673582212204c4bf9d68187fb7cd2fde5d6423e331a1970029a223f4658090d1ff58ff83f7964736f6c63430008170033000000000000000000000000202a5598bdba2ce62bffa13ecccb04969719fad900000000000000000000000009fd4f6088f2025427ab1e89257a44747081ed59" diff --git a/packages/permissionless-test/mock-aa-infra/alto/index.ts b/packages/permissionless-test/mock-aa-infra/alto/index.ts index 82685974..f0948e7f 100644 --- a/packages/permissionless-test/mock-aa-infra/alto/index.ts +++ b/packages/permissionless-test/mock-aa-infra/alto/index.ts @@ -20,6 +20,10 @@ import { ENTRY_POINT_V06_CREATECALL, ENTRY_POINT_V07_CREATECALL, ERC_7579_TEST_MODULE_CREATECALL, + ETHERSPOT_BOOTSTRAP_CREATECALL, + ETHERSPOT_IMPLEMENTATION, + ETHERSPOT_MULTIPLE_OWNER_ECDSA_VALIDATOR_CREATECALL, + ETHERSPOT_WALLET_FACTORY_CREATECALL, KERNEL_V06_ACCOUNT_V2_2_LOGIC_CREATECALL, KERNEL_V06_ECDSA_VALIDATOR_V2_2_CREATECALL, KERNEL_V06_FACTORY_CREATECALL, @@ -320,6 +324,30 @@ export const setupContracts = async (rpc: string) => { data: SAFE_MULTI_SEND_CALL_ONLY_CREATECALL, gas: 15_000_000n, nonce: nonce++ + }), + walletClient.sendTransaction({ + to: DETERMINISTIC_DEPLOYER, + data: ETHERSPOT_WALLET_FACTORY_CREATECALL, + gas: 15_000_000n, + nonce: nonce++ + }), + walletClient.sendTransaction({ + to: DETERMINISTIC_DEPLOYER, + data: ETHERSPOT_IMPLEMENTATION, + gas: 15_000_000n, + nonce: nonce++ + }), + walletClient.sendTransaction({ + to: DETERMINISTIC_DEPLOYER, + data: ETHERSPOT_BOOTSTRAP_CREATECALL, + gas: 15_000_000n, + nonce: nonce++ + }), + walletClient.sendTransaction({ + to: DETERMINISTIC_DEPLOYER, + data: ETHERSPOT_MULTIPLE_OWNER_ECDSA_VALIDATOR_CREATECALL, + gas: 15_000_000n, + nonce: nonce++ }) ]) @@ -467,6 +495,11 @@ export const setupContracts = async (rpc: string) => { "0x3143E1C0Af0Cdc153423863923Cf4e3818e34Daa", // Trust TokenReceiverFacet "0xCe36b85d12D81cd619C745c7717f3396E184Ac7C", // Trust DiamondLoupeFacet "0x2e7f1dAe1F3799d20f5c31bEFdc7A620f664728D", // Trust DefaultFallbackHandler - "0xc98B026383885F41d9a995f85FC480E9bb8bB891" // ERC7579 Test Module + "0xc98B026383885F41d9a995f85FC480E9bb8bB891", // ERC7579 Test Module + "0xc98B026383885F41d9a995f85FC480E9bb8bB891", // ERC7579 Test Module + "0x93FB56A4a0B7160fbf8903d251Cc7A3fb9bA0933", // Etherspot Factory + "0x1baCB2F1ef4fD02f02e32cCF70888D9Caeb5f066", // Etherspot Bootstrap + "0x8c4496Ba340aFe5ac4148cfEA9ccbBCD54093143", // Etherspot Multiple Owner ECDSA Validator + "0x202A5598bDba2cE62bFfA13EcccB04969719Fad9" // Etherspot implementation ]) } diff --git a/packages/permissionless-test/src/utils.ts b/packages/permissionless-test/src/utils.ts index bf2fa01d..cb2c1ab4 100644 --- a/packages/permissionless-test/src/utils.ts +++ b/packages/permissionless-test/src/utils.ts @@ -23,6 +23,7 @@ import { } from "viem/accounts" import { foundry } from "viem/chains" import { toBiconomySmartAccount } from "../../permissionless/accounts/biconomy/toBiconomySmartAccount" +import { toEtherspotSmartAccount } from "../../permissionless/accounts/etherspot/toEtherspotSmartAccount" import { type KernelVersion, toEcdsaKernelSmartAccount @@ -384,6 +385,21 @@ export const getSafeClient = async ({ }) } +export const getEtherspotClient = async < + entryPointVersion extends "0.6" | "0.7" +>({ + anvilRpc +}: AAParamType) => { + return toEtherspotSmartAccount({ + client: getPublicClient(anvilRpc), + owners: [privateKeyToAccount(generatePrivateKey())], + entryPoint: { + address: entryPoint07Address, + version: "0.7" + } + }) +} + export const getCoreSmartAccounts = () => [ { name: "Trust", @@ -560,5 +576,18 @@ export const getCoreSmartAccounts = () => [ supportsEntryPointV06: false, supportsEntryPointV07: true, isEip1271Compliant: true + }, + { + name: "Etherspot", + getSmartAccountClient: async ( + conf: AAParamType + ) => + getBundlerClient({ + account: await getEtherspotClient(conf), + ...conf + }), + supportsEntryPointV06: false, + supportsEntryPointV07: true, + isEip1271Compliant: true } ] diff --git a/packages/permissionless/accounts/biconomy/index.ts b/packages/permissionless/accounts/biconomy/index.ts new file mode 100644 index 00000000..4de4d3fb --- /dev/null +++ b/packages/permissionless/accounts/biconomy/index.ts @@ -0,0 +1,13 @@ +import { + type BiconomySmartAccountImplementation, + type ToBiconomySmartAccountParameters, + type ToBiconomySmartAccountReturnType, + toBiconomySmartAccount +} from "./toBiconomySmartAccount" + +export { + type ToBiconomySmartAccountReturnType, + type ToBiconomySmartAccountParameters, + type BiconomySmartAccountImplementation, + toBiconomySmartAccount +} diff --git a/packages/permissionless/accounts/etherspot/abi/EtherspotBootstrapAbi.ts b/packages/permissionless/accounts/etherspot/abi/EtherspotBootstrapAbi.ts new file mode 100644 index 00000000..f6a5c9d6 --- /dev/null +++ b/packages/permissionless/accounts/etherspot/abi/EtherspotBootstrapAbi.ts @@ -0,0 +1,94 @@ +export const EtherspotBootstrapAbi = [ + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "module", + type: "address" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + internalType: "struct BootstrapConfig[]", + name: "$valdiators", + type: "tuple[]" + }, + { + components: [ + { + internalType: "address", + name: "module", + type: "address" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + internalType: "struct BootstrapConfig[]", + name: "$executors", + type: "tuple[]" + }, + { + components: [ + { + internalType: "address", + name: "module", + type: "address" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + internalType: "struct BootstrapConfig", + name: "_hook", + type: "tuple" + }, + { + components: [ + { + internalType: "address", + name: "module", + type: "address" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + internalType: "struct BootstrapConfig[]", + name: "_fallbacks", + type: "tuple[]" + } + ], + name: "initMSA", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +] + +export const EtherspotOnInstallAbi = [ + { + inputs: [ + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "onInstall", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +] as const diff --git a/packages/permissionless/accounts/etherspot/abi/EtherspotWalletFactoryAbi.ts b/packages/permissionless/accounts/etherspot/abi/EtherspotWalletFactoryAbi.ts new file mode 100644 index 00000000..81fd1f30 --- /dev/null +++ b/packages/permissionless/accounts/etherspot/abi/EtherspotWalletFactoryAbi.ts @@ -0,0 +1,26 @@ +export const EtherspotWalletFactoryAbi = [ + { + inputs: [ + { + internalType: "bytes32", + name: "salt", + type: "bytes32" + }, + { + internalType: "bytes", + name: "initcode", + type: "bytes" + } + ], + name: "getAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + } +] as const diff --git a/packages/permissionless/accounts/etherspot/constants.ts b/packages/permissionless/accounts/etherspot/constants.ts new file mode 100644 index 00000000..f7ea2e80 --- /dev/null +++ b/packages/permissionless/accounts/etherspot/constants.ts @@ -0,0 +1,39 @@ +import type { Address } from "viem" + +export const DUMMY_ECDSA_SIGNATURE = + "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c" +export const ROOT_MODE_KERNEL_V2 = "0x00000000" + +export enum CALL_TYPE { + SINGLE = "0x00", + BATCH = "0x01", + DELEGATE_CALL = "0xFF" +} + +export enum EXEC_TYPE { + DEFAULT = "0x00", + TRY_EXEC = "0x01" +} + +export const VALIDATOR_TYPE = { + ROOT: "0x00", + VALIDATOR: "0x01", + PERMISSION: "0x02" +} as const + +export enum VALIDATOR_MODE { + DEFAULT = "0x00", + ENABLE = "0x01" +} + +export type NetworkAddresses = { + metaFactoryAddress: Address + bootstrapAddress: Address + validatorAddress: Address +} + +export const DEFAULT_CONTRACT_ADDRESS: NetworkAddresses = { + metaFactoryAddress: "0x93FB56A4a0B7160fbf8903d251Cc7A3fb9bA0933", // modularEtherspotWalletFactory + bootstrapAddress: "0x1baCB2F1ef4fD02f02e32cCF70888D9Caeb5f066", + validatorAddress: "0x8c4496Ba340aFe5ac4148cfEA9ccbBCD54093143" // multipleOwnerECDSAValidator +} diff --git a/packages/permissionless/accounts/etherspot/index.ts b/packages/permissionless/accounts/etherspot/index.ts new file mode 100644 index 00000000..7c747ebd --- /dev/null +++ b/packages/permissionless/accounts/etherspot/index.ts @@ -0,0 +1,3 @@ +const a = 5 + +export { a } diff --git a/packages/permissionless/accounts/etherspot/toEtherspotSmartAccount.ts b/packages/permissionless/accounts/etherspot/toEtherspotSmartAccount.ts new file mode 100644 index 00000000..e566f7a4 --- /dev/null +++ b/packages/permissionless/accounts/etherspot/toEtherspotSmartAccount.ts @@ -0,0 +1,362 @@ +import { + type Account, + type Address, + type Assign, + type Chain, + type Client, + type EIP1193Provider, + type Hex, + type LocalAccount, + type OneOf, + type Transport, + type TypedDataDefinition, + type WalletClient, + concatHex, + encodeAbiParameters, + encodeFunctionData, + toHex, + zeroAddress +} from "viem" +import { + type SmartAccount, + type SmartAccountImplementation, + type UserOperation, + entryPoint07Abi, + entryPoint07Address, + getUserOperationHash, + toSmartAccount +} from "viem/account-abstraction" +import { getChainId, readContract } from "viem/actions" +import { getAction } from "viem/utils" +import { getAccountNonce } from "../../actions/public/getAccountNonce" +import { getSenderAddress } from "../../actions/public/getSenderAddress" +import { toOwner } from "../../utils" +import { encode7579Calls } from "../../utils/encode7579Calls" +import { EtherspotWalletFactoryAbi } from "./abi/EtherspotWalletFactoryAbi" +import { + DEFAULT_CONTRACT_ADDRESS, + DUMMY_ECDSA_SIGNATURE, + type NetworkAddresses, + VALIDATOR_TYPE +} from "./constants" +import { getInitMSAData } from "./utils/getInitMSAData" +import { getNonceKeyWithEncoding } from "./utils/getNonceKey" +import { signMessage } from "./utils/signMessage" +import { signTypedData } from "./utils/signTypedData" + +/** + * The account creation ABI for a modular etherspot smart account + */ +const createAccountAbi = [ + { + inputs: [ + { + internalType: "bytes32", + name: "salt", + type: "bytes32" + }, + { + internalType: "bytes", + name: "initCode", + type: "bytes" + } + ], + name: "createAccount", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "payable", + type: "function" + } +] as const + +/** + * Get default addresses for Etherspot Smart Account based on chainId + * @param chainId + * @param validatorAddress + * @param accountLogicAddress + * @param factoryAddress + * @param metaFactoryAddress + */ +const getDefaultAddresses = ({ + validatorAddress: _validatorAddress, + metaFactoryAddress: _metaFactoryAddress, + bootstrapAddress: _bootstrapAddress +}: Partial): NetworkAddresses => { + const addresses = DEFAULT_CONTRACT_ADDRESS + const validatorAddress = _validatorAddress ?? addresses.validatorAddress + const metaFactoryAddress = + _metaFactoryAddress ?? addresses?.metaFactoryAddress ?? zeroAddress + const bootstrapAddress = + _bootstrapAddress ?? addresses.bootstrapAddress ?? zeroAddress + + return { + validatorAddress, + metaFactoryAddress, + bootstrapAddress + } +} + +export const getEcdsaValidatorIdentifier = (validatorAddress: Address) => { + return concatHex([VALIDATOR_TYPE.VALIDATOR, validatorAddress]) +} + +/** + * Get the initialization data for a etherspot smart account + * @param entryPoint + * @param owner + * @param validatorAddress + */ +const getInitialisationData = ({ + owner, + validatorAddress, + bootstrapAddress +}: { + owner: Address + validatorAddress: Address + bootstrapAddress: Address +}) => { + const initMSAData = getInitMSAData(validatorAddress) + + const initCode = encodeAbiParameters( + [{ type: "address" }, { type: "address" }, { type: "bytes" }], + [owner, bootstrapAddress, initMSAData] + ) + + return initCode +} + +/** + * Get the account initialization code for a etherspot smart account + * @param entryPoint + * @param owner + * @param index + * @param validatorAddress + * @param bootstrapAddress + */ +const getAccountInitCode = async ({ + entryPoint: entryPointAddress, + owner, + index, + validatorAddress, + bootstrapAddress +}: { + entryPoint: Address + owner: Address + index: bigint + validatorAddress: Address + bootstrapAddress: Address +}): Promise => { + if (!owner) throw new Error("Owner account not found") + + // Build the account initialization data + const initialisationData = getInitialisationData({ + validatorAddress, + owner, + bootstrapAddress + }) + + return encodeFunctionData({ + abi: createAccountAbi, + functionName: "createAccount", + args: [toHex(index, { size: 32 }), initialisationData] + }) +} + +export type ToEtherspotSmartAccountParameters< + entryPointVersion extends "0.6" | "0.7" +> = { + client: Client + owners: [ + OneOf< + | EIP1193Provider + | WalletClient + | LocalAccount + > + ] + entryPoint?: { + address: Address + version: entryPointVersion + } + address?: Address + index?: bigint + metaFactoryAddress?: Address + validatorAddress?: Address + bootstrapAddress?: Address + nonceKey?: bigint +} + +export type EtherspotSmartAccountImplementation< + entryPointVersion extends "0.7" = "0.7" +> = Assign< + SmartAccountImplementation< + typeof entryPoint07Abi, + entryPointVersion + // { + // // entryPoint === ENTRYPOINT_ADDRESS_V06 ? "0.2.2" : "0.3.0-beta" + // abi: entryPointVersion extends "0.6" ? typeof BiconomyAbi + // factory: { abi: typeof FactoryAbi; address: Address } + // } + >, + { sign: NonNullable } +> + +export type ToEtherspotSmartAccountReturnType< + entryPointVersion extends "0.7" = "0.7" +> = SmartAccount> + +export async function toEtherspotSmartAccount( + parameters: ToEtherspotSmartAccountParameters +): Promise> { + const { + client, + owners, + address, + index = BigInt(0), + metaFactoryAddress: _metaFactoryAddress, + validatorAddress: _validatorAddress, + bootstrapAddress: _bootstrapAddress + } = parameters + + const localOwner = await toOwner({ owner: owners[0] }) + + const entryPoint = { + address: parameters.entryPoint?.address ?? entryPoint07Address, + abi: entryPoint07Abi, + version: parameters.entryPoint?.version ?? "0.7" + } as const + + const { validatorAddress, metaFactoryAddress, bootstrapAddress } = + getDefaultAddresses({ + validatorAddress: _validatorAddress, + metaFactoryAddress: _metaFactoryAddress, + bootstrapAddress: _bootstrapAddress + }) + + // Helper to generate the init code for the smart account + const generateInitCode = () => + getAccountInitCode({ + entryPoint: entryPoint.address, + owner: localOwner.address, + index, + validatorAddress, + bootstrapAddress + }) + + let accountAddress: Address | undefined = address + + let chainId: number + + const getMemoizedChainId = async () => { + if (chainId) return chainId + chainId = client.chain + ? client.chain.id + : await getAction(client, getChainId, "getChainId")({}) + return chainId + } + + const getFactoryArgs = async () => { + return { + factory: metaFactoryAddress, + factoryData: await generateInitCode() + } + } + + return toSmartAccount({ + client, + entryPoint, + getFactoryArgs, + async getAddress() { + if (accountAddress) return accountAddress + + const { factory, factoryData } = await getFactoryArgs() + + // Get the sender address based on the init code + accountAddress = await getSenderAddress(client, { + factory, + factoryData, + entryPointAddress: entryPoint.address + }) + + return accountAddress + }, + async encodeCalls(calls) { + return encode7579Calls({ + mode: { + type: calls.length > 1 ? "batchcall" : "call", + revertOnError: false, + selector: "0x", + context: "0x" + }, + callData: calls + }) + }, + async getNonce(_args) { + return getAccountNonce(client, { + address: await this.getAddress(), + entryPointAddress: entryPoint.address, + key: getNonceKeyWithEncoding( + validatorAddress, + /*args?.key ?? */ parameters.nonceKey ?? 0n + ) + }) + }, + async getStubSignature() { + return DUMMY_ECDSA_SIGNATURE + }, + async sign({ hash }) { + return this.signMessage({ message: hash }) + }, + async signMessage({ message }) { + const signature = await signMessage({ + owner: localOwner, + message, + accountAddress: await this.getAddress(), + chainId: await getMemoizedChainId() + }) + + return concatHex([ + getEcdsaValidatorIdentifier(validatorAddress), + signature + ]) + }, + async signTypedData(typedData) { + const signature = await signTypedData({ + owner: localOwner, + chainId: await getMemoizedChainId(), + ...(typedData as TypedDataDefinition), + accountAddress: await this.getAddress() + }) + + return concatHex([ + getEcdsaValidatorIdentifier(validatorAddress), + signature + ]) + }, + async signUserOperation(parameters) { + const { chainId = await getMemoizedChainId(), ...userOperation } = + parameters + + const hash = getUserOperationHash({ + userOperation: { + ...userOperation, + sender: userOperation.sender ?? (await this.getAddress()), + signature: "0x" + } as UserOperation, + entryPointAddress: entryPoint.address, + entryPointVersion: entryPoint.version, + chainId: chainId + }) + + const signature = await localOwner.signMessage({ + message: { raw: hash } + }) + + return signature + } + }) as Promise> +} diff --git a/packages/permissionless/accounts/etherspot/utils/getInitMSAData.ts b/packages/permissionless/accounts/etherspot/utils/getInitMSAData.ts new file mode 100644 index 00000000..988ddb9b --- /dev/null +++ b/packages/permissionless/accounts/etherspot/utils/getInitMSAData.ts @@ -0,0 +1,56 @@ +import { encodeFunctionData, zeroAddress } from "viem" +import { + EtherspotBootstrapAbi, + EtherspotOnInstallAbi +} from "../abi/EtherspotBootstrapAbi" + +export const getInitMSAData = (ecdsaValidatorAddress: `0x${string}`) => { + const validators = makeBootstrapConfig(ecdsaValidatorAddress, "0x") + const executors = makeBootstrapConfig(zeroAddress, "0x") + const hook = _makeBootstrapConfig(zeroAddress, "0x") + const fallbacks = makeBootstrapConfig(zeroAddress, "0x") + const initMSAData = encodeFunctionData({ + abi: EtherspotBootstrapAbi, + functionName: "initMSA", + args: [validators, executors, hook, fallbacks] + }) + + return initMSAData +} + +const _makeBootstrapConfig = (module: string, data: string) => { + const config = { + module: "", + data: "" + } + + config.module = module + + config.data = encodeFunctionData({ + abi: EtherspotOnInstallAbi, + functionName: "onInstall", + args: [data as `0x${string}`] + }) + + return config +} + +const makeBootstrapConfig = (module: string, data: string) => { + const config: { + module: string + data: `0x${string}` + }[] = [] + + const data1 = encodeFunctionData({ + abi: EtherspotOnInstallAbi, + functionName: "onInstall", + args: [data as `0x${string}`] + }) + + const newConfig = { + module: module, + data: data1 + } + config.push(newConfig) + return config +} diff --git a/packages/permissionless/accounts/etherspot/utils/getNonceKey.ts b/packages/permissionless/accounts/etherspot/utils/getNonceKey.ts new file mode 100644 index 00000000..cd3114f6 --- /dev/null +++ b/packages/permissionless/accounts/etherspot/utils/getNonceKey.ts @@ -0,0 +1,21 @@ +import { type Address, concatHex, pad, toHex } from "viem" +import { VALIDATOR_MODE, VALIDATOR_TYPE } from "../constants" + +export const getNonceKeyWithEncoding = ( + validatorAddress: Address, + nonceKey = 0n +) => { + const validatorMode = VALIDATOR_MODE.DEFAULT + const validatorType = VALIDATOR_TYPE.ROOT + const encoding = pad( + concatHex([ + validatorAddress, // 20 bytes + validatorMode, // 1 byte + validatorType, // 1 byte + toHex(nonceKey, { size: 2 }) // 2 byte + ]), + { size: 24 } + ) // 24 bytes + const encodedNonceKey = BigInt(encoding) + return encodedNonceKey +} diff --git a/packages/permissionless/accounts/etherspot/utils/signMessage.ts b/packages/permissionless/accounts/etherspot/utils/signMessage.ts new file mode 100644 index 00000000..836a67b3 --- /dev/null +++ b/packages/permissionless/accounts/etherspot/utils/signMessage.ts @@ -0,0 +1,26 @@ +import { + type LocalAccount, + type SignMessageReturnType, + type SignableMessage, + hashMessage +} from "viem" +import { type WrapMessageHashParams, wrapMessageHash } from "./wrapMessageHash" + +export async function signMessage({ + message, + owner, + accountAddress, + chainId +}: { + owner: LocalAccount + message: SignableMessage +} & WrapMessageHashParams): Promise { + const wrappedMessageHash = wrapMessageHash(hashMessage(message), { + accountAddress, + chainId + }) + + return owner.signMessage({ + message: { raw: wrappedMessageHash } + }) +} diff --git a/packages/permissionless/accounts/etherspot/utils/signTypedData.ts b/packages/permissionless/accounts/etherspot/utils/signTypedData.ts new file mode 100644 index 00000000..b007967b --- /dev/null +++ b/packages/permissionless/accounts/etherspot/utils/signTypedData.ts @@ -0,0 +1,46 @@ +import { + type LocalAccount, + type SignTypedDataReturnType, + type TypedDataDefinition, + getTypesForEIP712Domain, + hashTypedData, + validateTypedData +} from "viem" + +import { signTypedData as _signTypedData, signMessage } from "viem/actions" +import { type WrapMessageHashParams, wrapMessageHash } from "./wrapMessageHash" + +export async function signTypedData( + parameters: TypedDataDefinition & + WrapMessageHashParams & { + owner: LocalAccount + } +): Promise { + const { owner, accountAddress, chainId, ...typedData } = parameters + + const { message, primaryType, types: _types, domain } = typedData + const types = { + EIP712Domain: getTypesForEIP712Domain({ + domain: domain + }), + ..._types + } + + validateTypedData({ + domain, + message, + primaryType, + types + }) + + const typedHash = hashTypedData({ message, primaryType, types, domain }) + + const wrappedMessageHash = wrapMessageHash(typedHash, { + accountAddress, + chainId + }) + + return owner.signMessage({ + message: { raw: wrappedMessageHash } + }) +} diff --git a/packages/permissionless/accounts/etherspot/utils/wrapMessageHash.ts b/packages/permissionless/accounts/etherspot/utils/wrapMessageHash.ts new file mode 100644 index 00000000..87ed45fc --- /dev/null +++ b/packages/permissionless/accounts/etherspot/utils/wrapMessageHash.ts @@ -0,0 +1,42 @@ +import { + type Hex, + concatHex, + encodeAbiParameters, + keccak256, + stringToHex +} from "viem" +import { type Address, domainSeparator } from "viem" + +export type WrapMessageHashParams = { + accountAddress: Address + chainId: number +} + +export const wrapMessageHash = ( + messageHash: Hex, + { accountAddress, chainId }: WrapMessageHashParams +) => { + const _domainSeparator = domainSeparator({ + domain: { + name: "ModularEtherspotWallet", + chainId, + verifyingContract: accountAddress + } + }) + + const wrappedMessageHash = keccak256( + encodeAbiParameters( + [{ type: "bytes32" }, { type: "bytes32" }], + [ + keccak256(stringToHex("ModularEtherspotWallet(bytes32 hash)")), + messageHash + ] + ) + ) + + const digest = keccak256( + concatHex(["0x1901", _domainSeparator, wrappedMessageHash]) + ) + + return digest +} diff --git a/packages/permissionless/accounts/index.ts b/packages/permissionless/accounts/index.ts index e70cd175..613393c8 100644 --- a/packages/permissionless/accounts/index.ts +++ b/packages/permissionless/accounts/index.ts @@ -1,74 +1,7 @@ -import { - type SimpleSmartAccountImplementation, - type ToSimpleSmartAccountParameters, - type ToSimpleSmartAccountReturnType, - toSimpleSmartAccount -} from "./simple/toSimpleSmartAccount" - -import { - type LightAccountVersion, - type LightSmartAccountImplementation, - type ToLightSmartAccountParameters, - type ToLightSmartAccountReturnType, - toLightSmartAccount -} from "./light/toLightSmartAccount" - -import { - type ToTrustSmartAccountParameters, - type ToTrustSmartAccountReturnType, - type TrustSmartAccountImplementation, - toTrustSmartAccount -} from "./trust/toTrustSmartAccount" - -import { - type SafeSmartAccountImplementation, - type SafeVersion, - type ToSafeSmartAccountParameters, - type ToSafeSmartAccountReturnType, - toSafeSmartAccount -} from "./safe/toSafeSmartAccount" - -import { - type EcdsaKernelSmartAccountImplementation, - type KernelVersion, - type ToEcdsaKernelSmartAccountParameters, - type ToEcdsaKernelSmartAccountReturnType, - toEcdsaKernelSmartAccount -} from "./kernel/toEcdsaKernelSmartAccount" - -import { - type BiconomySmartAccountImplementation, - type ToBiconomySmartAccountParameters, - type ToBiconomySmartAccountReturnType, - toBiconomySmartAccount -} from "./biconomy/toBiconomySmartAccount" - -export { - type ToSimpleSmartAccountParameters, - type SimpleSmartAccountImplementation, - type ToSimpleSmartAccountReturnType, - toSimpleSmartAccount, - type LightAccountVersion, - type ToLightSmartAccountParameters, - type LightSmartAccountImplementation, - type ToLightSmartAccountReturnType, - toLightSmartAccount, - type ToTrustSmartAccountParameters, - type TrustSmartAccountImplementation, - type ToTrustSmartAccountReturnType, - toTrustSmartAccount, - type ToSafeSmartAccountParameters, - type SafeSmartAccountImplementation, - type ToSafeSmartAccountReturnType, - toSafeSmartAccount, - type ToEcdsaKernelSmartAccountParameters, - type EcdsaKernelSmartAccountImplementation, - type ToEcdsaKernelSmartAccountReturnType, - type SafeVersion, - type KernelVersion, - toEcdsaKernelSmartAccount, - type ToBiconomySmartAccountReturnType, - type ToBiconomySmartAccountParameters, - type BiconomySmartAccountImplementation, - toBiconomySmartAccount -} +export * from "./biconomy" +export * from "./kernel" +export * from "./light" +export * from "./safe" +export * from "./simple" +export * from "./trust" +export * from "./etherspot" diff --git a/packages/permissionless/accounts/kernel/index.ts b/packages/permissionless/accounts/kernel/index.ts new file mode 100644 index 00000000..7f6cdc84 --- /dev/null +++ b/packages/permissionless/accounts/kernel/index.ts @@ -0,0 +1,15 @@ +import { + type EcdsaKernelSmartAccountImplementation, + type KernelVersion, + type ToEcdsaKernelSmartAccountParameters, + type ToEcdsaKernelSmartAccountReturnType, + toEcdsaKernelSmartAccount +} from "./toEcdsaKernelSmartAccount" + +export { + type ToEcdsaKernelSmartAccountParameters, + type EcdsaKernelSmartAccountImplementation, + type ToEcdsaKernelSmartAccountReturnType, + type KernelVersion, + toEcdsaKernelSmartAccount +} diff --git a/packages/permissionless/accounts/light/index.ts b/packages/permissionless/accounts/light/index.ts new file mode 100644 index 00000000..609b2b27 --- /dev/null +++ b/packages/permissionless/accounts/light/index.ts @@ -0,0 +1,15 @@ +import { + type LightAccountVersion, + type LightSmartAccountImplementation, + type ToLightSmartAccountParameters, + type ToLightSmartAccountReturnType, + toLightSmartAccount +} from "./toLightSmartAccount" + +export { + type LightAccountVersion, + type ToLightSmartAccountParameters, + type LightSmartAccountImplementation, + type ToLightSmartAccountReturnType, + toLightSmartAccount +} diff --git a/packages/permissionless/accounts/safe/index.ts b/packages/permissionless/accounts/safe/index.ts new file mode 100644 index 00000000..ea313e32 --- /dev/null +++ b/packages/permissionless/accounts/safe/index.ts @@ -0,0 +1,15 @@ +import { + type SafeSmartAccountImplementation, + type SafeVersion, + type ToSafeSmartAccountParameters, + type ToSafeSmartAccountReturnType, + toSafeSmartAccount +} from "./toSafeSmartAccount" + +export { + type ToSafeSmartAccountParameters, + type SafeSmartAccountImplementation, + type ToSafeSmartAccountReturnType, + type SafeVersion, + toSafeSmartAccount +} diff --git a/packages/permissionless/accounts/simple/index.ts b/packages/permissionless/accounts/simple/index.ts new file mode 100644 index 00000000..20d47677 --- /dev/null +++ b/packages/permissionless/accounts/simple/index.ts @@ -0,0 +1,13 @@ +import { + type SimpleSmartAccountImplementation, + type ToSimpleSmartAccountParameters, + type ToSimpleSmartAccountReturnType, + toSimpleSmartAccount +} from "./toSimpleSmartAccount" + +export { + type ToSimpleSmartAccountParameters, + type SimpleSmartAccountImplementation, + type ToSimpleSmartAccountReturnType, + toSimpleSmartAccount +} diff --git a/packages/permissionless/accounts/trust/index.ts b/packages/permissionless/accounts/trust/index.ts new file mode 100644 index 00000000..e9d4e1d5 --- /dev/null +++ b/packages/permissionless/accounts/trust/index.ts @@ -0,0 +1,13 @@ +import { + type ToTrustSmartAccountParameters, + type ToTrustSmartAccountReturnType, + type TrustSmartAccountImplementation, + toTrustSmartAccount +} from "./toTrustSmartAccount" + +export { + type ToTrustSmartAccountParameters, + type TrustSmartAccountImplementation, + type ToTrustSmartAccountReturnType, + toTrustSmartAccount +} diff --git a/packages/permissionless/actions/etherspot.ts b/packages/permissionless/actions/etherspot.ts new file mode 100644 index 00000000..80bd5afe --- /dev/null +++ b/packages/permissionless/actions/etherspot.ts @@ -0,0 +1,6 @@ +import { + type GetGasPriceResponseReturnType, + getUserOperationGasPrice +} from "./etherspot/getUserOperationGasPrice" + +export { type GetGasPriceResponseReturnType, getUserOperationGasPrice } diff --git a/packages/permissionless/actions/etherspot/getUserOperationGasPrice.ts b/packages/permissionless/actions/etherspot/getUserOperationGasPrice.ts new file mode 100644 index 00000000..cb2c5bf0 --- /dev/null +++ b/packages/permissionless/actions/etherspot/getUserOperationGasPrice.ts @@ -0,0 +1,32 @@ +import type { Account, Chain, Client, Transport } from "viem" +import type { EtherspotBundlerRpcSchema } from "../../types/etherspot" + +export type GetGasPriceResponseReturnType = { + maxFeePerGas: bigint + maxPriorityFeePerGas: bigint +} + +/** + * Returns the live gas prices that you can use to send a user operation. + * + * @param client that you created using viem's createClient whose transport url is pointing to the Etherspot's bundler. + * @returns maxFeePerGas & maxPriorityFeePerGas + */ +export const getUserOperationGasPrice = async ( + client: Client< + Transport, + Chain | undefined, + Account | undefined, + EtherspotBundlerRpcSchema + > +): Promise => { + const gasPrice = await client.request({ + method: "skandha_getGasPrice", + params: [] + }) + + return { + maxFeePerGas: BigInt(gasPrice.maxFeePerGas), + maxPriorityFeePerGas: BigInt(gasPrice.maxPriorityFeePerGas) + } +} diff --git a/packages/permissionless/clients/decorators/etherspot.ts b/packages/permissionless/clients/decorators/etherspot.ts new file mode 100644 index 00000000..4b1bf220 --- /dev/null +++ b/packages/permissionless/clients/decorators/etherspot.ts @@ -0,0 +1,15 @@ +import type { Client } from "viem" +import { + type GetGasPriceResponseReturnType, + getUserOperationGasPrice +} from "../../actions/etherspot/getUserOperationGasPrice" + +export type EtherspotBundlerActions = { + getUserOperationGasPrice: () => Promise +} + +export const etherspotBundlerActions = + () => + (client: Client): EtherspotBundlerActions => ({ + getUserOperationGasPrice: () => getUserOperationGasPrice(client) + }) diff --git a/packages/permissionless/clients/etherspot.ts b/packages/permissionless/clients/etherspot.ts new file mode 100644 index 00000000..eff7fc25 --- /dev/null +++ b/packages/permissionless/clients/etherspot.ts @@ -0,0 +1,100 @@ +import type { + Address, + BundlerRpcSchema, + Chain, + Client, + ClientConfig, + Prettify, + RpcSchema, + Transport +} from "viem" +import { createClient } from "viem" +import { + type BundlerActions, + type SmartAccount, + bundlerActions +} from "viem/account-abstraction" +import type { EtherspotBundlerRpcSchema } from "../types/etherspot" +import { + type EtherspotBundlerActions, + etherspotBundlerActions +} from "./decorators/etherspot" + +export type EtherspotBundlerClient< + entryPointVersion extends "0.6" | "0.7" = "0.7" | "0.6", + transport extends Transport = Transport, + chain extends Chain | undefined = Chain | undefined, + account extends SmartAccount | undefined = SmartAccount | undefined, + rpcSchema extends RpcSchema | undefined = undefined +> = Prettify< + Client< + transport, + chain extends Chain ? chain : undefined, + account, + rpcSchema extends RpcSchema + ? [...BundlerRpcSchema, ...EtherspotBundlerRpcSchema, ...rpcSchema] + : [...BundlerRpcSchema, ...EtherspotBundlerRpcSchema], + BundlerActions & EtherspotBundlerActions + > +> + +export type EtherspotClientConfig< + entryPointVersion extends "0.6" | "0.7" = "0.7" | "0.6", + transport extends Transport = Transport, + chain extends Chain | undefined = Chain | undefined, + account extends SmartAccount | undefined = SmartAccount | undefined, + rpcSchema extends RpcSchema | undefined = undefined +> = Prettify< + Pick< + ClientConfig, + | "account" + | "cacheTime" + | "chain" + | "key" + | "name" + | "pollingInterval" + | "rpcSchema" + | "transport" + > +> & { + entryPoint?: { + address: Address + version: entryPointVersion + } +} + +export function createEtherspotBundlerClient< + entryPointVersion extends "0.6" | "0.7" = "0.7", + transport extends Transport = Transport, + chain extends Chain | undefined = undefined, + account extends SmartAccount | undefined = SmartAccount | undefined, + rpcSchema extends RpcSchema | undefined = undefined +>( + parameters: EtherspotClientConfig< + entryPointVersion, + transport, + chain, + account, + rpcSchema + > +): EtherspotBundlerClient< + entryPointVersion, + transport, + chain, + account, + rpcSchema +> + +export function createEtherspotBundlerClient( + parameters: EtherspotClientConfig +): EtherspotBundlerClient { + const { key = "public", name = "Etherspot Bundler Client" } = parameters + const client = createClient({ + ...parameters, + key, + name, + type: "etherspotBundlerClient" + }).extend(bundlerActions) + + return client.extend(etherspotBundlerActions()) as EtherspotBundlerClient +} diff --git a/packages/permissionless/clients/pimlico.ts b/packages/permissionless/clients/pimlico.ts index 4cd141b9..e224eeee 100644 --- a/packages/permissionless/clients/pimlico.ts +++ b/packages/permissionless/clients/pimlico.ts @@ -25,17 +25,11 @@ export type PimlicoClient< transport extends Transport = Transport, chain extends Chain | undefined = Chain | undefined, account extends SmartAccount | undefined = SmartAccount | undefined, - client extends Client | undefined = Client | undefined, rpcSchema extends RpcSchema | undefined = undefined > = Prettify< Client< transport, - chain extends Chain - ? chain - : // biome-ignore lint/suspicious/noExplicitAny: We need any to infer the chain type - client extends Client - ? chain - : undefined, + chain extends Chain ? chain : undefined, account, rpcSchema extends RpcSchema ? [...BundlerRpcSchema, ...PimlicoRpcSchema, ...rpcSchema] @@ -76,7 +70,6 @@ export function createPimlicoClient< transport extends Transport = Transport, chain extends Chain | undefined = undefined, account extends SmartAccount | undefined = SmartAccount | undefined, - client extends Client | undefined = undefined, rpcSchema extends RpcSchema | undefined = undefined >( parameters: PimlicoClientConfig< @@ -86,14 +79,7 @@ export function createPimlicoClient< account, rpcSchema > -): PimlicoClient< - entryPointVersion, - transport, - chain, - account, - client, - rpcSchema -> +): PimlicoClient export function createPimlicoClient( parameters: PimlicoClientConfig diff --git a/packages/permissionless/package.json b/packages/permissionless/package.json index 7bbdf7a3..7f8f930b 100644 --- a/packages/permissionless/package.json +++ b/packages/permissionless/package.json @@ -24,6 +24,36 @@ "import": "./_esm/accounts/index.js", "default": "./_cjs/accounts/index.js" }, + "./accounts/kernel": { + "types": "./_types/accounts/kernel/index.d.ts", + "import": "./_esm/accounts/kernel/index.js", + "default": "./_cjs/accounts/kernel/index.js" + }, + "./accounts/light": { + "types": "./_types/accounts/light/index.d.ts", + "import": "./_esm/accounts/light/index.js", + "default": "./_cjs/accounts/light/index.js" + }, + "./accounts/safe": { + "types": "./_types/accounts/safe/index.d.ts", + "import": "./_esm/accounts/safe/index.js", + "default": "./_cjs/accounts/safe/index.js" + }, + "./accounts/simple": { + "types": "./_types/accounts/simple/index.d.ts", + "import": "./_esm/accounts/simple/index.js", + "default": "./_cjs/accounts/simple/index.js" + }, + "./accounts/trust": { + "types": "./_types/accounts/trust/index.d.ts", + "import": "./_esm/accounts/trust/index.js", + "default": "./_cjs/accounts/trust/index.js" + }, + "./accounts/etherspot": { + "types": "./_types/accounts/etherspot/index.d.ts", + "import": "./_esm/accounts/etherspot/index.js", + "default": "./_cjs/accounts/etherspot/index.js" + }, "./actions": { "types": "./_types/actions/index.d.ts", "import": "./_esm/actions/index.js", diff --git a/packages/permissionless/types/etherspot.ts b/packages/permissionless/types/etherspot.ts new file mode 100644 index 00000000..f3eb1408 --- /dev/null +++ b/packages/permissionless/types/etherspot.ts @@ -0,0 +1,12 @@ +type GetGasPriceResponse = { + maxFeePerGas: string + maxPriorityFeePerGas: string +} + +export type EtherspotBundlerRpcSchema = [ + { + Method: "skandha_getGasPrice" + Parameters: [] + ReturnType: GetGasPriceResponse + } +] From 68842e52da6c5d6fad3b4ca308012e91d28261d3 Mon Sep 17 00:00:00 2001 From: Garvit Khatri Date: Fri, 20 Sep 2024 17:52:14 +0100 Subject: [PATCH 03/13] uevert "7677 mvp" This reverts commit 3b438924d3de14edbb38f600927f531796561258. --- bun.lockb | Bin 577440 -> 579552 bytes package.json | 27 +- packages/wagmi-demo/.gitignore | 24 - packages/wagmi-demo/.npmrc | 1 - packages/wagmi-demo/README.md | 1 - packages/wagmi-demo/biome.json | 13 - packages/wagmi-demo/package.json | 15 - packages/wagmi-demo/pnpm-lock.yaml | 9432 ----------------- packages/wagmi-demo/src/App.tsx | 101 - .../wagmi-demo/src/erc7677hookCreator.tsx | 0 packages/wagmi-demo/src/paymasterService.ts | 199 - .../wagmi-demo/src/usePaymasterService.tsx | 43 - packages/wagmi-demo/src/useSendTransaction.ts | 173 - .../src/useWaitForTransactionReceipt.ts | 206 - packages/wagmi-demo/src/wagmi.ts | 19 - packages/wagmi-demo/tsconfig.json | 25 - packages/wagmi-demo/tsconfig.node.json | 10 - packages/wagmi-demo/vite.config.ts | 7 - packages/wagmi-test-demo/.env.example | 2 + .../index.html | 0 packages/wagmi-test-demo/package.json | 27 + packages/wagmi-test-demo/src/App.tsx | 183 + .../src/index.css | 14 + .../src/main.tsx | 22 +- .../src/vite-env.d.ts | 0 .../wagmi/connectors/biconomySmartAccount.ts | 53 + .../wagmi/connectors/kernelSmartAccount.ts | 53 + packages/wagmi/connectors/safeSmartAccount.ts | 50 + .../wagmi/connectors/simpleSmartAccount.ts | 90 + packages/wagmi/connectors/smartAccount.ts | 72 + packages/wagmi/index.ts | 32 + packages/wagmi/package.json | 6 +- 32 files changed, 602 insertions(+), 10298 deletions(-) delete mode 100644 packages/wagmi-demo/.gitignore delete mode 100644 packages/wagmi-demo/.npmrc delete mode 100644 packages/wagmi-demo/README.md delete mode 100644 packages/wagmi-demo/biome.json delete mode 100644 packages/wagmi-demo/package.json delete mode 100644 packages/wagmi-demo/pnpm-lock.yaml delete mode 100644 packages/wagmi-demo/src/App.tsx delete mode 100644 packages/wagmi-demo/src/erc7677hookCreator.tsx delete mode 100644 packages/wagmi-demo/src/paymasterService.ts delete mode 100644 packages/wagmi-demo/src/usePaymasterService.tsx delete mode 100644 packages/wagmi-demo/src/useSendTransaction.ts delete mode 100644 packages/wagmi-demo/src/useWaitForTransactionReceipt.ts delete mode 100644 packages/wagmi-demo/src/wagmi.ts delete mode 100644 packages/wagmi-demo/tsconfig.json delete mode 100644 packages/wagmi-demo/tsconfig.node.json delete mode 100644 packages/wagmi-demo/vite.config.ts create mode 100644 packages/wagmi-test-demo/.env.example rename packages/{wagmi-demo => wagmi-test-demo}/index.html (100%) create mode 100644 packages/wagmi-test-demo/package.json create mode 100644 packages/wagmi-test-demo/src/App.tsx rename packages/{wagmi-demo => wagmi-test-demo}/src/index.css (62%) rename packages/{wagmi-demo => wagmi-test-demo}/src/main.tsx (54%) rename packages/{wagmi-demo => wagmi-test-demo}/src/vite-env.d.ts (100%) create mode 100644 packages/wagmi/connectors/biconomySmartAccount.ts create mode 100644 packages/wagmi/connectors/kernelSmartAccount.ts create mode 100644 packages/wagmi/connectors/safeSmartAccount.ts create mode 100644 packages/wagmi/connectors/simpleSmartAccount.ts create mode 100644 packages/wagmi/connectors/smartAccount.ts diff --git a/bun.lockb b/bun.lockb index 54bfcfad7f61378bcc76c03166a66b2990a6acfd..4757c3aca92e96f0e3df57b82e55651a8ba9635a 100755 GIT binary patch delta 139957 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±*M@AwBt*(*SWI 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 delta 138711 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Çsg{Gpg9X|!|a{xcga0oyA91_1@ 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

ZL9AFrw|@b~9qLMg20XW6Lp_B8QJ! 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 diff --git a/package.json b/package.json index c929d91b..35ead2f7 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "workspaces": [ "packages/permissionless", "packages/wagmi", - "packages/wagmi-demo", + "packages/wagmi-test-demo", "packages/create-permissionless-app" ], "private": true, @@ -24,23 +24,7 @@ "tslib": "^2.6.2", "@pimlico/alto": "^0.0.4", "prool": "^0.0.12", - "typescript": "^5.2.2", - "async-mutex": "^0.5.0", - "get-port": "^7.0.0", - "tsc-alias": "^1.8.8", - "vitest": "^1.2.0", - "viem": "^2.20.0", - "wagmi": "^2.12.8", - "@permissionless/wagmi": "workspace:packages/wagmi", - "@types/react": "^18.3.1", - "@types/react-dom": "^18.3.0", - "@vitejs/plugin-react": "^4.2.1", - "@wagmi/cli": "latest", - "buffer": "^6.0.3", - "vite": "^5.2.11", - "@tanstack/react-query": "5.45.1", - "react": "^18.3.1", - "react-dom": "^18.3.1" + "typescript": "^5.2.2" }, "description": "", "keywords": [], @@ -71,5 +55,12 @@ }, "simple-git-hooks": { "pre-commit": "bun run format && bun run lint:fix" + }, + "dependencies": { + "async-mutex": "^0.5.0", + "get-port": "^7.0.0", + "tsc-alias": "^1.8.8", + "vitest": "^1.2.0", + "viem": "2.20.0" } } diff --git a/packages/wagmi-demo/.gitignore b/packages/wagmi-demo/.gitignore deleted file mode 100644 index a547bf36..00000000 --- a/packages/wagmi-demo/.gitignore +++ /dev/null @@ -1,24 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -dist -dist-ssr -*.local - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -.DS_Store -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? diff --git a/packages/wagmi-demo/.npmrc b/packages/wagmi-demo/.npmrc deleted file mode 100644 index ca1e9d98..00000000 --- a/packages/wagmi-demo/.npmrc +++ /dev/null @@ -1 +0,0 @@ -legacy-peer-deps = true \ No newline at end of file diff --git a/packages/wagmi-demo/README.md b/packages/wagmi-demo/README.md deleted file mode 100644 index 15f6f795..00000000 --- a/packages/wagmi-demo/README.md +++ /dev/null @@ -1 +0,0 @@ -This is a [Vite](https://vitejs.dev) project bootstrapped with [`create-wagmi`](https://github.com/wevm/wagmi/tree/main/packages/create-wagmi). diff --git a/packages/wagmi-demo/biome.json b/packages/wagmi-demo/biome.json deleted file mode 100644 index 51a892cc..00000000 --- a/packages/wagmi-demo/biome.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "formatter": { - "enabled": true, - "indentStyle": "space", - "lineWidth": 120 - }, - "linter": { - "enabled": true - }, - "organizeImports": { - "enabled": true - } -} diff --git a/packages/wagmi-demo/package.json b/packages/wagmi-demo/package.json deleted file mode 100644 index c08baffa..00000000 --- a/packages/wagmi-demo/package.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "7677", - "private": true, - "version": "0.0.0", - "type": "module", - "scripts": { - "dev": "vite", - "build": "tsc && vite build", - "lint": "biome check .", - "preview": "vite preview" - }, - "dependencies": { - "eventemitter3": "^5.0.1" - } -} diff --git a/packages/wagmi-demo/pnpm-lock.yaml b/packages/wagmi-demo/pnpm-lock.yaml deleted file mode 100644 index 3d9659db..00000000 --- a/packages/wagmi-demo/pnpm-lock.yaml +++ /dev/null @@ -1,9432 +0,0 @@ -lockfileVersion: '9.0' - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - -importers: - - .: - dependencies: - '@tanstack/react-query': - specifier: 5.45.1 - version: 5.45.1(react@18.3.1) - react: - specifier: ^18.3.1 - version: 18.3.1 - react-dom: - specifier: ^18.3.1 - version: 18.3.1(react@18.3.1) - viem: - specifier: latest - version: 2.21.1(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8) - wagmi: - specifier: latest - version: 2.12.8(@tanstack/query-core@5.45.0)(@tanstack/react-query@5.45.1(react@18.3.1))(@types/react@18.3.5)(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.3.5)(bufferutil@4.0.8)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.2)(typescript@5.5.4)(utf-8-validate@5.0.10)(viem@2.21.1(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8) - devDependencies: - '@biomejs/biome': - specifier: ^1.8.0 - version: 1.8.3 - '@types/react': - specifier: ^18.3.1 - version: 18.3.5 - '@types/react-dom': - specifier: ^18.3.0 - version: 18.3.0 - '@vitejs/plugin-react': - specifier: ^4.2.1 - version: 4.3.1(vite@5.4.3(@types/node@22.5.2)(terser@5.31.6)) - '@wagmi/cli': - specifier: latest - version: 2.1.15(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10) - buffer: - specifier: ^6.0.3 - version: 6.0.3 - typescript: - specifier: ^5.4.5 - version: 5.5.4 - vite: - specifier: ^5.2.11 - version: 5.4.3(@types/node@22.5.2)(terser@5.31.6) - -packages: - - '@adraffy/ens-normalize@1.10.0': - resolution: {integrity: sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q==} - - '@ampproject/remapping@2.3.0': - resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} - engines: {node: '>=6.0.0'} - - '@babel/code-frame@7.24.7': - resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} - engines: {node: '>=6.9.0'} - - '@babel/compat-data@7.25.4': - resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==} - engines: {node: '>=6.9.0'} - - '@babel/core@7.25.2': - resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} - engines: {node: '>=6.9.0'} - - '@babel/generator@7.25.6': - resolution: {integrity: sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-annotate-as-pure@7.24.7': - resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==} - engines: {node: '>=6.9.0'} - - '@babel/helper-builder-binary-assignment-operator-visitor@7.24.7': - resolution: {integrity: sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-compilation-targets@7.25.2': - resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-create-class-features-plugin@7.25.4': - resolution: {integrity: sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-create-regexp-features-plugin@7.25.2': - resolution: {integrity: sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-define-polyfill-provider@0.6.2': - resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - '@babel/helper-member-expression-to-functions@7.24.8': - resolution: {integrity: sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-imports@7.24.7': - resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-transforms@7.25.2': - resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-optimise-call-expression@7.24.7': - resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==} - engines: {node: '>=6.9.0'} - - '@babel/helper-plugin-utils@7.24.8': - resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==} - engines: {node: '>=6.9.0'} - - '@babel/helper-remap-async-to-generator@7.25.0': - resolution: {integrity: sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-replace-supers@7.25.0': - resolution: {integrity: sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-simple-access@7.24.7': - resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} - engines: {node: '>=6.9.0'} - - '@babel/helper-skip-transparent-expression-wrappers@7.24.7': - resolution: {integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-string-parser@7.24.8': - resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-identifier@7.24.7': - resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-option@7.24.8': - resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} - engines: {node: '>=6.9.0'} - - '@babel/helper-wrap-function@7.25.0': - resolution: {integrity: sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==} - engines: {node: '>=6.9.0'} - - '@babel/helpers@7.25.6': - resolution: {integrity: sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==} - engines: {node: '>=6.9.0'} - - '@babel/highlight@7.24.7': - resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} - engines: {node: '>=6.9.0'} - - '@babel/parser@7.25.6': - resolution: {integrity: sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==} - engines: {node: '>=6.0.0'} - hasBin: true - - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.3': - resolution: {integrity: sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.0': - resolution: {integrity: sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.0': - resolution: {integrity: sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7': - resolution: {integrity: sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.13.0 - - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.0': - resolution: {integrity: sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-proposal-class-properties@7.18.6': - resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-proposal-export-default-from@7.24.7': - resolution: {integrity: sha512-CcmFwUJ3tKhLjPdt4NP+SHMshebytF8ZTYOv5ZDpkzq2sin80Wb5vJrGt8fhPrORQCfoSa0LAxC/DW+GAC5+Hw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6': - resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead. - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-proposal-optional-chaining@7.21.0': - resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead. - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': - resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-async-generators@7.8.4': - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-class-properties@7.12.13': - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-class-static-block@7.14.5': - resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-dynamic-import@7.8.3': - resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-export-default-from@7.24.7': - resolution: {integrity: sha512-bTPz4/635WQ9WhwsyPdxUJDVpsi/X9BMmy/8Rf/UAlOO4jSql4CxUCjWI5PiM+jG+c4LVPTScoTw80geFj9+Bw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-export-namespace-from@7.8.3': - resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-flow@7.24.7': - resolution: {integrity: sha512-9G8GYT/dxn/D1IIKOUBmGX0mnmj46mGH9NnZyJLwtCpgh5f7D2VbuKodb+2s9m1Yavh1s7ASQN8lf0eqrb1LTw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-import-assertions@7.25.6': - resolution: {integrity: sha512-aABl0jHw9bZ2karQ/uUD6XP4u0SG22SJrOHFoL6XB1R7dTovOP4TzTlsxOYC5yQ1pdscVK2JTUnF6QL3ARoAiQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-import-attributes@7.25.6': - resolution: {integrity: sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-import-meta@7.10.4': - resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-json-strings@7.8.3': - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-jsx@7.24.7': - resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-logical-assignment-operators@7.10.4': - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-numeric-separator@7.10.4': - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-object-rest-spread@7.8.3': - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-optional-catch-binding@7.8.3': - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-optional-chaining@7.8.3': - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-private-property-in-object@7.14.5': - resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-top-level-await@7.14.5': - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-typescript@7.25.4': - resolution: {integrity: sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-unicode-sets-regex@7.18.6': - resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-transform-arrow-functions@7.24.7': - resolution: {integrity: sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-async-generator-functions@7.25.4': - resolution: {integrity: sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-async-to-generator@7.24.7': - resolution: {integrity: sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-block-scoped-functions@7.24.7': - resolution: {integrity: sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-block-scoping@7.25.0': - resolution: {integrity: sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-class-properties@7.25.4': - resolution: {integrity: sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-class-static-block@7.24.7': - resolution: {integrity: sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.12.0 - - '@babel/plugin-transform-classes@7.25.4': - resolution: {integrity: sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-computed-properties@7.24.7': - resolution: {integrity: sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-destructuring@7.24.8': - resolution: {integrity: sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-dotall-regex@7.24.7': - resolution: {integrity: sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-duplicate-keys@7.24.7': - resolution: {integrity: sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.0': - resolution: {integrity: sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-transform-dynamic-import@7.24.7': - resolution: {integrity: sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-exponentiation-operator@7.24.7': - resolution: {integrity: sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-export-namespace-from@7.24.7': - resolution: {integrity: sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-flow-strip-types@7.25.2': - resolution: {integrity: sha512-InBZ0O8tew5V0K6cHcQ+wgxlrjOw1W4wDXLkOTjLRD8GYhTSkxTVBtdy3MMtvYBrbAWa1Qm3hNoTc1620Yj+Mg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-for-of@7.24.7': - resolution: {integrity: sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-function-name@7.25.1': - resolution: {integrity: sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-json-strings@7.24.7': - resolution: {integrity: sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-literals@7.25.2': - resolution: {integrity: sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-logical-assignment-operators@7.24.7': - resolution: {integrity: sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-member-expression-literals@7.24.7': - resolution: {integrity: sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-modules-amd@7.24.7': - resolution: {integrity: sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-modules-commonjs@7.24.8': - resolution: {integrity: sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-modules-systemjs@7.25.0': - resolution: {integrity: sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-modules-umd@7.24.7': - resolution: {integrity: sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-named-capturing-groups-regex@7.24.7': - resolution: {integrity: sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-transform-new-target@7.24.7': - resolution: {integrity: sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-nullish-coalescing-operator@7.24.7': - resolution: {integrity: sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-numeric-separator@7.24.7': - resolution: {integrity: sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-object-rest-spread@7.24.7': - resolution: {integrity: sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-object-super@7.24.7': - resolution: {integrity: sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-optional-catch-binding@7.24.7': - resolution: {integrity: sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-optional-chaining@7.24.8': - resolution: {integrity: sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-parameters@7.24.7': - resolution: {integrity: sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-private-methods@7.25.4': - resolution: {integrity: sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-private-property-in-object@7.24.7': - resolution: {integrity: sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-property-literals@7.24.7': - resolution: {integrity: sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-react-display-name@7.24.7': - resolution: {integrity: sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-react-jsx-self@7.24.7': - resolution: {integrity: sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-react-jsx-source@7.24.7': - resolution: {integrity: sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-react-jsx@7.25.2': - resolution: {integrity: sha512-KQsqEAVBpU82NM/B/N9j9WOdphom1SZH3R+2V7INrQUH+V9EBFwZsEJl8eBIVeQE62FxJCc70jzEZwqU7RcVqA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-regenerator@7.24.7': - resolution: {integrity: sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-reserved-words@7.24.7': - resolution: {integrity: sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-runtime@7.25.4': - resolution: {integrity: sha512-8hsyG+KUYGY0coX6KUCDancA0Vw225KJ2HJO0yCNr1vq5r+lJTleDaJf0K7iOhjw4SWhu03TMBzYTJ9krmzULQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-shorthand-properties@7.24.7': - resolution: {integrity: sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-spread@7.24.7': - resolution: {integrity: sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-sticky-regex@7.24.7': - resolution: {integrity: sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-template-literals@7.24.7': - resolution: {integrity: sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-typeof-symbol@7.24.8': - resolution: {integrity: sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-typescript@7.25.2': - resolution: {integrity: sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-escapes@7.24.7': - resolution: {integrity: sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-property-regex@7.24.7': - resolution: {integrity: sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-regex@7.24.7': - resolution: {integrity: sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-sets-regex@7.25.4': - resolution: {integrity: sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/preset-env@7.25.4': - resolution: {integrity: sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/preset-flow@7.24.7': - resolution: {integrity: sha512-NL3Lo0NorCU607zU3NwRyJbpaB6E3t0xtd3LfAQKDfkeX4/ggcDXvkmkW42QWT5owUeW/jAe4hn+2qvkV1IbfQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/preset-modules@0.1.6-no-external-plugins': - resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} - peerDependencies: - '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 - - '@babel/preset-typescript@7.24.7': - resolution: {integrity: sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/register@7.24.6': - resolution: {integrity: sha512-WSuFCc2wCqMeXkz/i3yfAAsxwWflEgbVkZzivgAmXl/MxrXeoYFZOOPllbC8R8WTF7u61wSRQtDVZ1879cdu6w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/regjsgen@0.8.0': - resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} - - '@babel/runtime@7.25.6': - resolution: {integrity: sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==} - engines: {node: '>=6.9.0'} - - '@babel/template@7.25.0': - resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.25.6': - resolution: {integrity: sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==} - engines: {node: '>=6.9.0'} - - '@babel/types@7.25.6': - resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} - engines: {node: '>=6.9.0'} - - '@biomejs/biome@1.8.3': - resolution: {integrity: sha512-/uUV3MV+vyAczO+vKrPdOW0Iaet7UnJMU4bNMinggGJTAnBPjCoLEYcyYtYHNnUNYlv4xZMH6hVIQCAozq8d5w==} - engines: {node: '>=14.21.3'} - hasBin: true - - '@biomejs/cli-darwin-arm64@1.8.3': - resolution: {integrity: sha512-9DYOjclFpKrH/m1Oz75SSExR8VKvNSSsLnVIqdnKexj6NwmiMlKk94Wa1kZEdv6MCOHGHgyyoV57Cw8WzL5n3A==} - engines: {node: '>=14.21.3'} - cpu: [arm64] - os: [darwin] - - '@biomejs/cli-darwin-x64@1.8.3': - resolution: {integrity: sha512-UeW44L/AtbmOF7KXLCoM+9PSgPo0IDcyEUfIoOXYeANaNXXf9mLUwV1GeF2OWjyic5zj6CnAJ9uzk2LT3v/wAw==} - engines: {node: '>=14.21.3'} - cpu: [x64] - os: [darwin] - - '@biomejs/cli-linux-arm64-musl@1.8.3': - resolution: {integrity: sha512-9yjUfOFN7wrYsXt/T/gEWfvVxKlnh3yBpnScw98IF+oOeCYb5/b/+K7YNqKROV2i1DlMjg9g/EcN9wvj+NkMuQ==} - engines: {node: '>=14.21.3'} - cpu: [arm64] - os: [linux] - - '@biomejs/cli-linux-arm64@1.8.3': - resolution: {integrity: sha512-fed2ji8s+I/m8upWpTJGanqiJ0rnlHOK3DdxsyVLZQ8ClY6qLuPc9uehCREBifRJLl/iJyQpHIRufLDeotsPtw==} - engines: {node: '>=14.21.3'} - cpu: [arm64] - os: [linux] - - '@biomejs/cli-linux-x64-musl@1.8.3': - resolution: {integrity: sha512-UHrGJX7PrKMKzPGoEsooKC9jXJMa28TUSMjcIlbDnIO4EAavCoVmNQaIuUSH0Ls2mpGMwUIf+aZJv657zfWWjA==} - engines: {node: '>=14.21.3'} - cpu: [x64] - os: [linux] - - '@biomejs/cli-linux-x64@1.8.3': - resolution: {integrity: sha512-I8G2QmuE1teISyT8ie1HXsjFRz9L1m5n83U1O6m30Kw+kPMPSKjag6QGUn+sXT8V+XWIZxFFBoTDEDZW2KPDDw==} - engines: {node: '>=14.21.3'} - cpu: [x64] - os: [linux] - - '@biomejs/cli-win32-arm64@1.8.3': - resolution: {integrity: sha512-J+Hu9WvrBevfy06eU1Na0lpc7uR9tibm9maHynLIoAjLZpQU3IW+OKHUtyL8p6/3pT2Ju5t5emReeIS2SAxhkQ==} - engines: {node: '>=14.21.3'} - cpu: [arm64] - os: [win32] - - '@biomejs/cli-win32-x64@1.8.3': - resolution: {integrity: sha512-/PJ59vA1pnQeKahemaQf4Nyj7IKUvGQSc3Ze1uIGi+Wvr1xF7rGobSrAAG01T/gUDG21vkDsZYM03NAmPiVkqg==} - engines: {node: '>=14.21.3'} - cpu: [x64] - os: [win32] - - '@coinbase/wallet-sdk@3.9.3': - resolution: {integrity: sha512-N/A2DRIf0Y3PHc1XAMvbBUu4zisna6qAdqABMZwBMNEfWrXpAwx16pZGkYCLGE+Rvv1edbcB2LYDRnACNcmCiw==} - - '@coinbase/wallet-sdk@4.0.4': - resolution: {integrity: sha512-74c040CRnGhfRjr3ArnkAgud86erIqdkPHNt5HR1k9u97uTIZCJww9eGYT67Qf7gHPpGS/xW8Be1D4dvRm63FA==} - - '@esbuild/aix-ppc64@0.19.12': - resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - - '@esbuild/aix-ppc64@0.21.5': - resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - - '@esbuild/android-arm64@0.19.12': - resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm64@0.21.5': - resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm@0.19.12': - resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - - '@esbuild/android-arm@0.21.5': - resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - - '@esbuild/android-x64@0.19.12': - resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - - '@esbuild/android-x64@0.21.5': - resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - - '@esbuild/darwin-arm64@0.19.12': - resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-arm64@0.21.5': - resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-x64@0.19.12': - resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - - '@esbuild/darwin-x64@0.21.5': - resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - - '@esbuild/freebsd-arm64@0.19.12': - resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-arm64@0.21.5': - resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.19.12': - resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.21.5': - resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - - '@esbuild/linux-arm64@0.19.12': - resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm64@0.21.5': - resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm@0.19.12': - resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-arm@0.21.5': - resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-ia32@0.19.12': - resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-ia32@0.21.5': - resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-loong64@0.19.12': - resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-loong64@0.21.5': - resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-mips64el@0.19.12': - resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-mips64el@0.21.5': - resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-ppc64@0.19.12': - resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-ppc64@0.21.5': - resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-riscv64@0.19.12': - resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-riscv64@0.21.5': - resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-s390x@0.19.12': - resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-s390x@0.21.5': - resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-x64@0.19.12': - resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - - '@esbuild/linux-x64@0.21.5': - resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - - '@esbuild/netbsd-x64@0.19.12': - resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.21.5': - resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - - '@esbuild/openbsd-x64@0.19.12': - resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.21.5': - resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - - '@esbuild/sunos-x64@0.19.12': - resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - - '@esbuild/sunos-x64@0.21.5': - resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - - '@esbuild/win32-arm64@0.19.12': - resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-arm64@0.21.5': - resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-ia32@0.19.12': - resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-ia32@0.21.5': - resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-x64@0.19.12': - resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - - '@esbuild/win32-x64@0.21.5': - resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - - '@ethereumjs/common@3.2.0': - resolution: {integrity: sha512-pksvzI0VyLgmuEF2FA/JR/4/y6hcPq8OUail3/AvycBaW1d5VSauOZzqGvJ3RTmR4MU35lWE8KseKOsEhrFRBA==} - - '@ethereumjs/rlp@4.0.1': - resolution: {integrity: sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==} - engines: {node: '>=14'} - hasBin: true - - '@ethereumjs/tx@4.2.0': - resolution: {integrity: sha512-1nc6VO4jtFd172BbSnTnDQVr9IYBFl1y4xPzZdtkrkKIncBCkdbgfdRV+MiTkJYAtTxvV12GRZLqBFT1PNK6Yw==} - engines: {node: '>=14'} - - '@ethereumjs/util@8.1.0': - resolution: {integrity: sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==} - engines: {node: '>=14'} - - '@hapi/hoek@9.3.0': - resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} - - '@hapi/topo@5.1.0': - resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} - - '@isaacs/ttlcache@1.4.1': - resolution: {integrity: sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==} - engines: {node: '>=12'} - - '@jest/create-cache-key-function@29.7.0': - resolution: {integrity: sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/environment@29.7.0': - resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/fake-timers@29.7.0': - resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/schemas@29.6.3': - resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/types@26.6.2': - resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==} - engines: {node: '>= 10.14.2'} - - '@jest/types@29.6.3': - resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jridgewell/gen-mapping@0.3.5': - resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} - engines: {node: '>=6.0.0'} - - '@jridgewell/resolve-uri@3.1.2': - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} - - '@jridgewell/set-array@1.2.1': - resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} - engines: {node: '>=6.0.0'} - - '@jridgewell/source-map@0.3.6': - resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} - - '@jridgewell/sourcemap-codec@1.5.0': - resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} - - '@jridgewell/trace-mapping@0.3.25': - resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - - '@lit-labs/ssr-dom-shim@1.2.1': - resolution: {integrity: sha512-wx4aBmgeGvFmOKucFKY+8VFJSYZxs9poN3SDNQFF6lT6NrQUnHiPB2PWz2sc4ieEcAaYYzN+1uWahEeTq2aRIQ==} - - '@lit/reactive-element@1.6.3': - resolution: {integrity: sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==} - - '@metamask/eth-json-rpc-provider@1.0.1': - resolution: {integrity: sha512-whiUMPlAOrVGmX8aKYVPvlKyG4CpQXiNNyt74vE1xb5sPvmx5oA7B/kOi/JdBvhGQq97U1/AVdXEdk2zkP8qyA==} - engines: {node: '>=14.0.0'} - - '@metamask/json-rpc-engine@7.3.3': - resolution: {integrity: sha512-dwZPq8wx9yV3IX2caLi9q9xZBw2XeIoYqdyihDDDpuHVCEiqadJLwqM3zy+uwf6F1QYQ65A8aOMQg1Uw7LMLNg==} - engines: {node: '>=16.0.0'} - - '@metamask/json-rpc-engine@8.0.2': - resolution: {integrity: sha512-IoQPmql8q7ABLruW7i4EYVHWUbF74yrp63bRuXV5Zf9BQwcn5H9Ww1eLtROYvI1bUXwOiHZ6qT5CWTrDc/t/AA==} - engines: {node: '>=16.0.0'} - - '@metamask/json-rpc-middleware-stream@7.0.2': - resolution: {integrity: sha512-yUdzsJK04Ev98Ck4D7lmRNQ8FPioXYhEUZOMS01LXW8qTvPGiRVXmVltj2p4wrLkh0vW7u6nv0mNl5xzC5Qmfg==} - engines: {node: '>=16.0.0'} - - '@metamask/object-multiplex@2.0.0': - resolution: {integrity: sha512-+ItrieVZie3j2LfYE0QkdW3dsEMfMEp419IGx1zyeLqjRZ14iQUPRO0H6CGgfAAoC0x6k2PfCAGRwJUA9BMrqA==} - engines: {node: ^16.20 || ^18.16 || >=20} - - '@metamask/onboarding@1.0.1': - resolution: {integrity: sha512-FqHhAsCI+Vacx2qa5mAFcWNSrTcVGMNjzxVgaX8ECSny/BJ9/vgXP9V7WF/8vb9DltPeQkxr+Fnfmm6GHfmdTQ==} - - '@metamask/providers@16.1.0': - resolution: {integrity: sha512-znVCvux30+3SaUwcUGaSf+pUckzT5ukPRpcBmy+muBLC0yaWnBcvDqGfcsw6CBIenUdFrVoAFa8B6jsuCY/a+g==} - engines: {node: ^18.18 || >=20} - - '@metamask/rpc-errors@6.3.1': - resolution: {integrity: sha512-ugDY7cKjF4/yH5LtBaOIKHw/AiGGSAmzptAUEiAEGr/78LwuzcXAxmzEQfSfMIfI+f9Djr8cttq1pRJJKfTuCg==} - engines: {node: '>=16.0.0'} - - '@metamask/safe-event-emitter@2.0.0': - resolution: {integrity: sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q==} - - '@metamask/safe-event-emitter@3.1.1': - resolution: {integrity: sha512-ihb3B0T/wJm1eUuArYP4lCTSEoZsClHhuWyfo/kMX3m/odpqNcPfsz5O2A3NT7dXCAgWPGDQGPqygCpgeniKMw==} - engines: {node: '>=12.0.0'} - - '@metamask/sdk-communication-layer@0.27.0': - resolution: {integrity: sha512-G9LCaQzIqp5WmUmvHN6UUdjWrBh67MbRobmbbs5fcc2+9XFhj3vBgtyleUYjun91jSlPHoZeo+f/Pj4/WoPIJg==} - peerDependencies: - cross-fetch: ^4.0.0 - eciesjs: ^0.3.16 - eventemitter2: ^6.4.7 - readable-stream: ^3.6.2 - socket.io-client: ^4.5.1 - - '@metamask/sdk-install-modal-web@0.26.5': - resolution: {integrity: sha512-qVA9Nk+NorGx5hXyODy5wskptE8R7RNYTYt49VbQpJogqbbVe1dnJ98+KaA43PBN4XYMCXmcIhULNiEHGsLynA==} - peerDependencies: - i18next: 23.11.5 - react: ^18.2.0 - react-dom: ^18.2.0 - react-native: '*' - peerDependenciesMeta: - react: - optional: true - react-dom: - optional: true - react-native: - optional: true - - '@metamask/sdk@0.27.0': - resolution: {integrity: sha512-6sMjr/0qR700X1svPGEQ4rBdtccidBLeTC27fYQc7r9ROgSixB1DUUAyu/LoySVqt3Hu/Zm7NnAHXuT228ht7A==} - peerDependencies: - react: ^18.2.0 - react-dom: ^18.2.0 - peerDependenciesMeta: - react: - optional: true - react-dom: - optional: true - - '@metamask/superstruct@3.1.0': - resolution: {integrity: sha512-N08M56HdOgBfRKkrgCMZvQppkZGcArEop3kixNEtVbJKm6P9Cfg0YkI6X0s1g78sNrj2fWUwvJADdZuzJgFttA==} - engines: {node: '>=16.0.0'} - - '@metamask/utils@5.0.2': - resolution: {integrity: sha512-yfmE79bRQtnMzarnKfX7AEJBwFTxvTyw3nBQlu/5rmGXrjAeAMltoGxO62TFurxrQAFMNa/fEjIHNvungZp0+g==} - engines: {node: '>=14.0.0'} - - '@metamask/utils@8.5.0': - resolution: {integrity: sha512-I6bkduevXb72TIM9q2LRO63JSsF9EXduh3sBr9oybNX2hNNpr/j1tEjXrsG0Uabm4MJ1xkGAQEMwifvKZIkyxQ==} - engines: {node: '>=16.0.0'} - - '@metamask/utils@9.2.1': - resolution: {integrity: sha512-/u663aUaB6+Xe75i3Mt/1cCljm41HDYIsna5oBrwGvgkY2zH7/9k9Zjd706cxoAbxN7QgLSVAReUiGnuxCuXrQ==} - engines: {node: '>=16.0.0'} - - '@motionone/animation@10.18.0': - resolution: {integrity: sha512-9z2p5GFGCm0gBsZbi8rVMOAJCtw1WqBTIPw3ozk06gDvZInBPIsQcHgYogEJ4yuHJ+akuW8g1SEIOpTOvYs8hw==} - - '@motionone/dom@10.18.0': - resolution: {integrity: sha512-bKLP7E0eyO4B2UaHBBN55tnppwRnaE3KFfh3Ps9HhnAkar3Cb69kUCJY9as8LrccVYKgHA+JY5dOQqJLOPhF5A==} - - '@motionone/easing@10.18.0': - resolution: {integrity: sha512-VcjByo7XpdLS4o9T8t99JtgxkdMcNWD3yHU/n6CLEz3bkmKDRZyYQ/wmSf6daum8ZXqfUAgFeCZSpJZIMxaCzg==} - - '@motionone/generators@10.18.0': - resolution: {integrity: sha512-+qfkC2DtkDj4tHPu+AFKVfR/C30O1vYdvsGYaR13W/1cczPrrcjdvYCj0VLFuRMN+lP1xvpNZHCRNM4fBzn1jg==} - - '@motionone/svelte@10.16.4': - resolution: {integrity: sha512-zRVqk20lD1xqe+yEDZhMYgftsuHc25+9JSo+r0a0OWUJFocjSV9D/+UGhX4xgJsuwB9acPzXLr20w40VnY2PQA==} - - '@motionone/types@10.17.1': - resolution: {integrity: sha512-KaC4kgiODDz8hswCrS0btrVrzyU2CSQKO7Ps90ibBVSQmjkrt2teqta6/sOG59v7+dPnKMAg13jyqtMKV2yJ7A==} - - '@motionone/utils@10.18.0': - resolution: {integrity: sha512-3XVF7sgyTSI2KWvTf6uLlBJ5iAgRgmvp3bpuOiQJvInd4nZ19ET8lX5unn30SlmRH7hXbBbH+Gxd0m0klJ3Xtw==} - - '@motionone/vue@10.16.4': - resolution: {integrity: sha512-z10PF9JV6SbjFq+/rYabM+8CVlMokgl8RFGvieSGNTmrkQanfHn+15XBrhG3BgUfvmTeSeyShfOHpG0i9zEdcg==} - deprecated: Motion One for Vue is deprecated. Use Oku Motion instead https://oku-ui.com/motion - - '@noble/curves@1.4.0': - resolution: {integrity: sha512-p+4cb332SFCrReJkCYe8Xzm0OWi4Jji5jVdIZRL/PmacmDkFNw6MrrV+gGpiPxLHbV+zKFRywUWbaseT+tZRXg==} - - '@noble/curves@1.4.2': - resolution: {integrity: sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==} - - '@noble/hashes@1.4.0': - resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} - engines: {node: '>= 16'} - - '@noble/hashes@1.5.0': - resolution: {integrity: sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==} - engines: {node: ^14.21.3 || >=16} - - '@nodelib/fs.scandir@2.1.5': - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - - '@nodelib/fs.stat@2.0.5': - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - - '@nodelib/fs.walk@1.2.8': - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} - - '@parcel/watcher-android-arm64@2.4.1': - resolution: {integrity: sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [android] - - '@parcel/watcher-darwin-arm64@2.4.1': - resolution: {integrity: sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [darwin] - - '@parcel/watcher-darwin-x64@2.4.1': - resolution: {integrity: sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [darwin] - - '@parcel/watcher-freebsd-x64@2.4.1': - resolution: {integrity: sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [freebsd] - - '@parcel/watcher-linux-arm-glibc@2.4.1': - resolution: {integrity: sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==} - engines: {node: '>= 10.0.0'} - cpu: [arm] - os: [linux] - - '@parcel/watcher-linux-arm64-glibc@2.4.1': - resolution: {integrity: sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [linux] - - '@parcel/watcher-linux-arm64-musl@2.4.1': - resolution: {integrity: sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [linux] - - '@parcel/watcher-linux-x64-glibc@2.4.1': - resolution: {integrity: sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [linux] - - '@parcel/watcher-linux-x64-musl@2.4.1': - resolution: {integrity: sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [linux] - - '@parcel/watcher-wasm@2.4.1': - resolution: {integrity: sha512-/ZR0RxqxU/xxDGzbzosMjh4W6NdYFMqq2nvo2b8SLi7rsl/4jkL8S5stIikorNkdR50oVDvqb/3JT05WM+CRRA==} - engines: {node: '>= 10.0.0'} - bundledDependencies: - - napi-wasm - - '@parcel/watcher-win32-arm64@2.4.1': - resolution: {integrity: sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [win32] - - '@parcel/watcher-win32-ia32@2.4.1': - resolution: {integrity: sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==} - engines: {node: '>= 10.0.0'} - cpu: [ia32] - os: [win32] - - '@parcel/watcher-win32-x64@2.4.1': - resolution: {integrity: sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [win32] - - '@parcel/watcher@2.4.1': - resolution: {integrity: sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==} - engines: {node: '>= 10.0.0'} - - '@react-native-community/cli-clean@14.0.0': - resolution: {integrity: sha512-kvHthZTNur/wLLx8WL5Oh+r04zzzFAX16r8xuaLhu9qGTE6Th1JevbsIuiQb5IJqD8G/uZDKgIZ2a0/lONcbJg==} - - '@react-native-community/cli-config@14.0.0': - resolution: {integrity: sha512-2Nr8KR+dgn1z+HLxT8piguQ1SoEzgKJnOPQKE1uakxWaRFcQ4LOXgzpIAscYwDW6jmQxdNqqbg2cRUoOS7IMtQ==} - - '@react-native-community/cli-debugger-ui@14.0.0': - resolution: {integrity: sha512-JpfzILfU7eKE9+7AMCAwNJv70H4tJGVv3ZGFqSVoK1YHg5QkVEGsHtoNW8AsqZRS6Fj4os+Fmh+r+z1L36sPmg==} - - '@react-native-community/cli-debugger-ui@14.0.0-alpha.11': - resolution: {integrity: sha512-0wCNQxhCniyjyMXgR1qXliY180y/2QbvoiYpp2MleGQADr5M1b8lgI4GoyADh5kE+kX3VL0ssjgyxpmbpCD86A==} - - '@react-native-community/cli-doctor@14.0.0': - resolution: {integrity: sha512-in6jylHjaPUaDzV+JtUblh8m9JYIHGjHOf6Xn57hrmE5Zwzwuueoe9rSMHF1P0mtDgRKrWPzAJVejElddfptWA==} - - '@react-native-community/cli-platform-android@14.0.0': - resolution: {integrity: sha512-nt7yVz3pGKQXnVa5MAk7zR+1n41kNKD3Hi2OgybH5tVShMBo7JQoL2ZVVH6/y/9wAwI/s7hXJgzf1OIP3sMq+Q==} - - '@react-native-community/cli-platform-apple@14.0.0': - resolution: {integrity: sha512-WniJL8vR4MeIsjqio2hiWWuUYUJEL3/9TDL5aXNwG68hH3tYgK3742+X9C+vRzdjTmf5IKc/a6PwLsdplFeiwQ==} - - '@react-native-community/cli-platform-ios@14.0.0': - resolution: {integrity: sha512-8kxGv7mZ5nGMtueQDq+ndu08f0ikf3Zsqm3Ix8FY5KCXpSgP14uZloO2GlOImq/zFESij+oMhCkZJGggpWpfAw==} - - '@react-native-community/cli-server-api@14.0.0': - resolution: {integrity: sha512-A0FIsj0QCcDl1rswaVlChICoNbfN+mkrKB5e1ab5tOYeZMMyCHqvU+eFvAvXjHUlIvVI+LbqCkf4IEdQ6H/2AQ==} - - '@react-native-community/cli-server-api@14.0.0-alpha.11': - resolution: {integrity: sha512-I7YeYI7S5wSxnQAqeG8LNqhT99FojiGIk87DU0vTp6U8hIMLcA90fUuBAyJY38AuQZ12ZJpGa8ObkhIhWzGkvg==} - - '@react-native-community/cli-tools@14.0.0': - resolution: {integrity: sha512-L7GX5hyYYv0ZWbAyIQKzhHuShnwDqlKYB0tqn57wa5riGCaxYuRPTK+u4qy+WRCye7+i8M4Xj6oQtSd4z0T9cA==} - - '@react-native-community/cli-tools@14.0.0-alpha.11': - resolution: {integrity: sha512-HQCfVnX9aqRdKdLxmQy4fUAUo+YhNGlBV7ZjOayPbuEGWJ4RN+vSy0Cawk7epo7hXd6vKzc7P7y3HlU6Kxs7+w==} - - '@react-native-community/cli-types@14.0.0': - resolution: {integrity: sha512-CMUevd1pOWqvmvutkUiyQT2lNmMHUzSW7NKc1xvHgg39NjbS58Eh2pMzIUP85IwbYNeocfYc3PH19vA/8LnQtg==} - - '@react-native-community/cli@14.0.0': - resolution: {integrity: sha512-KwMKJB5jsDxqOhT8CGJ55BADDAYxlYDHv5R/ASQlEcdBEZxT0zZmnL0iiq2VqzETUy+Y/Nop+XDFgqyoQm0C2w==} - engines: {node: '>=18'} - hasBin: true - - '@react-native/assets-registry@0.75.2': - resolution: {integrity: sha512-P1dLHjpUeC0AIkDHRYcx0qLMr+p92IPWL3pmczzo6T76Qa9XzruQOYy0jittxyBK91Csn6HHQ/eit8TeXW8MVw==} - engines: {node: '>=18'} - - '@react-native/babel-plugin-codegen@0.75.2': - resolution: {integrity: sha512-BIKVh2ZJPkzluUGgCNgpoh6NTHgX8j04FCS0Z/rTmRJ66hir/EUBl8frMFKrOy/6i4VvZEltOWB5eWfHe1AYgw==} - engines: {node: '>=18'} - - '@react-native/babel-preset@0.75.2': - resolution: {integrity: sha512-mprpsas+WdCEMjQZnbDiAC4KKRmmLbMB+o/v4mDqKlH4Mcm7RdtP5t80MZGOVCHlceNp1uEIpXywx69DNwgbgg==} - engines: {node: '>=18'} - peerDependencies: - '@babel/core': '*' - - '@react-native/codegen@0.75.2': - resolution: {integrity: sha512-OkWdbtO2jTkfOXfj3ibIL27rM6LoaEuApOByU2G8X+HS6v9U87uJVJlMIRWBDmnxODzazuHwNVA2/wAmSbucaw==} - engines: {node: '>=18'} - peerDependencies: - '@babel/preset-env': ^7.1.6 - - '@react-native/community-cli-plugin@0.75.2': - resolution: {integrity: sha512-/tz0bzVja4FU0aAimzzQ7iYR43peaD6pzksArdrrGhlm8OvFYAQPOYSNeIQVMSarwnkNeg1naFKaeYf1o3++yA==} - engines: {node: '>=18'} - - '@react-native/debugger-frontend@0.75.2': - resolution: {integrity: sha512-qIC6mrlG8RQOPaYLZQiJwqnPchAVGnHWcVDeQxPMPLkM/D5+PC8tuKWYOwgLcEau3RZlgz7QQNk31Qj2/OJG6Q==} - engines: {node: '>=18'} - - '@react-native/dev-middleware@0.75.2': - resolution: {integrity: sha512-fTC5m2uVjYp1XPaIJBFgscnQjPdGVsl96z/RfLgXDq0HBffyqbg29ttx6yTCx7lIa9Gdvf6nKQom+e+Oa4izSw==} - engines: {node: '>=18'} - - '@react-native/gradle-plugin@0.75.2': - resolution: {integrity: sha512-AELeAOCZi3B2vE6SeN+mjpZjjqzqa76yfFBB3L3f3NWiu4dm/YClTGOj+5IVRRgbt8LDuRImhDoaj7ukheXr4Q==} - engines: {node: '>=18'} - - '@react-native/js-polyfills@0.75.2': - resolution: {integrity: sha512-AtLd3mbiE+FXK2Ru3l2NFOXDhUvzdUsCP4qspUw0haVaO/9xzV97RVD2zz0lur2f/LmZqQ2+KXyYzr7048b5iw==} - engines: {node: '>=18'} - - '@react-native/metro-babel-transformer@0.75.2': - resolution: {integrity: sha512-EygglCCuOub2sZ00CSIiEekCXoGL2XbOC6ssOB47M55QKvhdPG/0WBQXvmOmiN42uZgJK99Lj749v4rB0PlPIQ==} - engines: {node: '>=18'} - peerDependencies: - '@babel/core': '*' - - '@react-native/normalize-colors@0.75.2': - resolution: {integrity: sha512-nPwWJFtsqNFS/qSG9yDOiSJ64mjG7RCP4X/HXFfyWzCM1jq49h/DYBdr+c3e7AvTKGIdy0gGT3vgaRUHZFVdUQ==} - - '@react-native/virtualized-lists@0.75.2': - resolution: {integrity: sha512-pD5SVCjxc8k+JdoyQ+IlulBTEqJc3S4KUKsmv5zqbNCyETB0ZUvd4Su7bp+lLF6ALxx6KKmbGk8E3LaWEjUFFQ==} - engines: {node: '>=18'} - peerDependencies: - '@types/react': ^18.2.6 - react: '*' - react-native: '*' - peerDependenciesMeta: - '@types/react': - optional: true - - '@rollup/rollup-android-arm-eabi@4.21.2': - resolution: {integrity: sha512-fSuPrt0ZO8uXeS+xP3b+yYTCBUd05MoSp2N/MFOgjhhUhMmchXlpTQrTpI8T+YAwAQuK7MafsCOxW7VrPMrJcg==} - cpu: [arm] - os: [android] - - '@rollup/rollup-android-arm64@4.21.2': - resolution: {integrity: sha512-xGU5ZQmPlsjQS6tzTTGwMsnKUtu0WVbl0hYpTPauvbRAnmIvpInhJtgjj3mcuJpEiuUw4v1s4BimkdfDWlh7gA==} - cpu: [arm64] - os: [android] - - '@rollup/rollup-darwin-arm64@4.21.2': - resolution: {integrity: sha512-99AhQ3/ZMxU7jw34Sq8brzXqWH/bMnf7ZVhvLk9QU2cOepbQSVTns6qoErJmSiAvU3InRqC2RRZ5ovh1KN0d0Q==} - cpu: [arm64] - os: [darwin] - - '@rollup/rollup-darwin-x64@4.21.2': - resolution: {integrity: sha512-ZbRaUvw2iN/y37x6dY50D8m2BnDbBjlnMPotDi/qITMJ4sIxNY33HArjikDyakhSv0+ybdUxhWxE6kTI4oX26w==} - cpu: [x64] - os: [darwin] - - '@rollup/rollup-linux-arm-gnueabihf@4.21.2': - resolution: {integrity: sha512-ztRJJMiE8nnU1YFcdbd9BcH6bGWG1z+jP+IPW2oDUAPxPjo9dverIOyXz76m6IPA6udEL12reYeLojzW2cYL7w==} - cpu: [arm] - os: [linux] - - '@rollup/rollup-linux-arm-musleabihf@4.21.2': - resolution: {integrity: sha512-flOcGHDZajGKYpLV0JNc0VFH361M7rnV1ee+NTeC/BQQ1/0pllYcFmxpagltANYt8FYf9+kL6RSk80Ziwyhr7w==} - cpu: [arm] - os: [linux] - - '@rollup/rollup-linux-arm64-gnu@4.21.2': - resolution: {integrity: sha512-69CF19Kp3TdMopyteO/LJbWufOzqqXzkrv4L2sP8kfMaAQ6iwky7NoXTp7bD6/irKgknDKM0P9E/1l5XxVQAhw==} - cpu: [arm64] - os: [linux] - - '@rollup/rollup-linux-arm64-musl@4.21.2': - resolution: {integrity: sha512-48pD/fJkTiHAZTnZwR0VzHrao70/4MlzJrq0ZsILjLW/Ab/1XlVUStYyGt7tdyIiVSlGZbnliqmult/QGA2O2w==} - cpu: [arm64] - os: [linux] - - '@rollup/rollup-linux-powerpc64le-gnu@4.21.2': - resolution: {integrity: sha512-cZdyuInj0ofc7mAQpKcPR2a2iu4YM4FQfuUzCVA2u4HI95lCwzjoPtdWjdpDKyHxI0UO82bLDoOaLfpZ/wviyQ==} - cpu: [ppc64] - os: [linux] - - '@rollup/rollup-linux-riscv64-gnu@4.21.2': - resolution: {integrity: sha512-RL56JMT6NwQ0lXIQmMIWr1SW28z4E4pOhRRNqwWZeXpRlykRIlEpSWdsgNWJbYBEWD84eocjSGDu/XxbYeCmwg==} - cpu: [riscv64] - os: [linux] - - '@rollup/rollup-linux-s390x-gnu@4.21.2': - resolution: {integrity: sha512-PMxkrWS9z38bCr3rWvDFVGD6sFeZJw4iQlhrup7ReGmfn7Oukrr/zweLhYX6v2/8J6Cep9IEA/SmjXjCmSbrMQ==} - cpu: [s390x] - os: [linux] - - '@rollup/rollup-linux-x64-gnu@4.21.2': - resolution: {integrity: sha512-B90tYAUoLhU22olrafY3JQCFLnT3NglazdwkHyxNDYF/zAxJt5fJUB/yBoWFoIQ7SQj+KLe3iL4BhOMa9fzgpw==} - cpu: [x64] - os: [linux] - - '@rollup/rollup-linux-x64-musl@4.21.2': - resolution: {integrity: sha512-7twFizNXudESmC9oneLGIUmoHiiLppz/Xs5uJQ4ShvE6234K0VB1/aJYU3f/4g7PhssLGKBVCC37uRkkOi8wjg==} - cpu: [x64] - os: [linux] - - '@rollup/rollup-win32-arm64-msvc@4.21.2': - resolution: {integrity: sha512-9rRero0E7qTeYf6+rFh3AErTNU1VCQg2mn7CQcI44vNUWM9Ze7MSRS/9RFuSsox+vstRt97+x3sOhEey024FRQ==} - cpu: [arm64] - os: [win32] - - '@rollup/rollup-win32-ia32-msvc@4.21.2': - resolution: {integrity: sha512-5rA4vjlqgrpbFVVHX3qkrCo/fZTj1q0Xxpg+Z7yIo3J2AilW7t2+n6Q8Jrx+4MrYpAnjttTYF8rr7bP46BPzRw==} - cpu: [ia32] - os: [win32] - - '@rollup/rollup-win32-x64-msvc@4.21.2': - resolution: {integrity: sha512-6UUxd0+SKomjdzuAcp+HAmxw1FlGBnl1v2yEPSabtx4lBfdXHDVsW7+lQkgz9cNFJGY3AWR7+V8P5BqkD9L9nA==} - cpu: [x64] - os: [win32] - - '@safe-global/safe-apps-provider@0.18.3': - resolution: {integrity: sha512-f/0cNv3S4v7p8rowAjj0hDCg8Q8P/wBjp5twkNWeBdvd0RDr7BuRBPPk74LCqmjQ82P+1ltLlkmVFSmxTIT7XQ==} - - '@safe-global/safe-apps-sdk@9.1.0': - resolution: {integrity: sha512-N5p/ulfnnA2Pi2M3YeWjULeWbjo7ei22JwU/IXnhoHzKq3pYCN6ynL9mJBOlvDVv892EgLPCWCOwQk/uBT2v0Q==} - - '@safe-global/safe-gateway-typescript-sdk@3.22.2': - resolution: {integrity: sha512-Y0yAxRaB98LFp2Dm+ACZqBSdAmI3FlpH/LjxOZ94g/ouuDJecSq0iR26XZ5QDuEL8Rf+L4jBJaoDC08CD0KkJw==} - engines: {node: '>=16'} - - '@scure/base@1.1.7': - resolution: {integrity: sha512-PPNYBslrLNNUQ/Yad37MHYsNQtK67EhWb6WtSvNLLPo7SdVZgkUjD6Dg+5On7zNwmskf8OX7I7Nx5oN+MIWE0g==} - - '@scure/bip32@1.4.0': - resolution: {integrity: sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==} - - '@scure/bip39@1.3.0': - resolution: {integrity: sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==} - - '@sideway/address@4.1.5': - resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} - - '@sideway/formula@3.0.1': - resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==} - - '@sideway/pinpoint@2.0.0': - resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} - - '@sinclair/typebox@0.27.8': - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - - '@sinonjs/commons@3.0.1': - resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} - - '@sinonjs/fake-timers@10.3.0': - resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} - - '@socket.io/component-emitter@3.1.2': - resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==} - - '@stablelib/aead@1.0.1': - resolution: {integrity: sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg==} - - '@stablelib/binary@1.0.1': - resolution: {integrity: sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==} - - '@stablelib/bytes@1.0.1': - resolution: {integrity: sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ==} - - '@stablelib/chacha20poly1305@1.0.1': - resolution: {integrity: sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA==} - - '@stablelib/chacha@1.0.1': - resolution: {integrity: sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg==} - - '@stablelib/constant-time@1.0.1': - resolution: {integrity: sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg==} - - '@stablelib/ed25519@1.0.3': - resolution: {integrity: sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg==} - - '@stablelib/hash@1.0.1': - resolution: {integrity: sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg==} - - '@stablelib/hkdf@1.0.1': - resolution: {integrity: sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g==} - - '@stablelib/hmac@1.0.1': - resolution: {integrity: sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA==} - - '@stablelib/int@1.0.1': - resolution: {integrity: sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==} - - '@stablelib/keyagreement@1.0.1': - resolution: {integrity: sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg==} - - '@stablelib/poly1305@1.0.1': - resolution: {integrity: sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA==} - - '@stablelib/random@1.0.2': - resolution: {integrity: sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==} - - '@stablelib/sha256@1.0.1': - resolution: {integrity: sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ==} - - '@stablelib/sha512@1.0.1': - resolution: {integrity: sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw==} - - '@stablelib/wipe@1.0.1': - resolution: {integrity: sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==} - - '@stablelib/x25519@1.0.3': - resolution: {integrity: sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw==} - - '@tanstack/query-core@5.45.0': - resolution: {integrity: sha512-RVfIZQmFUTdjhSAAblvueimfngYyfN6HlwaJUPK71PKd7yi43Vs1S/rdimmZedPWX/WGppcq/U1HOj7O7FwYxw==} - - '@tanstack/react-query@5.45.1': - resolution: {integrity: sha512-mYYfJujKg2kxmkRRjA6nn4YKG3ITsKuH22f1kteJ5IuVQqgKUgbaSQfYwVP0gBS05mhwxO03HVpD0t7BMN7WOA==} - peerDependencies: - react: ^18.0.0 - - '@types/babel__core@7.20.5': - resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} - - '@types/babel__generator@7.6.8': - resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} - - '@types/babel__template@7.4.4': - resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} - - '@types/babel__traverse@7.20.6': - resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} - - '@types/debug@4.1.12': - resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} - - '@types/dom-screen-wake-lock@1.0.3': - resolution: {integrity: sha512-3Iten7X3Zgwvk6kh6/NRdwN7WbZ760YgFCsF5AxDifltUQzW1RaW+WRmcVtgwFzLjaNu64H+0MPJ13yRa8g3Dw==} - - '@types/estree@1.0.5': - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - - '@types/istanbul-lib-coverage@2.0.6': - resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - - '@types/istanbul-lib-report@3.0.3': - resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} - - '@types/istanbul-reports@3.0.4': - resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} - - '@types/ms@0.7.34': - resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} - - '@types/node-forge@1.3.11': - resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} - - '@types/node@22.5.2': - resolution: {integrity: sha512-acJsPTEqYqulZS/Yp/S3GgeE6GZ0qYODUR8aVr/DkhHQ8l9nd4j5x1/ZJy9/gHrRlFMqkO6i0I3E27Alu4jjPg==} - - '@types/prop-types@15.7.12': - resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} - - '@types/react-dom@18.3.0': - resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} - - '@types/react@18.3.5': - resolution: {integrity: sha512-WeqMfGJLGuLCqHGYRGHxnKrXcTitc6L/nBUWfWPcTarG3t9PsquqUMuVeXZeca+mglY4Vo5GZjCi0A3Or2lnxA==} - - '@types/secp256k1@4.0.6': - resolution: {integrity: sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==} - - '@types/stack-utils@2.0.3': - resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} - - '@types/trusted-types@2.0.7': - resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} - - '@types/yargs-parser@21.0.3': - resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - - '@types/yargs@15.0.19': - resolution: {integrity: sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==} - - '@types/yargs@17.0.33': - resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} - - '@vitejs/plugin-react@4.3.1': - resolution: {integrity: sha512-m/V2syj5CuVnaxcUJOQRel/Wr31FFXRFlnOoq1TVtkCxsY5veGMTEmpWHndrhB2U8ScHtCQB1e+4hWYExQc6Lg==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - vite: ^4.2.0 || ^5.0.0 - - '@wagmi/cli@2.1.15': - resolution: {integrity: sha512-mtTxbuCDRRSd/2tPAklM+4vFOq5E/0zS5OfLE3Ax2KcUWciOnjLJ0m6BAQ6HzqY9YfWo8DXa7UqxzUBkvPYltg==} - hasBin: true - peerDependencies: - typescript: '>=5.0.4' - peerDependenciesMeta: - typescript: - optional: true - - '@wagmi/connectors@5.1.8': - resolution: {integrity: sha512-LdImInHFogis83/Yhq0vJLracIFUSl9m8961JEWS+lGDPuU2QbVg4Rv2VAfratfRoR8oDuSJNTvIvp9Kyiu5ug==} - peerDependencies: - '@wagmi/core': 2.13.4 - typescript: '>=5.0.4' - viem: 2.x - peerDependenciesMeta: - typescript: - optional: true - - '@wagmi/core@2.13.4': - resolution: {integrity: sha512-J6gfxHYr8SCc/BzEa712LnI+qLFs5K2nBLupwQqQl4WiAlCu8SdcpbZokqiwfCMYhIRMj0+YFEP9qe4ypcexmw==} - peerDependencies: - '@tanstack/query-core': '>=5.0.0' - typescript: '>=5.0.4' - viem: 2.x - peerDependenciesMeta: - '@tanstack/query-core': - optional: true - typescript: - optional: true - - '@walletconnect/core@2.15.2': - resolution: {integrity: sha512-u4BGuazSNAQ48QBY7EphanBuBN6EJWyD5MXi83n1wXwfPQWAu0XNvmOjjF+xmMI5TsYH9N6Y78O6HP/VX9EOvg==} - engines: {node: '>=18'} - - '@walletconnect/environment@1.0.1': - resolution: {integrity: sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg==} - - '@walletconnect/ethereum-provider@2.15.2': - resolution: {integrity: sha512-POH2Wov2cXdASDDyv2bwY9Y2JzkGzGFS4SzltMt1zxKUMTyoJ8xKAgWaxoiJw0pqsLGY7T5msmk9qeKOavQtAA==} - - '@walletconnect/events@1.0.1': - resolution: {integrity: sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ==} - - '@walletconnect/heartbeat@1.2.2': - resolution: {integrity: sha512-uASiRmC5MwhuRuf05vq4AT48Pq8RMi876zV8rr8cV969uTOzWdB/k+Lj5yI2PBtB1bGQisGen7MM1GcZlQTBXw==} - - '@walletconnect/jsonrpc-http-connection@1.0.8': - resolution: {integrity: sha512-+B7cRuaxijLeFDJUq5hAzNyef3e3tBDIxyaCNmFtjwnod5AGis3RToNqzFU33vpVcxFhofkpE7Cx+5MYejbMGw==} - - '@walletconnect/jsonrpc-provider@1.0.14': - resolution: {integrity: sha512-rtsNY1XqHvWj0EtITNeuf8PHMvlCLiS3EjQL+WOkxEOA4KPxsohFnBDeyPYiNm4ZvkQdLnece36opYidmtbmow==} - - '@walletconnect/jsonrpc-types@1.0.4': - resolution: {integrity: sha512-P6679fG/M+wuWg9TY8mh6xFSdYnFyFjwFelxyISxMDrlbXokorEVXYOxiqEbrU3x1BmBoCAJJ+vtEaEoMlpCBQ==} - - '@walletconnect/jsonrpc-utils@1.0.8': - resolution: {integrity: sha512-vdeb03bD8VzJUL6ZtzRYsFMq1eZQcM3EAzT0a3st59dyLfJ0wq+tKMpmGH7HlB7waD858UWgfIcudbPFsbzVdw==} - - '@walletconnect/jsonrpc-ws-connection@1.0.14': - resolution: {integrity: sha512-Jsl6fC55AYcbkNVkwNM6Jo+ufsuCQRqViOQ8ZBPH9pRREHH9welbBiszuTLqEJiQcO/6XfFDl6bzCJIkrEi8XA==} - - '@walletconnect/keyvaluestorage@1.1.1': - resolution: {integrity: sha512-V7ZQq2+mSxAq7MrRqDxanTzu2RcElfK1PfNYiaVnJgJ7Q7G7hTVwF8voIBx92qsRyGHZihrwNPHuZd1aKkd0rA==} - peerDependencies: - '@react-native-async-storage/async-storage': 1.x - peerDependenciesMeta: - '@react-native-async-storage/async-storage': - optional: true - - '@walletconnect/logger@2.1.2': - resolution: {integrity: sha512-aAb28I3S6pYXZHQm5ESB+V6rDqIYfsnHaQyzFbwUUBFY4H0OXx/YtTl8lvhUNhMMfb9UxbwEBS253TlXUYJWSw==} - - '@walletconnect/modal-core@2.6.2': - resolution: {integrity: sha512-cv8ibvdOJQv2B+nyxP9IIFdxvQznMz8OOr/oR/AaUZym4hjXNL/l1a2UlSQBXrVjo3xxbouMxLb3kBsHoYP2CA==} - - '@walletconnect/modal-ui@2.6.2': - resolution: {integrity: sha512-rbdstM1HPGvr7jprQkyPggX7rP4XiCG85ZA+zWBEX0dVQg8PpAgRUqpeub4xQKDgY7pY/xLRXSiCVdWGqvG2HA==} - - '@walletconnect/modal@2.6.2': - resolution: {integrity: sha512-eFopgKi8AjKf/0U4SemvcYw9zlLpx9njVN8sf6DAkowC2Md0gPU/UNEbH1Wwj407pEKnEds98pKWib1NN1ACoA==} - - '@walletconnect/relay-api@1.0.11': - resolution: {integrity: sha512-tLPErkze/HmC9aCmdZOhtVmYZq1wKfWTJtygQHoWtgg722Jd4homo54Cs4ak2RUFUZIGO2RsOpIcWipaua5D5Q==} - - '@walletconnect/relay-auth@1.0.4': - resolution: {integrity: sha512-kKJcS6+WxYq5kshpPaxGHdwf5y98ZwbfuS4EE/NkQzqrDFm5Cj+dP8LofzWvjrrLkZq7Afy7WrQMXdLy8Sx7HQ==} - - '@walletconnect/safe-json@1.0.2': - resolution: {integrity: sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA==} - - '@walletconnect/sign-client@2.15.2': - resolution: {integrity: sha512-Yp4/z3IdTMngbjr7Zy7Qi1X6EZDH4nxY91X6K2KpA3MjLW0yPTGalEJgJ4p9WH7fmHRlwvfR4hjwM5eQcLo5Zg==} - - '@walletconnect/time@1.0.2': - resolution: {integrity: sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g==} - - '@walletconnect/types@2.15.2': - resolution: {integrity: sha512-TGnQZYWZJJ3I8dqgpMPwhO1IRXDuY8/tWPI0nNWJDyTK7b3E9prDGugnPmDDjpTYVoETnUTgW/jQaHNTq4yV7Q==} - - '@walletconnect/universal-provider@2.15.2': - resolution: {integrity: sha512-AWK5nUA4tJ57C8JDPOmqAWf5aF1VXIN4JpkqKekNKMP4+xiBTotKrwj0XD5xvtDUyaqjhRZPvYmUk24z1udrHA==} - - '@walletconnect/utils@2.15.2': - resolution: {integrity: sha512-H+fNH9cHDezdaEiEsO7/3URSIzqhumuacwB/+0PX0sSCoktmU9AfTqA8fJGG43zOPixleBqOymzO6owB1Y7jtQ==} - - '@walletconnect/window-getters@1.0.1': - resolution: {integrity: sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q==} - - '@walletconnect/window-metadata@1.0.1': - resolution: {integrity: sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA==} - - abitype@1.0.5: - resolution: {integrity: sha512-YzDhti7cjlfaBhHutMaboYB21Ha3rXR9QTkNJFzYC4kC8YclaiwPBBBJY8ejFdu2wnJeZCVZSMlQJ7fi8S6hsw==} - peerDependencies: - typescript: '>=5.0.4' - zod: ^3 >=3.22.0 - peerDependenciesMeta: - typescript: - optional: true - zod: - optional: true - - abitype@1.0.6: - resolution: {integrity: sha512-MMSqYh4+C/aVqI2RQaWqbvI4Kxo5cQV40WQ4QFtDnNzCkqChm8MuENhElmynZlO0qUy/ObkEUaXtKqYnx1Kp3A==} - peerDependencies: - typescript: '>=5.0.4' - zod: ^3 >=3.22.0 - peerDependenciesMeta: - typescript: - optional: true - zod: - optional: true - - abort-controller@3.0.0: - resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} - engines: {node: '>=6.5'} - - accepts@1.3.8: - resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} - engines: {node: '>= 0.6'} - - acorn@8.12.1: - resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} - engines: {node: '>=0.4.0'} - hasBin: true - - anser@1.4.10: - resolution: {integrity: sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==} - - ansi-fragments@0.2.1: - resolution: {integrity: sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==} - - ansi-regex@4.1.1: - resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} - engines: {node: '>=6'} - - ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - - ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} - engines: {node: '>=12'} - - ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - - ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - - ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} - - anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} - - appdirsjs@1.2.7: - resolution: {integrity: sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==} - - argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - - argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - - asap@2.0.6: - resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} - - ast-types@0.15.2: - resolution: {integrity: sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==} - engines: {node: '>=4'} - - astral-regex@1.0.0: - resolution: {integrity: sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==} - engines: {node: '>=4'} - - async-limiter@1.0.1: - resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} - - async-mutex@0.2.6: - resolution: {integrity: sha512-Hs4R+4SPgamu6rSGW8C7cV9gaWUKEHykfzCCvIRuaVv636Ju10ZdeUbvb4TBEW0INuq2DHZqXbK4Nd3yG4RaRw==} - - atomic-sleep@1.0.0: - resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} - engines: {node: '>=8.0.0'} - - available-typed-arrays@1.0.7: - resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} - engines: {node: '>= 0.4'} - - babel-core@7.0.0-bridge.0: - resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - babel-plugin-polyfill-corejs2@0.4.11: - resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - babel-plugin-polyfill-corejs3@0.10.6: - resolution: {integrity: sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - babel-plugin-polyfill-regenerator@0.6.2: - resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - babel-plugin-transform-flow-enums@0.0.2: - resolution: {integrity: sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==} - - balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - - base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - - binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} - - bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - - bl@5.1.0: - resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==} - - bn.js@4.12.0: - resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} - - bn.js@5.2.1: - resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} - - bowser@2.11.0: - resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} - - brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - - braces@3.0.3: - resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} - engines: {node: '>=8'} - - brorand@1.1.0: - resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} - - browserslist@4.23.3: - resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - - bser@2.1.1: - resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} - - buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - - buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - - buffer@6.0.3: - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - - bufferutil@4.0.8: - resolution: {integrity: sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==} - engines: {node: '>=6.14.2'} - - bundle-require@4.2.1: - resolution: {integrity: sha512-7Q/6vkyYAwOmQNRw75x+4yRtZCZJXUDmHHlFdkiV0wgv/reNjtJwpu1jPJ0w2kbEpIM0uoKI3S4/f39dU7AjSA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - peerDependencies: - esbuild: '>=0.17' - - bytes@3.0.0: - resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} - engines: {node: '>= 0.8'} - - cac@6.7.14: - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} - engines: {node: '>=8'} - - call-bind@1.0.7: - resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} - engines: {node: '>= 0.4'} - - caller-callsite@2.0.0: - resolution: {integrity: sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==} - engines: {node: '>=4'} - - caller-path@2.0.0: - resolution: {integrity: sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==} - engines: {node: '>=4'} - - callsites@2.0.0: - resolution: {integrity: sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==} - engines: {node: '>=4'} - - callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - - camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} - - camelcase@6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} - - caniuse-lite@1.0.30001655: - resolution: {integrity: sha512-jRGVy3iSGO5Uutn2owlb5gR6qsGngTw9ZTb4ali9f3glshcNmJ2noam4Mo9zia5P9Dk3jNNydy7vQjuE5dQmfg==} - - chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} - - chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - - chalk@5.3.0: - resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - - change-case@5.4.4: - resolution: {integrity: sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==} - - chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} - - chrome-launcher@0.15.2: - resolution: {integrity: sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==} - engines: {node: '>=12.13.0'} - hasBin: true - - chromium-edge-launcher@0.2.0: - resolution: {integrity: sha512-JfJjUnq25y9yg4FABRRVPmBGWPZZi+AQXT4mxupb67766/0UlhG8PAZCz6xzEMXTbW3CsSoE8PcCWA49n35mKg==} - - ci-info@2.0.0: - resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} - - ci-info@3.9.0: - resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} - engines: {node: '>=8'} - - citty@0.1.6: - resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} - - cli-cursor@3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} - - cli-cursor@4.0.0: - resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - cli-spinners@2.9.2: - resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} - engines: {node: '>=6'} - - clipboardy@4.0.0: - resolution: {integrity: sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==} - engines: {node: '>=18'} - - cliui@6.0.0: - resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} - - cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} - - clone-deep@4.0.1: - resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} - engines: {node: '>=6'} - - clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} - - clsx@1.2.1: - resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} - engines: {node: '>=6'} - - color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - - color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - - color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - - color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - - colorette@1.4.0: - resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==} - - command-exists@1.2.9: - resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==} - - commander@2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - - commander@9.5.0: - resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} - engines: {node: ^12.20.0 || >=14} - - commondir@1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - - compressible@2.0.18: - resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} - engines: {node: '>= 0.6'} - - compression@1.7.4: - resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} - engines: {node: '>= 0.8.0'} - - concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - - confbox@0.1.7: - resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} - - connect@3.7.0: - resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==} - engines: {node: '>= 0.10.0'} - - consola@3.2.3: - resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} - engines: {node: ^14.18.0 || >=16.10.0} - - convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - - cookie-es@1.2.2: - resolution: {integrity: sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==} - - core-js-compat@3.38.1: - resolution: {integrity: sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==} - - core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - - cosmiconfig@5.2.1: - resolution: {integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==} - engines: {node: '>=4'} - - cosmiconfig@9.0.0: - resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} - engines: {node: '>=14'} - peerDependencies: - typescript: '>=4.9.5' - peerDependenciesMeta: - typescript: - optional: true - - crc-32@1.2.2: - resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} - engines: {node: '>=0.8'} - hasBin: true - - cross-fetch@3.1.8: - resolution: {integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==} - - cross-fetch@4.0.0: - resolution: {integrity: sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==} - - cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} - - crossws@0.2.4: - resolution: {integrity: sha512-DAxroI2uSOgUKLz00NX6A8U/8EE3SZHmIND+10jkVSaypvyt57J5JEOxAQOL6lQxyzi/wZbTIwssU1uy69h5Vg==} - peerDependencies: - uWebSockets.js: '*' - peerDependenciesMeta: - uWebSockets.js: - optional: true - - csstype@3.1.3: - resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - - date-fns@2.30.0: - resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} - engines: {node: '>=0.11'} - - dayjs@1.11.13: - resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} - - debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - debug@4.3.6: - resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - decamelize@1.2.0: - resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} - engines: {node: '>=0.10.0'} - - decode-uri-component@0.2.2: - resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} - engines: {node: '>=0.10'} - - dedent@0.7.0: - resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} - - deepmerge@4.3.1: - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} - engines: {node: '>=0.10.0'} - - defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - - define-data-property@1.1.4: - resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} - engines: {node: '>= 0.4'} - - define-lazy-prop@2.0.0: - resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} - engines: {node: '>=8'} - - defu@6.1.4: - resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} - - denodeify@1.2.1: - resolution: {integrity: sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==} - - depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} - - destr@2.0.3: - resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} - - destroy@1.2.0: - resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - - detect-browser@5.3.0: - resolution: {integrity: sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==} - - detect-libc@1.0.3: - resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} - engines: {node: '>=0.10'} - hasBin: true - - dijkstrajs@1.0.3: - resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==} - - dotenv-expand@10.0.0: - resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==} - engines: {node: '>=12'} - - dotenv@16.4.5: - resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} - engines: {node: '>=12'} - - duplexify@4.1.3: - resolution: {integrity: sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==} - - eciesjs@0.3.20: - resolution: {integrity: sha512-Rz5AB8v9+xmMdS/R7RzWPe/R8DP5QfyrkA6ce4umJopoB5su2H2aDy/GcgIfwhmCwxnBkqGf/PbGzmKcGtIgGA==} - - ee-first@1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - - electron-to-chromium@1.5.13: - resolution: {integrity: sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==} - - elliptic@6.5.7: - resolution: {integrity: sha512-ESVCtTwiA+XhY3wyh24QqRGBoP3rEdDUl3EDUUo9tft074fi19IrdpH7hLCMMP3CIj7jb3W96rn8lt/BqIlt5Q==} - - emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - - encode-utf8@1.0.3: - resolution: {integrity: sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==} - - encodeurl@1.0.2: - resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} - engines: {node: '>= 0.8'} - - end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - - engine.io-client@6.5.4: - resolution: {integrity: sha512-GeZeeRjpD2qf49cZQ0Wvh/8NJNfeXkXXcoGh+F77oEAgo9gUHwT1fCRxSNU+YEEaysOJTnsFHmM5oAcPy4ntvQ==} - - engine.io-parser@5.2.3: - resolution: {integrity: sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==} - engines: {node: '>=10.0.0'} - - env-paths@2.2.1: - resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} - engines: {node: '>=6'} - - envinfo@7.13.0: - resolution: {integrity: sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==} - engines: {node: '>=4'} - hasBin: true - - error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - - error-stack-parser@2.1.4: - resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} - - errorhandler@1.5.1: - resolution: {integrity: sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==} - engines: {node: '>= 0.8'} - - es-define-property@1.0.0: - resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} - engines: {node: '>= 0.4'} - - es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} - - esbuild@0.19.12: - resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} - engines: {node: '>=12'} - hasBin: true - - esbuild@0.21.5: - resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} - engines: {node: '>=12'} - hasBin: true - - escalade@3.2.0: - resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} - engines: {node: '>=6'} - - escape-html@1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - - escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - - escape-string-regexp@2.0.0: - resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} - engines: {node: '>=8'} - - escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - - esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - - esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - - etag@1.8.1: - resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} - engines: {node: '>= 0.6'} - - eth-block-tracker@7.1.0: - resolution: {integrity: sha512-8YdplnuE1IK4xfqpf4iU7oBxnOYAc35934o083G8ao+8WM8QQtt/mVlAY6yIAdY1eMeLqg4Z//PZjJGmWGPMRg==} - engines: {node: '>=14.0.0'} - - eth-json-rpc-filters@6.0.1: - resolution: {integrity: sha512-ITJTvqoCw6OVMLs7pI8f4gG92n/St6x80ACtHodeS+IXmO0w+t1T5OOzfSt7KLSMLRkVUoexV7tztLgDxg+iig==} - engines: {node: '>=14.0.0'} - - eth-query@2.1.2: - resolution: {integrity: sha512-srES0ZcvwkR/wd5OQBRA1bIJMww1skfGS0s8wlwK3/oNP4+wnds60krvu5R1QbpRQjMmpG5OMIWro5s7gvDPsA==} - - eth-rpc-errors@4.0.3: - resolution: {integrity: sha512-Z3ymjopaoft7JDoxZcEb3pwdGh7yiYMhOwm2doUt6ASXlMavpNlK6Cre0+IMl2VSGyEU9rkiperQhp5iRxn5Pg==} - - ethereum-cryptography@2.2.1: - resolution: {integrity: sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==} - - event-target-shim@5.0.1: - resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} - engines: {node: '>=6'} - - eventemitter2@6.4.9: - resolution: {integrity: sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg==} - - eventemitter3@5.0.1: - resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} - - events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} - - execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} - - execa@8.0.1: - resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} - engines: {node: '>=16.17'} - - exponential-backoff@3.1.1: - resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} - - extension-port-stream@3.0.0: - resolution: {integrity: sha512-an2S5quJMiy5bnZKEf6AkfH/7r8CzHvhchU40gxN+OM6HPhe7Z9T1FUychcf2M9PpPOO0Hf7BAEfJkw2TDIBDw==} - engines: {node: '>=12.0.0'} - - fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - - fast-glob@3.3.2: - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} - engines: {node: '>=8.6.0'} - - fast-redact@3.5.0: - resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==} - engines: {node: '>=6'} - - fast-safe-stringify@2.1.1: - resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} - - fast-xml-parser@4.5.0: - resolution: {integrity: sha512-/PlTQCI96+fZMAOLMZK4CWG1ItCbfZ/0jx7UIJFChPNrx7tcEgerUgWbeieCM9MfHInUDyK8DWYZ+YrywDJuTg==} - hasBin: true - - fastq@1.17.1: - resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} - - fb-watchman@2.0.2: - resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} - - fdir@6.3.0: - resolution: {integrity: sha512-QOnuT+BOtivR77wYvCWHfGt9s4Pz1VIMbD463vegT5MLqNXy8rYFT/lPVEqf/bhYeT6qmqrNHhsX+rWwe3rOCQ==} - peerDependencies: - picomatch: ^3 || ^4 - peerDependenciesMeta: - picomatch: - optional: true - - fill-range@7.1.1: - resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} - engines: {node: '>=8'} - - filter-obj@1.1.0: - resolution: {integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==} - engines: {node: '>=0.10.0'} - - finalhandler@1.1.2: - resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} - engines: {node: '>= 0.8'} - - find-cache-dir@2.1.0: - resolution: {integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==} - engines: {node: '>=6'} - - find-up@3.0.0: - resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} - engines: {node: '>=6'} - - find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} - - find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} - - find-up@6.3.0: - resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - flow-enums-runtime@0.0.6: - resolution: {integrity: sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==} - - flow-parser@0.245.0: - resolution: {integrity: sha512-xUBkkpIDfDZHAebnDEX65FCVitJUctab82KFmtP5SY4cGly1vbuYNe6Muyp0NLXrgmBChVdoC2T+3/RUHi4Mww==} - engines: {node: '>=0.4.0'} - - for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - - fresh@0.5.2: - resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} - engines: {node: '>= 0.6'} - - fs-extra@11.2.0: - resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} - engines: {node: '>=14.14'} - - fs-extra@8.1.0: - resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} - engines: {node: '>=6 <7 || >=8'} - - fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - - fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - - function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - - futoin-hkdf@1.5.3: - resolution: {integrity: sha512-SewY5KdMpaoCeh7jachEWFsh1nNlaDjNHZXWqL5IGwtpEYHTgkr2+AMCgNwKWkcc0wpSYrZfR7he4WdmHFtDxQ==} - engines: {node: '>=8'} - - gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - - get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - - get-intrinsic@1.2.4: - resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} - engines: {node: '>= 0.4'} - - get-port-please@3.1.2: - resolution: {integrity: sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==} - - get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - - get-stream@8.0.1: - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} - engines: {node: '>=16'} - - glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - - glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Glob versions prior to v9 are no longer supported - - globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - - gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} - - graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - - h3@1.12.0: - resolution: {integrity: sha512-Zi/CcNeWBXDrFNlV0hUBJQR9F7a96RjMeAZweW/ZWkR9fuXrMcvKnSA63f/zZ9l0GgQOZDVHGvXivNN9PWOwhA==} - - has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - - has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - - has-property-descriptors@1.0.2: - resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - - has-proto@1.0.3: - resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} - engines: {node: '>= 0.4'} - - has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} - engines: {node: '>= 0.4'} - - has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} - engines: {node: '>= 0.4'} - - hash.js@1.1.7: - resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} - - hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} - engines: {node: '>= 0.4'} - - hermes-estree@0.22.0: - resolution: {integrity: sha512-FLBt5X9OfA8BERUdc6aZS36Xz3rRuB0Y/mfocSADWEJfomc1xfene33GdyAmtTkKTBXTN/EgAy+rjTKkkZJHlw==} - - hermes-estree@0.23.0: - resolution: {integrity: sha512-Rkp0PNLGpORw4ktsttkVbpYJbrYKS3hAnkxu8D9nvQi6LvSbuPa+tYw/t2u3Gjc35lYd/k95YkjqyTcN4zspag==} - - hermes-parser@0.22.0: - resolution: {integrity: sha512-gn5RfZiEXCsIWsFGsKiykekktUoh0PdFWYocXsUdZIyWSckT6UIyPcyyUIPSR3kpnELWeK3n3ztAse7Mat6PSA==} - - hermes-parser@0.23.0: - resolution: {integrity: sha512-xLwM4ylfHGwrm+2qXfO1JT/fnqEDGSnpS/9hQ4VLtqTexSviu2ZpBgz07U8jVtndq67qdb/ps0qvaWDZ3fkTyg==} - - hey-listen@1.0.8: - resolution: {integrity: sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==} - - hmac-drbg@1.0.1: - resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} - - http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} - - http-shutdown@1.2.2: - resolution: {integrity: sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==} - engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} - - human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - - human-signals@5.0.0: - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} - engines: {node: '>=16.17.0'} - - i18next-browser-languagedetector@7.1.0: - resolution: {integrity: sha512-cr2k7u1XJJ4HTOjM9GyOMtbOA47RtUoWRAtt52z43r3AoMs2StYKyjS3URPhzHaf+mn10hY9dZWamga5WPQjhA==} - - i18next@23.11.5: - resolution: {integrity: sha512-41pvpVbW9rhZPk5xjCX2TPJi2861LEig/YRhUkY+1FQ2IQPS0bKUDYnEqY8XPPbB48h1uIwLnP9iiEfuSl20CA==} - - idb-keyval@6.2.1: - resolution: {integrity: sha512-8Sb3veuYCyrZL+VBt9LJfZjLUPWVvqn8tG28VqYNFCo43KHcKuq+b4EiXGeuaLAQWL2YmyDgMp2aSpH9JHsEQg==} - - ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - - image-size@1.1.1: - resolution: {integrity: sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==} - engines: {node: '>=16.x'} - hasBin: true - - import-fresh@2.0.0: - resolution: {integrity: sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==} - engines: {node: '>=4'} - - import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} - - imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - - inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. - - inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - - invariant@2.2.4: - resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} - - iron-webcrypto@1.2.1: - resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==} - - is-arguments@1.1.1: - resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} - engines: {node: '>= 0.4'} - - is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - - is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - - is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} - - is-core-module@2.15.1: - resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} - engines: {node: '>= 0.4'} - - is-directory@0.3.1: - resolution: {integrity: sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==} - engines: {node: '>=0.10.0'} - - is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true - - is-docker@3.0.0: - resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - hasBin: true - - is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - - is-fullwidth-code-point@2.0.0: - resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} - engines: {node: '>=4'} - - is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - - is-generator-function@1.0.10: - resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} - engines: {node: '>= 0.4'} - - is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - - is-inside-container@1.0.0: - resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} - engines: {node: '>=14.16'} - hasBin: true - - is-interactive@1.0.0: - resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} - engines: {node: '>=8'} - - is-interactive@2.0.0: - resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} - engines: {node: '>=12'} - - is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - - is-plain-object@2.0.4: - resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} - engines: {node: '>=0.10.0'} - - is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - - is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - is-typed-array@1.1.13: - resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} - engines: {node: '>= 0.4'} - - is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - - is-unicode-supported@1.3.0: - resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} - engines: {node: '>=12'} - - is-wsl@1.1.0: - resolution: {integrity: sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==} - engines: {node: '>=4'} - - is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} - - is-wsl@3.1.0: - resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} - engines: {node: '>=16'} - - is64bit@2.0.0: - resolution: {integrity: sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==} - engines: {node: '>=18'} - - isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - - isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - - isobject@3.0.1: - resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} - engines: {node: '>=0.10.0'} - - isows@1.0.4: - resolution: {integrity: sha512-hEzjY+x9u9hPmBom9IIAqdJCwNLax+xrPb51vEPpERoFlIxgmZcHzsT5jKG06nvInKOBGvReAVz80Umed5CczQ==} - peerDependencies: - ws: '*' - - jest-environment-node@29.7.0: - resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-get-type@29.6.3: - resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-message-util@29.7.0: - resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-mock@29.7.0: - resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-util@29.7.0: - resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-validate@29.7.0: - resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-worker@29.7.0: - resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jiti@1.21.6: - resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} - hasBin: true - - joi@17.13.3: - resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==} - - js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - - js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true - - js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true - - jsc-android@250231.0.0: - resolution: {integrity: sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==} - - jsc-safe-url@0.2.4: - resolution: {integrity: sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==} - - jscodeshift@0.14.0: - resolution: {integrity: sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==} - hasBin: true - peerDependencies: - '@babel/preset-env': ^7.1.6 - - jsesc@0.5.0: - resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} - hasBin: true - - jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} - hasBin: true - - json-parse-better-errors@1.0.2: - resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} - - json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - - json-rpc-engine@6.1.0: - resolution: {integrity: sha512-NEdLrtrq1jUZyfjkr9OCz9EzCNhnRyWtt1PAnvnhwy6e8XETS0Dtc+ZNCO2gvuAoKsIn2+vCSowXTYE4CkgnAQ==} - engines: {node: '>=10.0.0'} - - json-rpc-random-id@1.0.1: - resolution: {integrity: sha512-RJ9YYNCkhVDBuP4zN5BBtYAzEl03yq/jIIsyif0JY9qyJuQQZNeDK7anAPKKlyEtLSj2s8h6hNh2F8zO5q7ScA==} - - json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - - jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - - jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - - keccak@3.0.4: - resolution: {integrity: sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==} - engines: {node: '>=10.0.0'} - - keyvaluestorage-interface@1.0.0: - resolution: {integrity: sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g==} - - kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - - kleur@3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} - - leven@3.1.0: - resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} - engines: {node: '>=6'} - - lighthouse-logger@1.4.2: - resolution: {integrity: sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==} - - lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - - listhen@1.7.2: - resolution: {integrity: sha512-7/HamOm5YD9Wb7CFgAZkKgVPA96WwhcTQoqtm2VTZGVbVVn3IWKRBTgrU7cchA3Q8k9iCsG8Osoi9GX4JsGM9g==} - hasBin: true - - lit-element@3.3.3: - resolution: {integrity: sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==} - - lit-html@2.8.0: - resolution: {integrity: sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==} - - lit@2.8.0: - resolution: {integrity: sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==} - - load-tsconfig@0.2.5: - resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - locate-path@3.0.0: - resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} - engines: {node: '>=6'} - - locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} - - locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} - - locate-path@7.2.0: - resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - lodash.debounce@4.0.8: - resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - - lodash.isequal@4.5.0: - resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} - - lodash.throttle@4.1.1: - resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==} - - log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} - - log-symbols@5.1.0: - resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==} - engines: {node: '>=12'} - - logkitty@0.7.1: - resolution: {integrity: sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==} - hasBin: true - - loose-envify@1.4.0: - resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} - hasBin: true - - lru-cache@10.4.3: - resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - - lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - - make-dir@2.1.0: - resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} - engines: {node: '>=6'} - - makeerror@1.0.12: - resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} - - marky@1.2.5: - resolution: {integrity: sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==} - - memoize-one@5.2.1: - resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==} - - merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - - merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - - metro-babel-transformer@0.80.10: - resolution: {integrity: sha512-GXHueUzgzcazfzORDxDzWS9jVVRV6u+cR6TGvHOfGdfLzJCj7/D0PretLfyq+MwN20twHxLW+BUXkoaB8sCQBg==} - engines: {node: '>=18'} - - metro-cache-key@0.80.10: - resolution: {integrity: sha512-57qBhO3zQfoU/hP4ZlLW5hVej2jVfBX6B4NcSfMj4LgDPL3YknWg80IJBxzQfjQY/m+fmMLmPy8aUMHzUp/guA==} - engines: {node: '>=18'} - - metro-cache@0.80.10: - resolution: {integrity: sha512-8CBtDJwMguIE5RvV3PU1QtxUG8oSSX54mIuAbRZmcQ0MYiOl9JdrMd4JCBvIyhiZLoSStph425SMyCSnjtJsdA==} - engines: {node: '>=18'} - - metro-config@0.80.10: - resolution: {integrity: sha512-0GYAw0LkmGbmA81FepKQepL1KU/85Cyv7sAiWm6QWeV6AcVCpsKg6jGLqGHJ0LLPL60rWzA4TV1DQAlzdJAEtA==} - engines: {node: '>=18'} - - metro-core@0.80.10: - resolution: {integrity: sha512-nwBB6HbpGlNsZMuzxVqxqGIOsn5F3JKpsp8PziS7Z4mV8a/jA1d44mVOgYmDa2q5WlH5iJfRIIhdz24XRNDlLA==} - engines: {node: '>=18'} - - metro-file-map@0.80.10: - resolution: {integrity: sha512-ytsUq8coneaN7ZCVk1IogojcGhLIbzWyiI2dNmw2nnBgV/0A+M5WaTTgZ6dJEz3dzjObPryDnkqWPvIGLCPtiw==} - engines: {node: '>=18'} - - metro-minify-terser@0.80.10: - resolution: {integrity: sha512-Xyv9pEYpOsAerrld7cSLIcnCCpv8ItwysOmTA+AKf1q4KyE9cxrH2O2SA0FzMCkPzwxzBWmXwHUr+A89BpEM6g==} - engines: {node: '>=18'} - - metro-resolver@0.80.10: - resolution: {integrity: sha512-EYC5CL7f+bSzrqdk1bylKqFNGabfiI5PDctxoPx70jFt89Jz+ThcOscENog8Jb4LEQFG6GkOYlwmPpsi7kx3QA==} - engines: {node: '>=18'} - - metro-runtime@0.80.10: - resolution: {integrity: sha512-Xh0N589ZmSIgJYAM+oYwlzTXEHfASZac9TYPCNbvjNTn0EHKqpoJ/+Im5G3MZT4oZzYv4YnvzRtjqS5k0tK94A==} - engines: {node: '>=18'} - - metro-source-map@0.80.10: - resolution: {integrity: sha512-EyZswqJW8Uukv/HcQr6K19vkMXW1nzHAZPWJSEyJFKIbgp708QfRZ6vnZGmrtFxeJEaFdNup4bGnu8/mIOYlyA==} - engines: {node: '>=18'} - - metro-symbolicate@0.80.10: - resolution: {integrity: sha512-qAoVUoSxpfZ2DwZV7IdnQGXCSsf2cAUExUcZyuCqGlY5kaWBb0mx2BL/xbMFDJ4wBp3sVvSBPtK/rt4J7a0xBA==} - engines: {node: '>=18'} - hasBin: true - - metro-transform-plugins@0.80.10: - resolution: {integrity: sha512-leAx9gtA+2MHLsCeWK6XTLBbv2fBnNFu/QiYhWzMq8HsOAP4u1xQAU0tSgPs8+1vYO34Plyn79xTLUtQCRSSUQ==} - engines: {node: '>=18'} - - metro-transform-worker@0.80.10: - resolution: {integrity: sha512-zNfNLD8Rz99U+JdOTqtF2o7iTjcDMMYdVS90z6+81Tzd2D0lDWVpls7R1hadS6xwM+ymgXFQTjM6V6wFoZaC0g==} - engines: {node: '>=18'} - - metro@0.80.10: - resolution: {integrity: sha512-FDPi0X7wpafmDREXe1lgg3WzETxtXh6Kpq8+IwsG35R2tMyp2kFIqDdshdohuvDt1J/qDARcEPq7V/jElTb1kA==} - engines: {node: '>=18'} - hasBin: true - - micro-ftch@0.3.1: - resolution: {integrity: sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==} - - micromatch@4.0.8: - resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} - engines: {node: '>=8.6'} - - mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - - mime-db@1.53.0: - resolution: {integrity: sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg==} - engines: {node: '>= 0.6'} - - mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - - mime@1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} - engines: {node: '>=4'} - hasBin: true - - mime@2.6.0: - resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} - engines: {node: '>=4.0.0'} - hasBin: true - - mime@3.0.0: - resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} - engines: {node: '>=10.0.0'} - hasBin: true - - mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - - mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - - minimalistic-assert@1.0.1: - resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} - - minimalistic-crypto-utils@1.0.1: - resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} - - minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - - minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - - mipd@0.0.7: - resolution: {integrity: sha512-aAPZPNDQ3uMTdKbuO2YmAw2TxLHO0moa4YKAyETM/DTj5FloZo+a+8tU+iv4GmW+sOxKLSRwcSFuczk+Cpt6fg==} - peerDependencies: - typescript: '>=5.0.4' - peerDependenciesMeta: - typescript: - optional: true - - mkdirp@0.5.6: - resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} - hasBin: true - - mkdirp@1.0.4: - resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} - engines: {node: '>=10'} - hasBin: true - - mlly@1.7.1: - resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} - - motion@10.16.2: - resolution: {integrity: sha512-p+PurYqfUdcJZvtnmAqu5fJgV2kR0uLFQuBKtLeFVTrYEVllI99tiOTSefVNYuip9ELTEkepIIDftNdze76NAQ==} - - mri@1.2.0: - resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} - engines: {node: '>=4'} - - ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - - ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - - ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - - multiformats@9.9.0: - resolution: {integrity: sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==} - - nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - - negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} - - neo-async@2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - - nocache@3.0.4: - resolution: {integrity: sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==} - engines: {node: '>=12.0.0'} - - node-abort-controller@3.1.1: - resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==} - - node-addon-api@2.0.2: - resolution: {integrity: sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==} - - node-addon-api@5.1.0: - resolution: {integrity: sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==} - - node-addon-api@7.1.1: - resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} - - node-dir@0.1.17: - resolution: {integrity: sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==} - engines: {node: '>= 0.10.5'} - - node-fetch-native@1.6.4: - resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} - - node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - - node-forge@1.3.1: - resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} - engines: {node: '>= 6.13.0'} - - node-gyp-build@4.8.2: - resolution: {integrity: sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==} - hasBin: true - - node-int64@0.4.0: - resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - - node-releases@2.0.18: - resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} - - node-stream-zip@1.15.0: - resolution: {integrity: sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==} - engines: {node: '>=0.12.0'} - - normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - - npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - - npm-run-path@5.3.0: - resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - nullthrows@1.1.1: - resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} - - ob1@0.80.10: - resolution: {integrity: sha512-dJHyB0S6JkMorUSfSGcYGkkg9kmq3qDUu3ygZUKIfkr47XOPuG35r2Sk6tbwtHXbdKIXmcMvM8DF2CwgdyaHfQ==} - engines: {node: '>=18'} - - obj-multiplex@1.0.0: - resolution: {integrity: sha512-0GNJAOsHoBHeNTvl5Vt6IWnpUEcc3uSRxzBri7EDyIcMgYvnY2JL2qdeV5zTMjWQX5OHcD5amcW2HFfDh0gjIA==} - - ofetch@1.3.4: - resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==} - - ohash@1.1.3: - resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==} - - on-exit-leak-free@0.2.0: - resolution: {integrity: sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==} - - on-finished@2.3.0: - resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} - engines: {node: '>= 0.8'} - - on-finished@2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} - engines: {node: '>= 0.8'} - - on-headers@1.0.2: - resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} - engines: {node: '>= 0.8'} - - once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - - onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - - onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} - - open@6.4.0: - resolution: {integrity: sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==} - engines: {node: '>=8'} - - open@7.4.2: - resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} - engines: {node: '>=8'} - - open@8.4.2: - resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} - engines: {node: '>=12'} - - ora@5.4.1: - resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} - engines: {node: '>=10'} - - ora@6.3.1: - resolution: {integrity: sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - p-limit@2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} - - p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - - p-limit@4.0.0: - resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - p-locate@3.0.0: - resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} - engines: {node: '>=6'} - - p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} - - p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} - - p-locate@6.0.0: - resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - - parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - - parse-json@4.0.0: - resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} - engines: {node: '>=4'} - - parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} - - parseurl@1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} - - path-exists@3.0.0: - resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} - engines: {node: '>=4'} - - path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - - path-exists@5.0.0: - resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - - path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - - path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - - path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - - pathe@1.1.2: - resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} - - picocolors@1.1.0: - resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} - - picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - - picomatch@3.0.1: - resolution: {integrity: sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag==} - engines: {node: '>=10'} - - pify@3.0.0: - resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} - engines: {node: '>=4'} - - pify@4.0.1: - resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} - engines: {node: '>=6'} - - pify@5.0.0: - resolution: {integrity: sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==} - engines: {node: '>=10'} - - pino-abstract-transport@0.5.0: - resolution: {integrity: sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==} - - pino-std-serializers@4.0.0: - resolution: {integrity: sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q==} - - pino@7.11.0: - resolution: {integrity: sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==} - hasBin: true - - pirates@4.0.6: - resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} - engines: {node: '>= 6'} - - pkg-dir@3.0.0: - resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==} - engines: {node: '>=6'} - - pkg-types@1.2.0: - resolution: {integrity: sha512-+ifYuSSqOQ8CqP4MbZA5hDpb97n3E8SVWdJe+Wms9kj745lmd3b7EZJiqvmLwAlmRfjrI7Hi5z3kdBJ93lFNPA==} - - pngjs@5.0.0: - resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==} - engines: {node: '>=10.13.0'} - - pony-cause@2.1.11: - resolution: {integrity: sha512-M7LhCsdNbNgiLYiP4WjsfLUuFmCfnjdF6jKe2R9NKl4WFN+HZPGHJZ9lnLP7f9ZnKe3U9nuWD0szirmj+migUg==} - engines: {node: '>=12.0.0'} - - possible-typed-array-names@1.0.0: - resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} - engines: {node: '>= 0.4'} - - postcss@8.4.44: - resolution: {integrity: sha512-Aweb9unOEpQ3ezu4Q00DPvvM2ZTUitJdNKeP/+uQgr1IBIqu574IaZoURId7BKtWMREwzKa9OgzPzezWGPWFQw==} - engines: {node: ^10 || ^12 || >=14} - - preact@10.23.2: - resolution: {integrity: sha512-kKYfePf9rzKnxOAKDpsWhg/ysrHPqT+yQ7UW4JjdnqjFIeNUnNcEJvhuA8fDenxAGWzUqtd51DfVg7xp/8T9NA==} - - prettier@3.3.3: - resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==} - engines: {node: '>=14'} - hasBin: true - - pretty-format@26.6.2: - resolution: {integrity: sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==} - engines: {node: '>= 10'} - - pretty-format@29.7.0: - resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - process-nextick-args@2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - - process-warning@1.0.0: - resolution: {integrity: sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==} - - promise@8.3.0: - resolution: {integrity: sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==} - - prompts@2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} - - proxy-compare@2.5.1: - resolution: {integrity: sha512-oyfc0Tx87Cpwva5ZXezSp5V9vht1c7dZBhvuV/y3ctkgMVUmiAGDVeeB0dKhGSyT0v1ZTEQYpe/RXlBVBNuCLA==} - - pump@3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} - - qr-code-styling@1.6.0-rc.1: - resolution: {integrity: sha512-ModRIiW6oUnsP18QzrRYZSc/CFKFKIdj7pUs57AEVH20ajlglRpN3HukjHk0UbNMTlKGuaYl7Gt6/O5Gg2NU2Q==} - - qrcode-generator@1.4.4: - resolution: {integrity: sha512-HM7yY8O2ilqhmULxGMpcHSF1EhJJ9yBj8gvDEuZ6M+KGJ0YY2hKpnXvRD+hZPLrDVck3ExIGhmPtSdcjC+guuw==} - - qrcode-terminal-nooctal@0.12.1: - resolution: {integrity: sha512-jy/kkD0iIMDjTucB+5T6KBsnirlhegDH47vHgrj5MejchSQmi/EAMM0xMFeePgV9CJkkAapNakpVUWYgHvtdKg==} - hasBin: true - - qrcode@1.5.3: - resolution: {integrity: sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==} - engines: {node: '>=10.13.0'} - hasBin: true - - query-string@7.1.3: - resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==} - engines: {node: '>=6'} - - querystring@0.2.1: - resolution: {integrity: sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==} - engines: {node: '>=0.4.x'} - deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. - - queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - - queue@6.0.2: - resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==} - - quick-format-unescaped@4.0.4: - resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} - - radix3@1.1.2: - resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==} - - range-parser@1.2.1: - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} - engines: {node: '>= 0.6'} - - react-devtools-core@5.3.1: - resolution: {integrity: sha512-7FSb9meX0btdBQLwdFOwt6bGqvRPabmVMMslv8fgoSPqXyuGpgQe36kx8gR86XPw7aV1yVouTp6fyZ0EH+NfUw==} - - react-dom@18.3.1: - resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} - peerDependencies: - react: ^18.3.1 - - react-is@17.0.2: - resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} - - react-is@18.3.1: - resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} - - react-native-webview@11.26.1: - resolution: {integrity: sha512-hC7BkxOpf+z0UKhxFSFTPAM4shQzYmZHoELa6/8a/MspcjEP7ukYKpuSUTLDywQditT8yI9idfcKvfZDKQExGw==} - peerDependencies: - react: '*' - react-native: '*' - - react-native@0.75.2: - resolution: {integrity: sha512-pP+Yswd/EurzAlKizytRrid9LJaPJzuNldc+o5t01md2VLHym8V7FWH2z9omFKtFTer8ERg0fAhG1fpd0Qq6bQ==} - engines: {node: '>=18'} - hasBin: true - peerDependencies: - '@types/react': ^18.2.6 - react: ^18.2.0 - peerDependenciesMeta: - '@types/react': - optional: true - - react-refresh@0.14.2: - resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} - engines: {node: '>=0.10.0'} - - react@18.3.1: - resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} - engines: {node: '>=0.10.0'} - - readable-stream@2.3.8: - resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} - - readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} - - readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - - readline@1.3.0: - resolution: {integrity: sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==} - - real-require@0.1.0: - resolution: {integrity: sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg==} - engines: {node: '>= 12.13.0'} - - recast@0.21.5: - resolution: {integrity: sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==} - engines: {node: '>= 4'} - - regenerate-unicode-properties@10.1.1: - resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} - engines: {node: '>=4'} - - regenerate@1.4.2: - resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} - - regenerator-runtime@0.13.11: - resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} - - regenerator-runtime@0.14.1: - resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - - regenerator-transform@0.15.2: - resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} - - regexpu-core@5.3.2: - resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} - engines: {node: '>=4'} - - regjsparser@0.9.1: - resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} - hasBin: true - - require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} - - require-main-filename@2.0.0: - resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} - - resolve-from@3.0.0: - resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==} - engines: {node: '>=4'} - - resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - - resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true - - restore-cursor@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} - - restore-cursor@4.0.0: - resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - - rimraf@2.6.3: - resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true - - rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true - - rollup-plugin-visualizer@5.12.0: - resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==} - engines: {node: '>=14'} - hasBin: true - peerDependencies: - rollup: 2.x || 3.x || 4.x - peerDependenciesMeta: - rollup: - optional: true - - rollup@4.21.2: - resolution: {integrity: sha512-e3TapAgYf9xjdLvKQCkQTnbTKd4a6jwlpQSJJFokHGaX2IVjoEqkIIhiQfqsi0cdwlOD+tQGuOd5AJkc5RngBw==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - - run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - - safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - - safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - - safe-stable-stringify@2.5.0: - resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} - engines: {node: '>=10'} - - scheduler@0.23.2: - resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} - - scheduler@0.24.0-canary-efb381bbf-20230505: - resolution: {integrity: sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==} - - secp256k1@5.0.0: - resolution: {integrity: sha512-TKWX8xvoGHrxVdqbYeZM9w+izTF4b9z3NhSaDkdn81btvuh+ivbIMGT/zQvDtTFWhRlThpoz6LEYTr7n8A5GcA==} - engines: {node: '>=14.0.0'} - - selfsigned@2.4.1: - resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} - engines: {node: '>=10'} - - semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} - hasBin: true - - semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - - semver@7.6.3: - resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} - engines: {node: '>=10'} - hasBin: true - - send@0.18.0: - resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} - engines: {node: '>= 0.8.0'} - - serialize-error@2.1.0: - resolution: {integrity: sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==} - engines: {node: '>=0.10.0'} - - serve-static@1.15.0: - resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} - engines: {node: '>= 0.8.0'} - - set-blocking@2.0.0: - resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} - - set-function-length@1.2.2: - resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} - engines: {node: '>= 0.4'} - - setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - - sha.js@2.4.11: - resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} - hasBin: true - - shallow-clone@3.0.1: - resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} - engines: {node: '>=8'} - - shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - - shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - - shell-quote@1.8.1: - resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} - - signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - - signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - - sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - - slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - - slice-ansi@2.1.0: - resolution: {integrity: sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==} - engines: {node: '>=6'} - - socket.io-client@4.7.5: - resolution: {integrity: sha512-sJ/tqHOCe7Z50JCBCXrsY3I2k03iOiUe+tj1OmKeD2lXPiGH/RUCdTZFoqVyN7l1MnpIzPrGtLcijffmeouNlQ==} - engines: {node: '>=10.0.0'} - - socket.io-parser@4.2.4: - resolution: {integrity: sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==} - engines: {node: '>=10.0.0'} - - sonic-boom@2.8.0: - resolution: {integrity: sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==} - - source-map-js@1.2.0: - resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} - engines: {node: '>=0.10.0'} - - source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - - source-map@0.5.7: - resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} - engines: {node: '>=0.10.0'} - - source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - - source-map@0.7.4: - resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} - engines: {node: '>= 8'} - - split-on-first@1.1.0: - resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==} - engines: {node: '>=6'} - - split2@4.2.0: - resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} - engines: {node: '>= 10.x'} - - sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - - stack-utils@2.0.6: - resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} - engines: {node: '>=10'} - - stackframe@1.3.4: - resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} - - stacktrace-parser@0.1.10: - resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} - engines: {node: '>=6'} - - statuses@1.5.0: - resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} - engines: {node: '>= 0.6'} - - statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} - - std-env@3.7.0: - resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} - - stdin-discarder@0.1.0: - resolution: {integrity: sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - stream-shift@1.0.3: - resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} - - strict-uri-encode@2.0.0: - resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==} - engines: {node: '>=4'} - - string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - - string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} - - string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - - strip-ansi@5.2.0: - resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} - engines: {node: '>=6'} - - strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - - strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} - - strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - - strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - - strnum@1.0.5: - resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} - - sudo-prompt@9.2.1: - resolution: {integrity: sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==} - - superstruct@1.0.4: - resolution: {integrity: sha512-7JpaAoX2NGyoFlI9NBh66BQXGONc+uE+MRS5i2iOBKuS4e+ccgMDjATgZldkah+33DakBxDHiss9kvUcGAO8UQ==} - engines: {node: '>=14.0.0'} - - supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - - supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - - supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} - - supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - - system-architecture@0.1.0: - resolution: {integrity: sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==} - engines: {node: '>=18'} - - temp@0.8.4: - resolution: {integrity: sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==} - engines: {node: '>=6.0.0'} - - terser@5.31.6: - resolution: {integrity: sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==} - engines: {node: '>=10'} - hasBin: true - - thread-stream@0.15.2: - resolution: {integrity: sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==} - - throat@5.0.0: - resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==} - - through2@2.0.5: - resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} - - tmpl@1.0.5: - resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} - - to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - - to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - - toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - - tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - - tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - - tslib@2.7.0: - resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} - - type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - - type-fest@0.7.1: - resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} - engines: {node: '>=8'} - - typescript@5.5.4: - resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} - engines: {node: '>=14.17'} - hasBin: true - - ufo@1.5.4: - resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} - - uint8arrays@3.1.0: - resolution: {integrity: sha512-ei5rfKtoRO8OyOIor2Rz5fhzjThwIHJZ3uyDPnDHTXbP0aMQ1RN/6AI5B5d9dBxJOU+BvOAk7ZQ1xphsX8Lrog==} - - uncrypto@0.1.3: - resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} - - undici-types@6.19.8: - resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} - - unenv@1.10.0: - resolution: {integrity: sha512-wY5bskBQFL9n3Eca5XnhH6KbUo/tfvkwm9OpcdCvLaeA7piBNbavbOKJySEwQ1V0RH6HvNlSAFRTpvTqgKRQXQ==} - - unicode-canonical-property-names-ecmascript@2.0.0: - resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} - engines: {node: '>=4'} - - unicode-match-property-ecmascript@2.0.0: - resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} - engines: {node: '>=4'} - - unicode-match-property-value-ecmascript@2.1.0: - resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} - engines: {node: '>=4'} - - unicode-property-aliases-ecmascript@2.1.0: - resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} - engines: {node: '>=4'} - - universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} - - universalify@2.0.1: - resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} - engines: {node: '>= 10.0.0'} - - unpipe@1.0.0: - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} - engines: {node: '>= 0.8'} - - unstorage@1.10.2: - resolution: {integrity: sha512-cULBcwDqrS8UhlIysUJs2Dk0Mmt8h7B0E6mtR+relW9nZvsf/u4SkAYyNliPiPW7XtFNb5u3IUMkxGxFTTRTgQ==} - peerDependencies: - '@azure/app-configuration': ^1.5.0 - '@azure/cosmos': ^4.0.0 - '@azure/data-tables': ^13.2.2 - '@azure/identity': ^4.0.1 - '@azure/keyvault-secrets': ^4.8.0 - '@azure/storage-blob': ^12.17.0 - '@capacitor/preferences': ^5.0.7 - '@netlify/blobs': ^6.5.0 || ^7.0.0 - '@planetscale/database': ^1.16.0 - '@upstash/redis': ^1.28.4 - '@vercel/kv': ^1.0.1 - idb-keyval: ^6.2.1 - ioredis: ^5.3.2 - peerDependenciesMeta: - '@azure/app-configuration': - optional: true - '@azure/cosmos': - optional: true - '@azure/data-tables': - optional: true - '@azure/identity': - optional: true - '@azure/keyvault-secrets': - optional: true - '@azure/storage-blob': - optional: true - '@capacitor/preferences': - optional: true - '@netlify/blobs': - optional: true - '@planetscale/database': - optional: true - '@upstash/redis': - optional: true - '@vercel/kv': - optional: true - idb-keyval: - optional: true - ioredis: - optional: true - - untun@0.1.3: - resolution: {integrity: sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ==} - hasBin: true - - update-browserslist-db@1.1.0: - resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - - uqr@0.1.2: - resolution: {integrity: sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==} - - use-sync-external-store@1.2.0: - resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - - utf-8-validate@5.0.10: - resolution: {integrity: sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==} - engines: {node: '>=6.14.2'} - - util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - - util@0.12.5: - resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} - - utils-merge@1.0.1: - resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} - engines: {node: '>= 0.4.0'} - - uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - hasBin: true - - uuid@9.0.1: - resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} - hasBin: true - - valtio@1.11.2: - resolution: {integrity: sha512-1XfIxnUXzyswPAPXo1P3Pdx2mq/pIqZICkWN60Hby0d9Iqb+MEIpqgYVlbflvHdrp2YR/q3jyKWRPJJ100yxaw==} - engines: {node: '>=12.20.0'} - peerDependencies: - '@types/react': '>=16.8' - react: '>=16.8' - peerDependenciesMeta: - '@types/react': - optional: true - react: - optional: true - - vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} - - viem@2.21.1: - resolution: {integrity: sha512-nlIc2LLS6aqkngULS9UJ2Sg3nHKAgF9bbpDUwjUoAUBijd69mrCWPBXQ8jmbzcx12uZUfd9Nc//CHgSVZiMwyg==} - peerDependencies: - typescript: '>=5.0.4' - peerDependenciesMeta: - typescript: - optional: true - - vite@5.4.3: - resolution: {integrity: sha512-IH+nl64eq9lJjFqU+/yrRnrHPVTlgy42/+IzbOdaFDVlyLgI/wDlf+FCobXLX1cT0X5+7LMyH1mIy2xJdLfo8Q==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - sass-embedded: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - sass-embedded: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - - vlq@1.0.1: - resolution: {integrity: sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==} - - wagmi@2.12.8: - resolution: {integrity: sha512-+HP3T02La4rIbBWF2mAVX63CykTGMQt77WN1PzZco7MWeUtjYeutwmnNjkDWWE7HFVZHZqNTVFYe3sbtu2LR4A==} - peerDependencies: - '@tanstack/react-query': '>=5.0.0' - react: '>=18' - typescript: '>=5.0.4' - viem: 2.x - peerDependenciesMeta: - typescript: - optional: true - - walker@1.0.8: - resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} - - wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - - webauthn-p256@0.0.5: - resolution: {integrity: sha512-drMGNWKdaixZNobeORVIqq7k5DsRC9FnG201K2QjeOoQLmtSDaSsVZdkg6n5jUALJKcAG++zBPJXmv6hy0nWFg==} - - webextension-polyfill@0.10.0: - resolution: {integrity: sha512-c5s35LgVa5tFaHhrZDnr3FpQpjj1BB+RXhLTYUxGqBVN460HkbM8TBtEqdXWbpTKfzwCcjAZVF7zXCYSKtcp9g==} - - webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - - whatwg-fetch@3.6.20: - resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} - - whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - - which-module@2.0.1: - resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} - - which-typed-array@1.1.15: - resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} - engines: {node: '>= 0.4'} - - which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - - wrap-ansi@6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} - - wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - - wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - - write-file-atomic@2.4.3: - resolution: {integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==} - - ws@6.2.3: - resolution: {integrity: sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - ws@7.5.10: - resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} - engines: {node: '>=8.3.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - ws@8.17.1: - resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - xmlhttprequest-ssl@2.0.0: - resolution: {integrity: sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==} - engines: {node: '>=0.4.0'} - - xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - - y18n@4.0.3: - resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} - - y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - - yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - - yaml@2.5.0: - resolution: {integrity: sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==} - engines: {node: '>= 14'} - hasBin: true - - yargs-parser@18.1.3: - resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} - engines: {node: '>=6'} - - yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} - - yargs@15.4.1: - resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} - engines: {node: '>=8'} - - yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} - - yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - - yocto-queue@1.1.1: - resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==} - engines: {node: '>=12.20'} - - zod@3.23.8: - resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} - - zustand@4.4.1: - resolution: {integrity: sha512-QCPfstAS4EBiTQzlaGP1gmorkh/UL1Leaj2tdj+zZCZ/9bm0WS7sI2wnfD5lpOszFqWJ1DcPnGoY8RDL61uokw==} - engines: {node: '>=12.7.0'} - peerDependencies: - '@types/react': '>=16.8' - immer: '>=9.0' - react: '>=16.8' - peerDependenciesMeta: - '@types/react': - optional: true - immer: - optional: true - react: - optional: true - -snapshots: - - '@adraffy/ens-normalize@1.10.0': {} - - '@ampproject/remapping@2.3.0': - dependencies: - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - - '@babel/code-frame@7.24.7': - dependencies: - '@babel/highlight': 7.24.7 - picocolors: 1.1.0 - - '@babel/compat-data@7.25.4': {} - - '@babel/core@7.25.2': - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.6 - '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) - '@babel/helpers': 7.25.6 - '@babel/parser': 7.25.6 - '@babel/template': 7.25.0 - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 - convert-source-map: 2.0.0 - debug: 4.3.6 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/generator@7.25.6': - dependencies: - '@babel/types': 7.25.6 - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - jsesc: 2.5.2 - - '@babel/helper-annotate-as-pure@7.24.7': - dependencies: - '@babel/types': 7.25.6 - - '@babel/helper-builder-binary-assignment-operator-visitor@7.24.7': - dependencies: - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 - transitivePeerDependencies: - - supports-color - - '@babel/helper-compilation-targets@7.25.2': - dependencies: - '@babel/compat-data': 7.25.4 - '@babel/helper-validator-option': 7.24.8 - browserslist: 4.23.3 - lru-cache: 5.1.1 - semver: 6.3.1 - - '@babel/helper-create-class-features-plugin@7.25.4(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-member-expression-to-functions': 7.24.8 - '@babel/helper-optimise-call-expression': 7.24.7 - '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/traverse': 7.25.6 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/helper-create-regexp-features-plugin@7.25.2(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.24.7 - regexpu-core: 5.3.2 - semver: 6.3.1 - - '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - debug: 4.3.6 - lodash.debounce: 4.0.8 - resolve: 1.22.8 - transitivePeerDependencies: - - supports-color - - '@babel/helper-member-expression-to-functions@7.24.8': - dependencies: - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-imports@7.24.7': - dependencies: - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-module-imports': 7.24.7 - '@babel/helper-simple-access': 7.24.7 - '@babel/helper-validator-identifier': 7.24.7 - '@babel/traverse': 7.25.6 - transitivePeerDependencies: - - supports-color - - '@babel/helper-optimise-call-expression@7.24.7': - dependencies: - '@babel/types': 7.25.6 - - '@babel/helper-plugin-utils@7.24.8': {} - - '@babel/helper-remap-async-to-generator@7.25.0(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-wrap-function': 7.25.0 - '@babel/traverse': 7.25.6 - transitivePeerDependencies: - - supports-color - - '@babel/helper-replace-supers@7.25.0(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-member-expression-to-functions': 7.24.8 - '@babel/helper-optimise-call-expression': 7.24.7 - '@babel/traverse': 7.25.6 - transitivePeerDependencies: - - supports-color - - '@babel/helper-simple-access@7.24.7': - dependencies: - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 - transitivePeerDependencies: - - supports-color - - '@babel/helper-skip-transparent-expression-wrappers@7.24.7': - dependencies: - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 - transitivePeerDependencies: - - supports-color - - '@babel/helper-string-parser@7.24.8': {} - - '@babel/helper-validator-identifier@7.24.7': {} - - '@babel/helper-validator-option@7.24.8': {} - - '@babel/helper-wrap-function@7.25.0': - dependencies: - '@babel/template': 7.25.0 - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 - transitivePeerDependencies: - - supports-color - - '@babel/helpers@7.25.6': - dependencies: - '@babel/template': 7.25.0 - '@babel/types': 7.25.6 - - '@babel/highlight@7.24.7': - dependencies: - '@babel/helper-validator-identifier': 7.24.7 - chalk: 2.4.2 - js-tokens: 4.0.0 - picocolors: 1.1.0 - - '@babel/parser@7.25.6': - dependencies: - '@babel/types': 7.25.6 - - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.3(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/traverse': 7.25.6 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.0(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.0(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.25.2) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.0(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/traverse': 7.25.6 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-proposal-export-default-from@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-export-default-from': 7.24.7(@babel/core@7.25.2) - - '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) - - '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-export-default-from@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-flow@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-import-assertions@7.25.6(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-import-attributes@7.25.6(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-typescript@7.25.4(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-transform-async-generator-functions@7.25.4(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) - '@babel/traverse': 7.25.6 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-async-to-generator@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-module-imports': 7.24.7 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.25.2) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-block-scoped-functions@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-transform-block-scoping@7.25.0(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-transform-class-properties@7.25.4(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-class-static-block@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-classes@7.25.4(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) - '@babel/traverse': 7.25.6 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-computed-properties@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/template': 7.25.0 - - '@babel/plugin-transform-destructuring@7.24.8(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-transform-dotall-regex@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-transform-duplicate-keys@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.0(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-transform-dynamic-import@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) - - '@babel/plugin-transform-exponentiation-operator@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.24.8 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-export-namespace-from@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.2) - - '@babel/plugin-transform-flow-strip-types@7.25.2(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-flow': 7.24.7(@babel/core@7.25.2) - - '@babel/plugin-transform-for-of@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-function-name@7.25.1(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/traverse': 7.25.6 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-json-strings@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) - - '@babel/plugin-transform-literals@7.25.2(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-transform-logical-assignment-operators@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) - - '@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-transform-modules-amd@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-commonjs@7.24.8(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-simple-access': 7.24.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-systemjs@7.25.0(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-validator-identifier': 7.24.7 - '@babel/traverse': 7.25.6 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-umd@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-named-capturing-groups-regex@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-transform-new-target@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-transform-nullish-coalescing-operator@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) - - '@babel/plugin-transform-numeric-separator@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) - - '@babel/plugin-transform-object-rest-spread@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) - - '@babel/plugin-transform-object-super@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-optional-catch-binding@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) - - '@babel/plugin-transform-optional-chaining@7.24.8(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-parameters@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-transform-private-methods@7.25.4(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-private-property-in-object@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-property-literals@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-transform-react-display-name@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-transform-react-jsx-self@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-transform-react-jsx-source@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-transform-react-jsx@7.25.2(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-module-imports': 7.24.7 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) - '@babel/types': 7.25.6 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-regenerator@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - regenerator-transform: 0.15.2 - - '@babel/plugin-transform-reserved-words@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-transform-runtime@7.25.4(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-module-imports': 7.24.7 - '@babel/helper-plugin-utils': 7.24.8 - babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.25.2) - babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.25.2) - babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.25.2) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-transform-spread@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-transform-template-literals@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-transform-typeof-symbol@7.24.8(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-transform-typescript@7.25.2(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/plugin-syntax-typescript': 7.25.4(@babel/core@7.25.2) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-unicode-escapes@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-transform-unicode-property-regex@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-transform-unicode-regex@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-transform-unicode-sets-regex@7.25.4(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/preset-env@7.25.4(@babel/core@7.25.2)': - dependencies: - '@babel/compat-data': 7.25.4 - '@babel/core': 7.25.2 - '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-validator-option': 7.24.8 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.3(@babel/core@7.25.2) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.2) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.25.2) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-import-assertions': 7.25.6(@babel/core@7.25.2) - '@babel/plugin-syntax-import-attributes': 7.25.6(@babel/core@7.25.2) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.25.2) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.25.2) - '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-async-generator-functions': 7.25.4(@babel/core@7.25.2) - '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-block-scoped-functions': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-block-scoping': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-transform-class-properties': 7.25.4(@babel/core@7.25.2) - '@babel/plugin-transform-class-static-block': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-classes': 7.25.4(@babel/core@7.25.2) - '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-destructuring': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-dotall-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-duplicate-keys': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-transform-dynamic-import': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-exponentiation-operator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-function-name': 7.25.1(@babel/core@7.25.2) - '@babel/plugin-transform-json-strings': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-literals': 7.25.2(@babel/core@7.25.2) - '@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-member-expression-literals': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-modules-amd': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-modules-systemjs': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-transform-modules-umd': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-new-target': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-numeric-separator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-object-super': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-private-methods': 7.25.4(@babel/core@7.25.2) - '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-property-literals': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-regenerator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-reserved-words': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-typeof-symbol': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-unicode-escapes': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-unicode-property-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-unicode-sets-regex': 7.25.4(@babel/core@7.25.2) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.25.2) - babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.25.2) - babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.25.2) - babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.25.2) - core-js-compat: 3.38.1 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/preset-flow@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-validator-option': 7.24.8 - '@babel/plugin-transform-flow-strip-types': 7.25.2(@babel/core@7.25.2) - - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/types': 7.25.6 - esutils: 2.0.3 - - '@babel/preset-typescript@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-validator-option': 7.24.8 - '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2) - transitivePeerDependencies: - - supports-color - - '@babel/register@7.24.6(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - clone-deep: 4.0.1 - find-cache-dir: 2.1.0 - make-dir: 2.1.0 - pirates: 4.0.6 - source-map-support: 0.5.21 - - '@babel/regjsgen@0.8.0': {} - - '@babel/runtime@7.25.6': - dependencies: - regenerator-runtime: 0.14.1 - - '@babel/template@7.25.0': - dependencies: - '@babel/code-frame': 7.24.7 - '@babel/parser': 7.25.6 - '@babel/types': 7.25.6 - - '@babel/traverse@7.25.6': - dependencies: - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.6 - '@babel/parser': 7.25.6 - '@babel/template': 7.25.0 - '@babel/types': 7.25.6 - debug: 4.3.6 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - - '@babel/types@7.25.6': - dependencies: - '@babel/helper-string-parser': 7.24.8 - '@babel/helper-validator-identifier': 7.24.7 - to-fast-properties: 2.0.0 - - '@biomejs/biome@1.8.3': - optionalDependencies: - '@biomejs/cli-darwin-arm64': 1.8.3 - '@biomejs/cli-darwin-x64': 1.8.3 - '@biomejs/cli-linux-arm64': 1.8.3 - '@biomejs/cli-linux-arm64-musl': 1.8.3 - '@biomejs/cli-linux-x64': 1.8.3 - '@biomejs/cli-linux-x64-musl': 1.8.3 - '@biomejs/cli-win32-arm64': 1.8.3 - '@biomejs/cli-win32-x64': 1.8.3 - - '@biomejs/cli-darwin-arm64@1.8.3': - optional: true - - '@biomejs/cli-darwin-x64@1.8.3': - optional: true - - '@biomejs/cli-linux-arm64-musl@1.8.3': - optional: true - - '@biomejs/cli-linux-arm64@1.8.3': - optional: true - - '@biomejs/cli-linux-x64-musl@1.8.3': - optional: true - - '@biomejs/cli-linux-x64@1.8.3': - optional: true - - '@biomejs/cli-win32-arm64@1.8.3': - optional: true - - '@biomejs/cli-win32-x64@1.8.3': - optional: true - - '@coinbase/wallet-sdk@3.9.3': - dependencies: - bn.js: 5.2.1 - buffer: 6.0.3 - clsx: 1.2.1 - eth-block-tracker: 7.1.0 - eth-json-rpc-filters: 6.0.1 - eventemitter3: 5.0.1 - keccak: 3.0.4 - preact: 10.23.2 - sha.js: 2.4.11 - transitivePeerDependencies: - - supports-color - - '@coinbase/wallet-sdk@4.0.4': - dependencies: - buffer: 6.0.3 - clsx: 1.2.1 - eventemitter3: 5.0.1 - keccak: 3.0.4 - preact: 10.23.2 - sha.js: 2.4.11 - - '@esbuild/aix-ppc64@0.19.12': - optional: true - - '@esbuild/aix-ppc64@0.21.5': - optional: true - - '@esbuild/android-arm64@0.19.12': - optional: true - - '@esbuild/android-arm64@0.21.5': - optional: true - - '@esbuild/android-arm@0.19.12': - optional: true - - '@esbuild/android-arm@0.21.5': - optional: true - - '@esbuild/android-x64@0.19.12': - optional: true - - '@esbuild/android-x64@0.21.5': - optional: true - - '@esbuild/darwin-arm64@0.19.12': - optional: true - - '@esbuild/darwin-arm64@0.21.5': - optional: true - - '@esbuild/darwin-x64@0.19.12': - optional: true - - '@esbuild/darwin-x64@0.21.5': - optional: true - - '@esbuild/freebsd-arm64@0.19.12': - optional: true - - '@esbuild/freebsd-arm64@0.21.5': - optional: true - - '@esbuild/freebsd-x64@0.19.12': - optional: true - - '@esbuild/freebsd-x64@0.21.5': - optional: true - - '@esbuild/linux-arm64@0.19.12': - optional: true - - '@esbuild/linux-arm64@0.21.5': - optional: true - - '@esbuild/linux-arm@0.19.12': - optional: true - - '@esbuild/linux-arm@0.21.5': - optional: true - - '@esbuild/linux-ia32@0.19.12': - optional: true - - '@esbuild/linux-ia32@0.21.5': - optional: true - - '@esbuild/linux-loong64@0.19.12': - optional: true - - '@esbuild/linux-loong64@0.21.5': - optional: true - - '@esbuild/linux-mips64el@0.19.12': - optional: true - - '@esbuild/linux-mips64el@0.21.5': - optional: true - - '@esbuild/linux-ppc64@0.19.12': - optional: true - - '@esbuild/linux-ppc64@0.21.5': - optional: true - - '@esbuild/linux-riscv64@0.19.12': - optional: true - - '@esbuild/linux-riscv64@0.21.5': - optional: true - - '@esbuild/linux-s390x@0.19.12': - optional: true - - '@esbuild/linux-s390x@0.21.5': - optional: true - - '@esbuild/linux-x64@0.19.12': - optional: true - - '@esbuild/linux-x64@0.21.5': - optional: true - - '@esbuild/netbsd-x64@0.19.12': - optional: true - - '@esbuild/netbsd-x64@0.21.5': - optional: true - - '@esbuild/openbsd-x64@0.19.12': - optional: true - - '@esbuild/openbsd-x64@0.21.5': - optional: true - - '@esbuild/sunos-x64@0.19.12': - optional: true - - '@esbuild/sunos-x64@0.21.5': - optional: true - - '@esbuild/win32-arm64@0.19.12': - optional: true - - '@esbuild/win32-arm64@0.21.5': - optional: true - - '@esbuild/win32-ia32@0.19.12': - optional: true - - '@esbuild/win32-ia32@0.21.5': - optional: true - - '@esbuild/win32-x64@0.19.12': - optional: true - - '@esbuild/win32-x64@0.21.5': - optional: true - - '@ethereumjs/common@3.2.0': - dependencies: - '@ethereumjs/util': 8.1.0 - crc-32: 1.2.2 - - '@ethereumjs/rlp@4.0.1': {} - - '@ethereumjs/tx@4.2.0': - dependencies: - '@ethereumjs/common': 3.2.0 - '@ethereumjs/rlp': 4.0.1 - '@ethereumjs/util': 8.1.0 - ethereum-cryptography: 2.2.1 - - '@ethereumjs/util@8.1.0': - dependencies: - '@ethereumjs/rlp': 4.0.1 - ethereum-cryptography: 2.2.1 - micro-ftch: 0.3.1 - - '@hapi/hoek@9.3.0': {} - - '@hapi/topo@5.1.0': - dependencies: - '@hapi/hoek': 9.3.0 - - '@isaacs/ttlcache@1.4.1': {} - - '@jest/create-cache-key-function@29.7.0': - dependencies: - '@jest/types': 29.6.3 - - '@jest/environment@29.7.0': - dependencies: - '@jest/fake-timers': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 22.5.2 - jest-mock: 29.7.0 - - '@jest/fake-timers@29.7.0': - dependencies: - '@jest/types': 29.6.3 - '@sinonjs/fake-timers': 10.3.0 - '@types/node': 22.5.2 - jest-message-util: 29.7.0 - jest-mock: 29.7.0 - jest-util: 29.7.0 - - '@jest/schemas@29.6.3': - dependencies: - '@sinclair/typebox': 0.27.8 - - '@jest/types@26.6.2': - dependencies: - '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-reports': 3.0.4 - '@types/node': 22.5.2 - '@types/yargs': 15.0.19 - chalk: 4.1.2 - - '@jest/types@29.6.3': - dependencies: - '@jest/schemas': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-reports': 3.0.4 - '@types/node': 22.5.2 - '@types/yargs': 17.0.33 - chalk: 4.1.2 - - '@jridgewell/gen-mapping@0.3.5': - dependencies: - '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.5.0 - '@jridgewell/trace-mapping': 0.3.25 - - '@jridgewell/resolve-uri@3.1.2': {} - - '@jridgewell/set-array@1.2.1': {} - - '@jridgewell/source-map@0.3.6': - dependencies: - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - - '@jridgewell/sourcemap-codec@1.5.0': {} - - '@jridgewell/trace-mapping@0.3.25': - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.0 - - '@lit-labs/ssr-dom-shim@1.2.1': {} - - '@lit/reactive-element@1.6.3': - dependencies: - '@lit-labs/ssr-dom-shim': 1.2.1 - - '@metamask/eth-json-rpc-provider@1.0.1': - dependencies: - '@metamask/json-rpc-engine': 7.3.3 - '@metamask/safe-event-emitter': 3.1.1 - '@metamask/utils': 5.0.2 - transitivePeerDependencies: - - supports-color - - '@metamask/json-rpc-engine@7.3.3': - dependencies: - '@metamask/rpc-errors': 6.3.1 - '@metamask/safe-event-emitter': 3.1.1 - '@metamask/utils': 8.5.0 - transitivePeerDependencies: - - supports-color - - '@metamask/json-rpc-engine@8.0.2': - dependencies: - '@metamask/rpc-errors': 6.3.1 - '@metamask/safe-event-emitter': 3.1.1 - '@metamask/utils': 8.5.0 - transitivePeerDependencies: - - supports-color - - '@metamask/json-rpc-middleware-stream@7.0.2': - dependencies: - '@metamask/json-rpc-engine': 8.0.2 - '@metamask/safe-event-emitter': 3.1.1 - '@metamask/utils': 8.5.0 - readable-stream: 3.6.2 - transitivePeerDependencies: - - supports-color - - '@metamask/object-multiplex@2.0.0': - dependencies: - once: 1.4.0 - readable-stream: 3.6.2 - - '@metamask/onboarding@1.0.1': - dependencies: - bowser: 2.11.0 - - '@metamask/providers@16.1.0': - dependencies: - '@metamask/json-rpc-engine': 8.0.2 - '@metamask/json-rpc-middleware-stream': 7.0.2 - '@metamask/object-multiplex': 2.0.0 - '@metamask/rpc-errors': 6.3.1 - '@metamask/safe-event-emitter': 3.1.1 - '@metamask/utils': 8.5.0 - detect-browser: 5.3.0 - extension-port-stream: 3.0.0 - fast-deep-equal: 3.1.3 - is-stream: 2.0.1 - readable-stream: 3.6.2 - webextension-polyfill: 0.10.0 - transitivePeerDependencies: - - supports-color - - '@metamask/rpc-errors@6.3.1': - dependencies: - '@metamask/utils': 9.2.1 - fast-safe-stringify: 2.1.1 - transitivePeerDependencies: - - supports-color - - '@metamask/safe-event-emitter@2.0.0': {} - - '@metamask/safe-event-emitter@3.1.1': {} - - '@metamask/sdk-communication-layer@0.27.0(cross-fetch@4.0.0)(eciesjs@0.3.20)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.7.5(bufferutil@4.0.8)(utf-8-validate@5.0.10))': - dependencies: - bufferutil: 4.0.8 - cross-fetch: 4.0.0 - date-fns: 2.30.0 - debug: 4.3.6 - eciesjs: 0.3.20 - eventemitter2: 6.4.9 - readable-stream: 3.6.2 - socket.io-client: 4.7.5(bufferutil@4.0.8)(utf-8-validate@5.0.10) - utf-8-validate: 5.0.10 - uuid: 8.3.2 - transitivePeerDependencies: - - supports-color - - '@metamask/sdk-install-modal-web@0.26.5(i18next@23.11.5)(react-dom@18.3.1(react@18.3.1))(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.3.5)(bufferutil@4.0.8)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10))(react@18.3.1)': - dependencies: - i18next: 23.11.5 - qr-code-styling: 1.6.0-rc.1 - optionalDependencies: - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-native: 0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.3.5)(bufferutil@4.0.8)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10) - - '@metamask/sdk@0.27.0(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.3.5)(bufferutil@4.0.8)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.2)(utf-8-validate@5.0.10)': - dependencies: - '@metamask/onboarding': 1.0.1 - '@metamask/providers': 16.1.0 - '@metamask/sdk-communication-layer': 0.27.0(cross-fetch@4.0.0)(eciesjs@0.3.20)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.7.5(bufferutil@4.0.8)(utf-8-validate@5.0.10)) - '@metamask/sdk-install-modal-web': 0.26.5(i18next@23.11.5)(react-dom@18.3.1(react@18.3.1))(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.3.5)(bufferutil@4.0.8)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10))(react@18.3.1) - '@types/dom-screen-wake-lock': 1.0.3 - bowser: 2.11.0 - cross-fetch: 4.0.0 - debug: 4.3.6 - eciesjs: 0.3.20 - eth-rpc-errors: 4.0.3 - eventemitter2: 6.4.9 - i18next: 23.11.5 - i18next-browser-languagedetector: 7.1.0 - obj-multiplex: 1.0.0 - pump: 3.0.0 - qrcode-terminal-nooctal: 0.12.1 - react-native-webview: 11.26.1(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.3.5)(bufferutil@4.0.8)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10))(react@18.3.1) - readable-stream: 3.6.2 - rollup-plugin-visualizer: 5.12.0(rollup@4.21.2) - socket.io-client: 4.7.5(bufferutil@4.0.8)(utf-8-validate@5.0.10) - util: 0.12.5 - uuid: 8.3.2 - optionalDependencies: - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - transitivePeerDependencies: - - bufferutil - - encoding - - react-native - - rollup - - supports-color - - utf-8-validate - - '@metamask/superstruct@3.1.0': {} - - '@metamask/utils@5.0.2': - dependencies: - '@ethereumjs/tx': 4.2.0 - '@types/debug': 4.1.12 - debug: 4.3.6 - semver: 7.6.3 - superstruct: 1.0.4 - transitivePeerDependencies: - - supports-color - - '@metamask/utils@8.5.0': - dependencies: - '@ethereumjs/tx': 4.2.0 - '@metamask/superstruct': 3.1.0 - '@noble/hashes': 1.5.0 - '@scure/base': 1.1.7 - '@types/debug': 4.1.12 - debug: 4.3.6 - pony-cause: 2.1.11 - semver: 7.6.3 - uuid: 9.0.1 - transitivePeerDependencies: - - supports-color - - '@metamask/utils@9.2.1': - dependencies: - '@ethereumjs/tx': 4.2.0 - '@metamask/superstruct': 3.1.0 - '@noble/hashes': 1.5.0 - '@scure/base': 1.1.7 - '@types/debug': 4.1.12 - debug: 4.3.6 - pony-cause: 2.1.11 - semver: 7.6.3 - uuid: 9.0.1 - transitivePeerDependencies: - - supports-color - - '@motionone/animation@10.18.0': - dependencies: - '@motionone/easing': 10.18.0 - '@motionone/types': 10.17.1 - '@motionone/utils': 10.18.0 - tslib: 2.7.0 - - '@motionone/dom@10.18.0': - dependencies: - '@motionone/animation': 10.18.0 - '@motionone/generators': 10.18.0 - '@motionone/types': 10.17.1 - '@motionone/utils': 10.18.0 - hey-listen: 1.0.8 - tslib: 2.7.0 - - '@motionone/easing@10.18.0': - dependencies: - '@motionone/utils': 10.18.0 - tslib: 2.7.0 - - '@motionone/generators@10.18.0': - dependencies: - '@motionone/types': 10.17.1 - '@motionone/utils': 10.18.0 - tslib: 2.7.0 - - '@motionone/svelte@10.16.4': - dependencies: - '@motionone/dom': 10.18.0 - tslib: 2.7.0 - - '@motionone/types@10.17.1': {} - - '@motionone/utils@10.18.0': - dependencies: - '@motionone/types': 10.17.1 - hey-listen: 1.0.8 - tslib: 2.7.0 - - '@motionone/vue@10.16.4': - dependencies: - '@motionone/dom': 10.18.0 - tslib: 2.7.0 - - '@noble/curves@1.4.0': - dependencies: - '@noble/hashes': 1.4.0 - - '@noble/curves@1.4.2': - dependencies: - '@noble/hashes': 1.4.0 - - '@noble/hashes@1.4.0': {} - - '@noble/hashes@1.5.0': {} - - '@nodelib/fs.scandir@2.1.5': - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - - '@nodelib/fs.stat@2.0.5': {} - - '@nodelib/fs.walk@1.2.8': - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.17.1 - - '@parcel/watcher-android-arm64@2.4.1': - optional: true - - '@parcel/watcher-darwin-arm64@2.4.1': - optional: true - - '@parcel/watcher-darwin-x64@2.4.1': - optional: true - - '@parcel/watcher-freebsd-x64@2.4.1': - optional: true - - '@parcel/watcher-linux-arm-glibc@2.4.1': - optional: true - - '@parcel/watcher-linux-arm64-glibc@2.4.1': - optional: true - - '@parcel/watcher-linux-arm64-musl@2.4.1': - optional: true - - '@parcel/watcher-linux-x64-glibc@2.4.1': - optional: true - - '@parcel/watcher-linux-x64-musl@2.4.1': - optional: true - - '@parcel/watcher-wasm@2.4.1': - dependencies: - is-glob: 4.0.3 - micromatch: 4.0.8 - - '@parcel/watcher-win32-arm64@2.4.1': - optional: true - - '@parcel/watcher-win32-ia32@2.4.1': - optional: true - - '@parcel/watcher-win32-x64@2.4.1': - optional: true - - '@parcel/watcher@2.4.1': - dependencies: - detect-libc: 1.0.3 - is-glob: 4.0.3 - micromatch: 4.0.8 - node-addon-api: 7.1.1 - 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 - - '@react-native-community/cli-clean@14.0.0': - dependencies: - '@react-native-community/cli-tools': 14.0.0 - chalk: 4.1.2 - execa: 5.1.1 - fast-glob: 3.3.2 - - '@react-native-community/cli-config@14.0.0(typescript@5.5.4)': - dependencies: - '@react-native-community/cli-tools': 14.0.0 - chalk: 4.1.2 - cosmiconfig: 9.0.0(typescript@5.5.4) - deepmerge: 4.3.1 - fast-glob: 3.3.2 - joi: 17.13.3 - transitivePeerDependencies: - - typescript - - '@react-native-community/cli-debugger-ui@14.0.0': - dependencies: - serve-static: 1.15.0 - transitivePeerDependencies: - - supports-color - - '@react-native-community/cli-debugger-ui@14.0.0-alpha.11': - dependencies: - serve-static: 1.15.0 - transitivePeerDependencies: - - supports-color - - '@react-native-community/cli-doctor@14.0.0(typescript@5.5.4)': - dependencies: - '@react-native-community/cli-config': 14.0.0(typescript@5.5.4) - '@react-native-community/cli-platform-android': 14.0.0 - '@react-native-community/cli-platform-apple': 14.0.0 - '@react-native-community/cli-platform-ios': 14.0.0 - '@react-native-community/cli-tools': 14.0.0 - chalk: 4.1.2 - command-exists: 1.2.9 - deepmerge: 4.3.1 - envinfo: 7.13.0 - execa: 5.1.1 - node-stream-zip: 1.15.0 - ora: 5.4.1 - semver: 7.6.3 - strip-ansi: 5.2.0 - wcwidth: 1.0.1 - yaml: 2.5.0 - transitivePeerDependencies: - - typescript - - '@react-native-community/cli-platform-android@14.0.0': - dependencies: - '@react-native-community/cli-tools': 14.0.0 - chalk: 4.1.2 - execa: 5.1.1 - fast-glob: 3.3.2 - fast-xml-parser: 4.5.0 - logkitty: 0.7.1 - - '@react-native-community/cli-platform-apple@14.0.0': - dependencies: - '@react-native-community/cli-tools': 14.0.0 - chalk: 4.1.2 - execa: 5.1.1 - fast-glob: 3.3.2 - fast-xml-parser: 4.5.0 - ora: 5.4.1 - - '@react-native-community/cli-platform-ios@14.0.0': - dependencies: - '@react-native-community/cli-platform-apple': 14.0.0 - - '@react-native-community/cli-server-api@14.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': - dependencies: - '@react-native-community/cli-debugger-ui': 14.0.0 - '@react-native-community/cli-tools': 14.0.0 - compression: 1.7.4 - connect: 3.7.0 - errorhandler: 1.5.1 - nocache: 3.0.4 - pretty-format: 26.6.2 - serve-static: 1.15.0 - ws: 6.2.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - - '@react-native-community/cli-server-api@14.0.0-alpha.11(bufferutil@4.0.8)(utf-8-validate@5.0.10)': - dependencies: - '@react-native-community/cli-debugger-ui': 14.0.0-alpha.11 - '@react-native-community/cli-tools': 14.0.0-alpha.11 - compression: 1.7.4 - connect: 3.7.0 - errorhandler: 1.5.1 - nocache: 3.0.4 - pretty-format: 26.6.2 - serve-static: 1.15.0 - ws: 6.2.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - - '@react-native-community/cli-tools@14.0.0': - dependencies: - appdirsjs: 1.2.7 - chalk: 4.1.2 - execa: 5.1.1 - find-up: 5.0.0 - mime: 2.6.0 - open: 6.4.0 - ora: 5.4.1 - semver: 7.6.3 - shell-quote: 1.8.1 - sudo-prompt: 9.2.1 - - '@react-native-community/cli-tools@14.0.0-alpha.11': - dependencies: - appdirsjs: 1.2.7 - chalk: 4.1.2 - execa: 5.1.1 - find-up: 5.0.0 - mime: 2.6.0 - open: 6.4.0 - ora: 5.4.1 - semver: 7.6.3 - shell-quote: 1.8.1 - sudo-prompt: 9.2.1 - - '@react-native-community/cli-types@14.0.0': - dependencies: - joi: 17.13.3 - - '@react-native-community/cli@14.0.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)': - dependencies: - '@react-native-community/cli-clean': 14.0.0 - '@react-native-community/cli-config': 14.0.0(typescript@5.5.4) - '@react-native-community/cli-debugger-ui': 14.0.0 - '@react-native-community/cli-doctor': 14.0.0(typescript@5.5.4) - '@react-native-community/cli-server-api': 14.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@react-native-community/cli-tools': 14.0.0 - '@react-native-community/cli-types': 14.0.0 - chalk: 4.1.2 - commander: 9.5.0 - deepmerge: 4.3.1 - execa: 5.1.1 - find-up: 5.0.0 - fs-extra: 8.1.0 - graceful-fs: 4.2.11 - prompts: 2.4.2 - semver: 7.6.3 - transitivePeerDependencies: - - bufferutil - - supports-color - - typescript - - utf-8-validate - - '@react-native/assets-registry@0.75.2': {} - - '@react-native/babel-plugin-codegen@0.75.2(@babel/preset-env@7.25.4(@babel/core@7.25.2))': - dependencies: - '@react-native/codegen': 0.75.2(@babel/preset-env@7.25.4(@babel/core@7.25.2)) - transitivePeerDependencies: - - '@babel/preset-env' - - supports-color - - '@react-native/babel-preset@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))': - dependencies: - '@babel/core': 7.25.2 - '@babel/plugin-proposal-export-default-from': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-export-default-from': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-syntax-flow': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-async-generator-functions': 7.25.4(@babel/core@7.25.2) - '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-block-scoping': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-transform-class-properties': 7.25.4(@babel/core@7.25.2) - '@babel/plugin-transform-classes': 7.25.4(@babel/core@7.25.2) - '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-destructuring': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-flow-strip-types': 7.25.2(@babel/core@7.25.2) - '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-function-name': 7.25.1(@babel/core@7.25.2) - '@babel/plugin-transform-literals': 7.25.2(@babel/core@7.25.2) - '@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-numeric-separator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-private-methods': 7.25.4(@babel/core@7.25.2) - '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-react-display-name': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.25.2) - '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-regenerator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-runtime': 7.25.4(@babel/core@7.25.2) - '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2) - '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.25.2) - '@babel/template': 7.25.0 - '@react-native/babel-plugin-codegen': 0.75.2(@babel/preset-env@7.25.4(@babel/core@7.25.2)) - babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.25.2) - react-refresh: 0.14.2 - transitivePeerDependencies: - - '@babel/preset-env' - - supports-color - - '@react-native/codegen@0.75.2(@babel/preset-env@7.25.4(@babel/core@7.25.2))': - dependencies: - '@babel/parser': 7.25.6 - '@babel/preset-env': 7.25.4(@babel/core@7.25.2) - glob: 7.2.3 - hermes-parser: 0.22.0 - invariant: 2.2.4 - jscodeshift: 0.14.0(@babel/preset-env@7.25.4(@babel/core@7.25.2)) - mkdirp: 0.5.6 - nullthrows: 1.1.1 - yargs: 17.7.2 - transitivePeerDependencies: - - supports-color - - '@react-native/community-cli-plugin@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(bufferutil@4.0.8)(utf-8-validate@5.0.10)': - dependencies: - '@react-native-community/cli-server-api': 14.0.0-alpha.11(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@react-native-community/cli-tools': 14.0.0-alpha.11 - '@react-native/dev-middleware': 0.75.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@react-native/metro-babel-transformer': 0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2)) - chalk: 4.1.2 - execa: 5.1.1 - metro: 0.80.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) - metro-config: 0.80.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) - metro-core: 0.80.10 - node-fetch: 2.7.0 - querystring: 0.2.1 - readline: 1.3.0 - transitivePeerDependencies: - - '@babel/core' - - '@babel/preset-env' - - bufferutil - - encoding - - supports-color - - utf-8-validate - - '@react-native/debugger-frontend@0.75.2': {} - - '@react-native/dev-middleware@0.75.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)': - dependencies: - '@isaacs/ttlcache': 1.4.1 - '@react-native/debugger-frontend': 0.75.2 - chrome-launcher: 0.15.2 - chromium-edge-launcher: 0.2.0 - connect: 3.7.0 - debug: 2.6.9 - node-fetch: 2.7.0 - nullthrows: 1.1.1 - open: 7.4.2 - selfsigned: 2.4.1 - serve-static: 1.15.0 - ws: 6.2.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) - transitivePeerDependencies: - - bufferutil - - encoding - - supports-color - - utf-8-validate - - '@react-native/gradle-plugin@0.75.2': {} - - '@react-native/js-polyfills@0.75.2': {} - - '@react-native/metro-babel-transformer@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))': - dependencies: - '@babel/core': 7.25.2 - '@react-native/babel-preset': 0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2)) - hermes-parser: 0.22.0 - nullthrows: 1.1.1 - transitivePeerDependencies: - - '@babel/preset-env' - - supports-color - - '@react-native/normalize-colors@0.75.2': {} - - '@react-native/virtualized-lists@0.75.2(@types/react@18.3.5)(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.3.5)(bufferutil@4.0.8)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10))(react@18.3.1)': - dependencies: - invariant: 2.2.4 - nullthrows: 1.1.1 - react: 18.3.1 - react-native: 0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.3.5)(bufferutil@4.0.8)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10) - optionalDependencies: - '@types/react': 18.3.5 - - '@rollup/rollup-android-arm-eabi@4.21.2': - optional: true - - '@rollup/rollup-android-arm64@4.21.2': - optional: true - - '@rollup/rollup-darwin-arm64@4.21.2': - optional: true - - '@rollup/rollup-darwin-x64@4.21.2': - optional: true - - '@rollup/rollup-linux-arm-gnueabihf@4.21.2': - optional: true - - '@rollup/rollup-linux-arm-musleabihf@4.21.2': - optional: true - - '@rollup/rollup-linux-arm64-gnu@4.21.2': - optional: true - - '@rollup/rollup-linux-arm64-musl@4.21.2': - optional: true - - '@rollup/rollup-linux-powerpc64le-gnu@4.21.2': - optional: true - - '@rollup/rollup-linux-riscv64-gnu@4.21.2': - optional: true - - '@rollup/rollup-linux-s390x-gnu@4.21.2': - optional: true - - '@rollup/rollup-linux-x64-gnu@4.21.2': - optional: true - - '@rollup/rollup-linux-x64-musl@4.21.2': - optional: true - - '@rollup/rollup-win32-arm64-msvc@4.21.2': - optional: true - - '@rollup/rollup-win32-ia32-msvc@4.21.2': - optional: true - - '@rollup/rollup-win32-x64-msvc@4.21.2': - optional: true - - '@safe-global/safe-apps-provider@0.18.3(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)': - dependencies: - '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8) - events: 3.3.0 - transitivePeerDependencies: - - bufferutil - - typescript - - utf-8-validate - - zod - - '@safe-global/safe-apps-sdk@9.1.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)': - dependencies: - '@safe-global/safe-gateway-typescript-sdk': 3.22.2 - viem: 2.21.1(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8) - transitivePeerDependencies: - - bufferutil - - typescript - - utf-8-validate - - zod - - '@safe-global/safe-gateway-typescript-sdk@3.22.2': {} - - '@scure/base@1.1.7': {} - - '@scure/bip32@1.4.0': - dependencies: - '@noble/curves': 1.4.0 - '@noble/hashes': 1.4.0 - '@scure/base': 1.1.7 - - '@scure/bip39@1.3.0': - dependencies: - '@noble/hashes': 1.4.0 - '@scure/base': 1.1.7 - - '@sideway/address@4.1.5': - dependencies: - '@hapi/hoek': 9.3.0 - - '@sideway/formula@3.0.1': {} - - '@sideway/pinpoint@2.0.0': {} - - '@sinclair/typebox@0.27.8': {} - - '@sinonjs/commons@3.0.1': - dependencies: - type-detect: 4.0.8 - - '@sinonjs/fake-timers@10.3.0': - dependencies: - '@sinonjs/commons': 3.0.1 - - '@socket.io/component-emitter@3.1.2': {} - - '@stablelib/aead@1.0.1': {} - - '@stablelib/binary@1.0.1': - dependencies: - '@stablelib/int': 1.0.1 - - '@stablelib/bytes@1.0.1': {} - - '@stablelib/chacha20poly1305@1.0.1': - 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': - dependencies: - '@stablelib/binary': 1.0.1 - '@stablelib/wipe': 1.0.1 - - '@stablelib/constant-time@1.0.1': {} - - '@stablelib/ed25519@1.0.3': - dependencies: - '@stablelib/random': 1.0.2 - '@stablelib/sha512': 1.0.1 - '@stablelib/wipe': 1.0.1 - - '@stablelib/hash@1.0.1': {} - - '@stablelib/hkdf@1.0.1': - dependencies: - '@stablelib/hash': 1.0.1 - '@stablelib/hmac': 1.0.1 - '@stablelib/wipe': 1.0.1 - - '@stablelib/hmac@1.0.1': - dependencies: - '@stablelib/constant-time': 1.0.1 - '@stablelib/hash': 1.0.1 - '@stablelib/wipe': 1.0.1 - - '@stablelib/int@1.0.1': {} - - '@stablelib/keyagreement@1.0.1': - dependencies: - '@stablelib/bytes': 1.0.1 - - '@stablelib/poly1305@1.0.1': - dependencies: - '@stablelib/constant-time': 1.0.1 - '@stablelib/wipe': 1.0.1 - - '@stablelib/random@1.0.2': - dependencies: - '@stablelib/binary': 1.0.1 - '@stablelib/wipe': 1.0.1 - - '@stablelib/sha256@1.0.1': - dependencies: - '@stablelib/binary': 1.0.1 - '@stablelib/hash': 1.0.1 - '@stablelib/wipe': 1.0.1 - - '@stablelib/sha512@1.0.1': - dependencies: - '@stablelib/binary': 1.0.1 - '@stablelib/hash': 1.0.1 - '@stablelib/wipe': 1.0.1 - - '@stablelib/wipe@1.0.1': {} - - '@stablelib/x25519@1.0.3': - dependencies: - '@stablelib/keyagreement': 1.0.1 - '@stablelib/random': 1.0.2 - '@stablelib/wipe': 1.0.1 - - '@tanstack/query-core@5.45.0': {} - - '@tanstack/react-query@5.45.1(react@18.3.1)': - dependencies: - '@tanstack/query-core': 5.45.0 - react: 18.3.1 - - '@types/babel__core@7.20.5': - dependencies: - '@babel/parser': 7.25.6 - '@babel/types': 7.25.6 - '@types/babel__generator': 7.6.8 - '@types/babel__template': 7.4.4 - '@types/babel__traverse': 7.20.6 - - '@types/babel__generator@7.6.8': - dependencies: - '@babel/types': 7.25.6 - - '@types/babel__template@7.4.4': - dependencies: - '@babel/parser': 7.25.6 - '@babel/types': 7.25.6 - - '@types/babel__traverse@7.20.6': - dependencies: - '@babel/types': 7.25.6 - - '@types/debug@4.1.12': - dependencies: - '@types/ms': 0.7.34 - - '@types/dom-screen-wake-lock@1.0.3': {} - - '@types/estree@1.0.5': {} - - '@types/istanbul-lib-coverage@2.0.6': {} - - '@types/istanbul-lib-report@3.0.3': - dependencies: - '@types/istanbul-lib-coverage': 2.0.6 - - '@types/istanbul-reports@3.0.4': - dependencies: - '@types/istanbul-lib-report': 3.0.3 - - '@types/ms@0.7.34': {} - - '@types/node-forge@1.3.11': - dependencies: - '@types/node': 22.5.2 - - '@types/node@22.5.2': - dependencies: - undici-types: 6.19.8 - - '@types/prop-types@15.7.12': {} - - '@types/react-dom@18.3.0': - dependencies: - '@types/react': 18.3.5 - - '@types/react@18.3.5': - dependencies: - '@types/prop-types': 15.7.12 - csstype: 3.1.3 - - '@types/secp256k1@4.0.6': - dependencies: - '@types/node': 22.5.2 - - '@types/stack-utils@2.0.3': {} - - '@types/trusted-types@2.0.7': {} - - '@types/yargs-parser@21.0.3': {} - - '@types/yargs@15.0.19': - dependencies: - '@types/yargs-parser': 21.0.3 - - '@types/yargs@17.0.33': - dependencies: - '@types/yargs-parser': 21.0.3 - - '@vitejs/plugin-react@4.3.1(vite@5.4.3(@types/node@22.5.2)(terser@5.31.6))': - dependencies: - '@babel/core': 7.25.2 - '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.25.2) - '@types/babel__core': 7.20.5 - react-refresh: 0.14.2 - vite: 5.4.3(@types/node@22.5.2)(terser@5.31.6) - transitivePeerDependencies: - - supports-color - - '@wagmi/cli@2.1.15(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)': - dependencies: - abitype: 1.0.6(typescript@5.5.4)(zod@3.23.8) - bundle-require: 4.2.1(esbuild@0.19.12) - cac: 6.7.14 - change-case: 5.4.4 - chokidar: 3.6.0 - dedent: 0.7.0 - dotenv: 16.4.5 - dotenv-expand: 10.0.0 - esbuild: 0.19.12 - execa: 8.0.1 - fdir: 6.3.0(picomatch@3.0.1) - find-up: 6.3.0 - fs-extra: 11.2.0 - ora: 6.3.1 - pathe: 1.1.2 - picocolors: 1.1.0 - picomatch: 3.0.1 - prettier: 3.3.3 - viem: 2.21.1(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8) - zod: 3.23.8 - optionalDependencies: - typescript: 5.5.4 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - '@wagmi/connectors@5.1.8(@types/react@18.3.5)(@wagmi/core@2.13.4(@tanstack/query-core@5.45.0)(@types/react@18.3.5)(react@18.3.1)(typescript@5.5.4)(viem@2.21.1(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.3.5)(bufferutil@4.0.8)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.2)(typescript@5.5.4)(utf-8-validate@5.0.10)(viem@2.21.1(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8)': - dependencies: - '@coinbase/wallet-sdk': 4.0.4 - '@metamask/sdk': 0.27.0(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.3.5)(bufferutil@4.0.8)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.2)(utf-8-validate@5.0.10) - '@safe-global/safe-apps-provider': 0.18.3(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8) - '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8) - '@wagmi/core': 2.13.4(@tanstack/query-core@5.45.0)(@types/react@18.3.5)(react@18.3.1)(typescript@5.5.4)(viem@2.21.1(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)) - '@walletconnect/ethereum-provider': 2.15.2(@types/react@18.3.5)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10) - '@walletconnect/modal': 2.6.2(@types/react@18.3.5)(react@18.3.1) - cbw-sdk: '@coinbase/wallet-sdk@3.9.3' - viem: 2.21.1(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8) - optionalDependencies: - typescript: 5.5.4 - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@types/react' - - '@upstash/redis' - - '@vercel/kv' - - bufferutil - - encoding - - ioredis - - react - - react-dom - - react-native - - rollup - - supports-color - - uWebSockets.js - - utf-8-validate - - zod - - '@wagmi/core@2.13.4(@tanstack/query-core@5.45.0)(@types/react@18.3.5)(react@18.3.1)(typescript@5.5.4)(viem@2.21.1(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))': - dependencies: - eventemitter3: 5.0.1 - mipd: 0.0.7(typescript@5.5.4) - viem: 2.21.1(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8) - zustand: 4.4.1(@types/react@18.3.5)(react@18.3.1) - optionalDependencies: - '@tanstack/query-core': 5.45.0 - typescript: 5.5.4 - transitivePeerDependencies: - - '@types/react' - - immer - - react - - '@walletconnect/core@2.15.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)': - 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(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@walletconnect/keyvaluestorage': 1.1.1 - '@walletconnect/logger': 2.1.2 - '@walletconnect/relay-api': 1.0.11 - '@walletconnect/relay-auth': 1.0.4 - '@walletconnect/safe-json': 1.0.2 - '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.15.2 - '@walletconnect/utils': 2.15.2 - events: 3.3.0 - lodash.isequal: 4.5.0 - uint8arrays: 3.1.0 - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@upstash/redis' - - '@vercel/kv' - - bufferutil - - ioredis - - uWebSockets.js - - utf-8-validate - - '@walletconnect/environment@1.0.1': - dependencies: - tslib: 1.14.1 - - '@walletconnect/ethereum-provider@2.15.2(@types/react@18.3.5)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10)': - dependencies: - '@walletconnect/jsonrpc-http-connection': 1.0.8 - '@walletconnect/jsonrpc-provider': 1.0.14 - '@walletconnect/jsonrpc-types': 1.0.4 - '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/modal': 2.6.2(@types/react@18.3.5)(react@18.3.1) - '@walletconnect/sign-client': 2.15.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@walletconnect/types': 2.15.2 - '@walletconnect/universal-provider': 2.15.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@walletconnect/utils': 2.15.2 - events: 3.3.0 - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@types/react' - - '@upstash/redis' - - '@vercel/kv' - - bufferutil - - encoding - - ioredis - - react - - uWebSockets.js - - utf-8-validate - - '@walletconnect/events@1.0.1': - dependencies: - keyvaluestorage-interface: 1.0.0 - tslib: 1.14.1 - - '@walletconnect/heartbeat@1.2.2': - dependencies: - '@walletconnect/events': 1.0.1 - '@walletconnect/time': 1.0.2 - events: 3.3.0 - - '@walletconnect/jsonrpc-http-connection@1.0.8': - dependencies: - '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/safe-json': 1.0.2 - cross-fetch: 3.1.8 - events: 3.3.0 - transitivePeerDependencies: - - encoding - - '@walletconnect/jsonrpc-provider@1.0.14': - dependencies: - '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/safe-json': 1.0.2 - events: 3.3.0 - - '@walletconnect/jsonrpc-types@1.0.4': - dependencies: - events: 3.3.0 - keyvaluestorage-interface: 1.0.0 - - '@walletconnect/jsonrpc-utils@1.0.8': - dependencies: - '@walletconnect/environment': 1.0.1 - '@walletconnect/jsonrpc-types': 1.0.4 - tslib: 1.14.1 - - '@walletconnect/jsonrpc-ws-connection@1.0.14(bufferutil@4.0.8)(utf-8-validate@5.0.10)': - dependencies: - '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/safe-json': 1.0.2 - events: 3.3.0 - ws: 7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - '@walletconnect/keyvaluestorage@1.1.1': - dependencies: - '@walletconnect/safe-json': 1.0.2 - idb-keyval: 6.2.1 - unstorage: 1.10.2(idb-keyval@6.2.1) - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@netlify/blobs' - - '@planetscale/database' - - '@upstash/redis' - - '@vercel/kv' - - ioredis - - uWebSockets.js - - '@walletconnect/logger@2.1.2': - dependencies: - '@walletconnect/safe-json': 1.0.2 - pino: 7.11.0 - - '@walletconnect/modal-core@2.6.2(@types/react@18.3.5)(react@18.3.1)': - dependencies: - valtio: 1.11.2(@types/react@18.3.5)(react@18.3.1) - transitivePeerDependencies: - - '@types/react' - - react - - '@walletconnect/modal-ui@2.6.2(@types/react@18.3.5)(react@18.3.1)': - dependencies: - '@walletconnect/modal-core': 2.6.2(@types/react@18.3.5)(react@18.3.1) - lit: 2.8.0 - motion: 10.16.2 - qrcode: 1.5.3 - transitivePeerDependencies: - - '@types/react' - - react - - '@walletconnect/modal@2.6.2(@types/react@18.3.5)(react@18.3.1)': - dependencies: - '@walletconnect/modal-core': 2.6.2(@types/react@18.3.5)(react@18.3.1) - '@walletconnect/modal-ui': 2.6.2(@types/react@18.3.5)(react@18.3.1) - transitivePeerDependencies: - - '@types/react' - - react - - '@walletconnect/relay-api@1.0.11': - dependencies: - '@walletconnect/jsonrpc-types': 1.0.4 - - '@walletconnect/relay-auth@1.0.4': - dependencies: - '@stablelib/ed25519': 1.0.3 - '@stablelib/random': 1.0.2 - '@walletconnect/safe-json': 1.0.2 - '@walletconnect/time': 1.0.2 - tslib: 1.14.1 - uint8arrays: 3.1.0 - - '@walletconnect/safe-json@1.0.2': - dependencies: - tslib: 1.14.1 - - '@walletconnect/sign-client@2.15.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)': - dependencies: - '@walletconnect/core': 2.15.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@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.15.2 - '@walletconnect/utils': 2.15.2 - events: 3.3.0 - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@upstash/redis' - - '@vercel/kv' - - bufferutil - - ioredis - - uWebSockets.js - - utf-8-validate - - '@walletconnect/time@1.0.2': - dependencies: - tslib: 1.14.1 - - '@walletconnect/types@2.15.2': - 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 - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@upstash/redis' - - '@vercel/kv' - - ioredis - - uWebSockets.js - - '@walletconnect/universal-provider@2.15.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)': - dependencies: - '@walletconnect/jsonrpc-http-connection': 1.0.8 - '@walletconnect/jsonrpc-provider': 1.0.14 - '@walletconnect/jsonrpc-types': 1.0.4 - '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/logger': 2.1.2 - '@walletconnect/sign-client': 2.15.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@walletconnect/types': 2.15.2 - '@walletconnect/utils': 2.15.2 - events: 3.3.0 - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@upstash/redis' - - '@vercel/kv' - - bufferutil - - encoding - - ioredis - - uWebSockets.js - - utf-8-validate - - '@walletconnect/utils@2.15.2': - 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.11 - '@walletconnect/relay-auth': 1.0.4 - '@walletconnect/safe-json': 1.0.2 - '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.15.2 - '@walletconnect/window-getters': 1.0.1 - '@walletconnect/window-metadata': 1.0.1 - detect-browser: 5.3.0 - elliptic: 6.5.7 - query-string: 7.1.3 - uint8arrays: 3.1.0 - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@upstash/redis' - - '@vercel/kv' - - ioredis - - uWebSockets.js - - '@walletconnect/window-getters@1.0.1': - dependencies: - tslib: 1.14.1 - - '@walletconnect/window-metadata@1.0.1': - dependencies: - '@walletconnect/window-getters': 1.0.1 - tslib: 1.14.1 - - abitype@1.0.5(typescript@5.5.4)(zod@3.23.8): - optionalDependencies: - typescript: 5.5.4 - zod: 3.23.8 - - abitype@1.0.6(typescript@5.5.4)(zod@3.23.8): - optionalDependencies: - typescript: 5.5.4 - zod: 3.23.8 - - abort-controller@3.0.0: - dependencies: - event-target-shim: 5.0.1 - - accepts@1.3.8: - dependencies: - mime-types: 2.1.35 - negotiator: 0.6.3 - - acorn@8.12.1: {} - - anser@1.4.10: {} - - ansi-fragments@0.2.1: - dependencies: - colorette: 1.4.0 - slice-ansi: 2.1.0 - strip-ansi: 5.2.0 - - ansi-regex@4.1.1: {} - - ansi-regex@5.0.1: {} - - ansi-regex@6.0.1: {} - - ansi-styles@3.2.1: - dependencies: - color-convert: 1.9.3 - - ansi-styles@4.3.0: - dependencies: - color-convert: 2.0.1 - - ansi-styles@5.2.0: {} - - anymatch@3.1.3: - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - - appdirsjs@1.2.7: {} - - argparse@1.0.10: - dependencies: - sprintf-js: 1.0.3 - - argparse@2.0.1: {} - - asap@2.0.6: {} - - ast-types@0.15.2: - dependencies: - tslib: 2.7.0 - - astral-regex@1.0.0: {} - - async-limiter@1.0.1: {} - - async-mutex@0.2.6: - dependencies: - tslib: 2.7.0 - - atomic-sleep@1.0.0: {} - - available-typed-arrays@1.0.7: - dependencies: - possible-typed-array-names: 1.0.0 - - babel-core@7.0.0-bridge.0(@babel/core@7.25.2): - dependencies: - '@babel/core': 7.25.2 - - babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.25.2): - dependencies: - '@babel/compat-data': 7.25.4 - '@babel/core': 7.25.2 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.25.2): - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) - core-js-compat: 3.38.1 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.25.2): - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) - transitivePeerDependencies: - - supports-color - - babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.25.2): - dependencies: - '@babel/plugin-syntax-flow': 7.24.7(@babel/core@7.25.2) - transitivePeerDependencies: - - '@babel/core' - - balanced-match@1.0.2: {} - - base64-js@1.5.1: {} - - binary-extensions@2.3.0: {} - - bl@4.1.0: - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.2 - - bl@5.1.0: - dependencies: - buffer: 6.0.3 - inherits: 2.0.4 - readable-stream: 3.6.2 - - bn.js@4.12.0: {} - - bn.js@5.2.1: {} - - bowser@2.11.0: {} - - brace-expansion@1.1.11: - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - - braces@3.0.3: - dependencies: - fill-range: 7.1.1 - - brorand@1.1.0: {} - - browserslist@4.23.3: - dependencies: - caniuse-lite: 1.0.30001655 - electron-to-chromium: 1.5.13 - node-releases: 2.0.18 - update-browserslist-db: 1.1.0(browserslist@4.23.3) - - bser@2.1.1: - dependencies: - node-int64: 0.4.0 - - buffer-from@1.1.2: {} - - buffer@5.7.1: - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - - buffer@6.0.3: - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - - bufferutil@4.0.8: - dependencies: - node-gyp-build: 4.8.2 - - bundle-require@4.2.1(esbuild@0.19.12): - dependencies: - esbuild: 0.19.12 - load-tsconfig: 0.2.5 - - bytes@3.0.0: {} - - cac@6.7.14: {} - - call-bind@1.0.7: - 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.2 - - caller-callsite@2.0.0: - dependencies: - callsites: 2.0.0 - - caller-path@2.0.0: - dependencies: - caller-callsite: 2.0.0 - - callsites@2.0.0: {} - - callsites@3.1.0: {} - - camelcase@5.3.1: {} - - camelcase@6.3.0: {} - - caniuse-lite@1.0.30001655: {} - - chalk@2.4.2: - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - - chalk@4.1.2: - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - - chalk@5.3.0: {} - - change-case@5.4.4: {} - - chokidar@3.6.0: - dependencies: - anymatch: 3.1.3 - braces: 3.0.3 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - - chrome-launcher@0.15.2: - dependencies: - '@types/node': 22.5.2 - escape-string-regexp: 4.0.0 - is-wsl: 2.2.0 - lighthouse-logger: 1.4.2 - transitivePeerDependencies: - - supports-color - - chromium-edge-launcher@0.2.0: - dependencies: - '@types/node': 22.5.2 - escape-string-regexp: 4.0.0 - is-wsl: 2.2.0 - lighthouse-logger: 1.4.2 - mkdirp: 1.0.4 - rimraf: 3.0.2 - transitivePeerDependencies: - - supports-color - - ci-info@2.0.0: {} - - ci-info@3.9.0: {} - - citty@0.1.6: - dependencies: - consola: 3.2.3 - - cli-cursor@3.1.0: - dependencies: - restore-cursor: 3.1.0 - - cli-cursor@4.0.0: - dependencies: - restore-cursor: 4.0.0 - - cli-spinners@2.9.2: {} - - clipboardy@4.0.0: - dependencies: - execa: 8.0.1 - is-wsl: 3.1.0 - is64bit: 2.0.0 - - cliui@6.0.0: - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 6.2.0 - - cliui@8.0.1: - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - - clone-deep@4.0.1: - dependencies: - is-plain-object: 2.0.4 - kind-of: 6.0.3 - shallow-clone: 3.0.1 - - clone@1.0.4: {} - - clsx@1.2.1: {} - - color-convert@1.9.3: - dependencies: - color-name: 1.1.3 - - color-convert@2.0.1: - dependencies: - color-name: 1.1.4 - - color-name@1.1.3: {} - - color-name@1.1.4: {} - - colorette@1.4.0: {} - - command-exists@1.2.9: {} - - commander@2.20.3: {} - - commander@9.5.0: {} - - commondir@1.0.1: {} - - compressible@2.0.18: - dependencies: - mime-db: 1.53.0 - - compression@1.7.4: - dependencies: - accepts: 1.3.8 - bytes: 3.0.0 - compressible: 2.0.18 - debug: 2.6.9 - on-headers: 1.0.2 - safe-buffer: 5.1.2 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - - concat-map@0.0.1: {} - - confbox@0.1.7: {} - - connect@3.7.0: - dependencies: - debug: 2.6.9 - finalhandler: 1.1.2 - parseurl: 1.3.3 - utils-merge: 1.0.1 - transitivePeerDependencies: - - supports-color - - consola@3.2.3: {} - - convert-source-map@2.0.0: {} - - cookie-es@1.2.2: {} - - core-js-compat@3.38.1: - dependencies: - browserslist: 4.23.3 - - core-util-is@1.0.3: {} - - cosmiconfig@5.2.1: - dependencies: - import-fresh: 2.0.0 - is-directory: 0.3.1 - js-yaml: 3.14.1 - parse-json: 4.0.0 - - cosmiconfig@9.0.0(typescript@5.5.4): - dependencies: - env-paths: 2.2.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - parse-json: 5.2.0 - optionalDependencies: - typescript: 5.5.4 - - crc-32@1.2.2: {} - - cross-fetch@3.1.8: - dependencies: - node-fetch: 2.7.0 - transitivePeerDependencies: - - encoding - - cross-fetch@4.0.0: - dependencies: - node-fetch: 2.7.0 - transitivePeerDependencies: - - encoding - - cross-spawn@7.0.3: - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - - crossws@0.2.4: {} - - csstype@3.1.3: {} - - date-fns@2.30.0: - dependencies: - '@babel/runtime': 7.25.6 - - dayjs@1.11.13: {} - - debug@2.6.9: - dependencies: - ms: 2.0.0 - - debug@4.3.6: - dependencies: - ms: 2.1.2 - - decamelize@1.2.0: {} - - decode-uri-component@0.2.2: {} - - dedent@0.7.0: {} - - deepmerge@4.3.1: {} - - defaults@1.0.4: - dependencies: - clone: 1.0.4 - - define-data-property@1.1.4: - dependencies: - es-define-property: 1.0.0 - es-errors: 1.3.0 - gopd: 1.0.1 - - define-lazy-prop@2.0.0: {} - - defu@6.1.4: {} - - denodeify@1.2.1: {} - - depd@2.0.0: {} - - destr@2.0.3: {} - - destroy@1.2.0: {} - - detect-browser@5.3.0: {} - - detect-libc@1.0.3: {} - - dijkstrajs@1.0.3: {} - - dotenv-expand@10.0.0: {} - - dotenv@16.4.5: {} - - duplexify@4.1.3: - dependencies: - end-of-stream: 1.4.4 - inherits: 2.0.4 - readable-stream: 3.6.2 - stream-shift: 1.0.3 - - eciesjs@0.3.20: - dependencies: - '@types/secp256k1': 4.0.6 - futoin-hkdf: 1.5.3 - secp256k1: 5.0.0 - - ee-first@1.1.1: {} - - electron-to-chromium@1.5.13: {} - - elliptic@6.5.7: - dependencies: - bn.js: 4.12.0 - brorand: 1.1.0 - hash.js: 1.1.7 - 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: {} - - encode-utf8@1.0.3: {} - - encodeurl@1.0.2: {} - - end-of-stream@1.4.4: - dependencies: - once: 1.4.0 - - engine.io-client@6.5.4(bufferutil@4.0.8)(utf-8-validate@5.0.10): - dependencies: - '@socket.io/component-emitter': 3.1.2 - debug: 4.3.6 - engine.io-parser: 5.2.3 - ws: 8.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) - xmlhttprequest-ssl: 2.0.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - - engine.io-parser@5.2.3: {} - - env-paths@2.2.1: {} - - envinfo@7.13.0: {} - - error-ex@1.3.2: - dependencies: - is-arrayish: 0.2.1 - - error-stack-parser@2.1.4: - dependencies: - stackframe: 1.3.4 - - errorhandler@1.5.1: - dependencies: - accepts: 1.3.8 - escape-html: 1.0.3 - - es-define-property@1.0.0: - dependencies: - get-intrinsic: 1.2.4 - - es-errors@1.3.0: {} - - esbuild@0.19.12: - optionalDependencies: - '@esbuild/aix-ppc64': 0.19.12 - '@esbuild/android-arm': 0.19.12 - '@esbuild/android-arm64': 0.19.12 - '@esbuild/android-x64': 0.19.12 - '@esbuild/darwin-arm64': 0.19.12 - '@esbuild/darwin-x64': 0.19.12 - '@esbuild/freebsd-arm64': 0.19.12 - '@esbuild/freebsd-x64': 0.19.12 - '@esbuild/linux-arm': 0.19.12 - '@esbuild/linux-arm64': 0.19.12 - '@esbuild/linux-ia32': 0.19.12 - '@esbuild/linux-loong64': 0.19.12 - '@esbuild/linux-mips64el': 0.19.12 - '@esbuild/linux-ppc64': 0.19.12 - '@esbuild/linux-riscv64': 0.19.12 - '@esbuild/linux-s390x': 0.19.12 - '@esbuild/linux-x64': 0.19.12 - '@esbuild/netbsd-x64': 0.19.12 - '@esbuild/openbsd-x64': 0.19.12 - '@esbuild/sunos-x64': 0.19.12 - '@esbuild/win32-arm64': 0.19.12 - '@esbuild/win32-ia32': 0.19.12 - '@esbuild/win32-x64': 0.19.12 - - esbuild@0.21.5: - optionalDependencies: - '@esbuild/aix-ppc64': 0.21.5 - '@esbuild/android-arm': 0.21.5 - '@esbuild/android-arm64': 0.21.5 - '@esbuild/android-x64': 0.21.5 - '@esbuild/darwin-arm64': 0.21.5 - '@esbuild/darwin-x64': 0.21.5 - '@esbuild/freebsd-arm64': 0.21.5 - '@esbuild/freebsd-x64': 0.21.5 - '@esbuild/linux-arm': 0.21.5 - '@esbuild/linux-arm64': 0.21.5 - '@esbuild/linux-ia32': 0.21.5 - '@esbuild/linux-loong64': 0.21.5 - '@esbuild/linux-mips64el': 0.21.5 - '@esbuild/linux-ppc64': 0.21.5 - '@esbuild/linux-riscv64': 0.21.5 - '@esbuild/linux-s390x': 0.21.5 - '@esbuild/linux-x64': 0.21.5 - '@esbuild/netbsd-x64': 0.21.5 - '@esbuild/openbsd-x64': 0.21.5 - '@esbuild/sunos-x64': 0.21.5 - '@esbuild/win32-arm64': 0.21.5 - '@esbuild/win32-ia32': 0.21.5 - '@esbuild/win32-x64': 0.21.5 - - escalade@3.2.0: {} - - escape-html@1.0.3: {} - - escape-string-regexp@1.0.5: {} - - escape-string-regexp@2.0.0: {} - - escape-string-regexp@4.0.0: {} - - esprima@4.0.1: {} - - esutils@2.0.3: {} - - etag@1.8.1: {} - - eth-block-tracker@7.1.0: - dependencies: - '@metamask/eth-json-rpc-provider': 1.0.1 - '@metamask/safe-event-emitter': 3.1.1 - '@metamask/utils': 5.0.2 - json-rpc-random-id: 1.0.1 - pify: 3.0.0 - transitivePeerDependencies: - - supports-color - - eth-json-rpc-filters@6.0.1: - dependencies: - '@metamask/safe-event-emitter': 3.1.1 - async-mutex: 0.2.6 - eth-query: 2.1.2 - json-rpc-engine: 6.1.0 - pify: 5.0.0 - - eth-query@2.1.2: - dependencies: - json-rpc-random-id: 1.0.1 - xtend: 4.0.2 - - eth-rpc-errors@4.0.3: - dependencies: - fast-safe-stringify: 2.1.1 - - ethereum-cryptography@2.2.1: - dependencies: - '@noble/curves': 1.4.2 - '@noble/hashes': 1.4.0 - '@scure/bip32': 1.4.0 - '@scure/bip39': 1.3.0 - - event-target-shim@5.0.1: {} - - eventemitter2@6.4.9: {} - - eventemitter3@5.0.1: {} - - events@3.3.0: {} - - execa@5.1.1: - dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - - execa@8.0.1: - 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.3.0 - onetime: 6.0.0 - signal-exit: 4.1.0 - strip-final-newline: 3.0.0 - - exponential-backoff@3.1.1: {} - - extension-port-stream@3.0.0: - dependencies: - readable-stream: 3.6.2 - webextension-polyfill: 0.10.0 - - fast-deep-equal@3.1.3: {} - - fast-glob@3.3.2: - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.8 - - fast-redact@3.5.0: {} - - fast-safe-stringify@2.1.1: {} - - fast-xml-parser@4.5.0: - dependencies: - strnum: 1.0.5 - - fastq@1.17.1: - dependencies: - reusify: 1.0.4 - - fb-watchman@2.0.2: - dependencies: - bser: 2.1.1 - - fdir@6.3.0(picomatch@3.0.1): - optionalDependencies: - picomatch: 3.0.1 - - fill-range@7.1.1: - dependencies: - to-regex-range: 5.0.1 - - filter-obj@1.1.0: {} - - finalhandler@1.1.2: - dependencies: - debug: 2.6.9 - encodeurl: 1.0.2 - escape-html: 1.0.3 - on-finished: 2.3.0 - parseurl: 1.3.3 - statuses: 1.5.0 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - - find-cache-dir@2.1.0: - dependencies: - commondir: 1.0.1 - make-dir: 2.1.0 - pkg-dir: 3.0.0 - - find-up@3.0.0: - dependencies: - locate-path: 3.0.0 - - find-up@4.1.0: - dependencies: - locate-path: 5.0.0 - path-exists: 4.0.0 - - find-up@5.0.0: - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - - find-up@6.3.0: - dependencies: - locate-path: 7.2.0 - path-exists: 5.0.0 - - flow-enums-runtime@0.0.6: {} - - flow-parser@0.245.0: {} - - for-each@0.3.3: - dependencies: - is-callable: 1.2.7 - - fresh@0.5.2: {} - - fs-extra@11.2.0: - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.1 - - fs-extra@8.1.0: - dependencies: - graceful-fs: 4.2.11 - jsonfile: 4.0.0 - universalify: 0.1.2 - - fs.realpath@1.0.0: {} - - fsevents@2.3.3: - optional: true - - function-bind@1.1.2: {} - - futoin-hkdf@1.5.3: {} - - gensync@1.0.0-beta.2: {} - - get-caller-file@2.0.5: {} - - get-intrinsic@1.2.4: - dependencies: - es-errors: 1.3.0 - function-bind: 1.1.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - hasown: 2.0.2 - - get-port-please@3.1.2: {} - - get-stream@6.0.1: {} - - get-stream@8.0.1: {} - - glob-parent@5.1.2: - dependencies: - is-glob: 4.0.3 - - glob@7.2.3: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - - globals@11.12.0: {} - - gopd@1.0.1: - dependencies: - get-intrinsic: 1.2.4 - - graceful-fs@4.2.11: {} - - h3@1.12.0: - dependencies: - cookie-es: 1.2.2 - crossws: 0.2.4 - defu: 6.1.4 - destr: 2.0.3 - iron-webcrypto: 1.2.1 - ohash: 1.1.3 - radix3: 1.1.2 - ufo: 1.5.4 - uncrypto: 0.1.3 - unenv: 1.10.0 - transitivePeerDependencies: - - uWebSockets.js - - has-flag@3.0.0: {} - - has-flag@4.0.0: {} - - has-property-descriptors@1.0.2: - dependencies: - es-define-property: 1.0.0 - - has-proto@1.0.3: {} - - has-symbols@1.0.3: {} - - has-tostringtag@1.0.2: - dependencies: - has-symbols: 1.0.3 - - hash.js@1.1.7: - dependencies: - inherits: 2.0.4 - minimalistic-assert: 1.0.1 - - hasown@2.0.2: - dependencies: - function-bind: 1.1.2 - - hermes-estree@0.22.0: {} - - hermes-estree@0.23.0: {} - - hermes-parser@0.22.0: - dependencies: - hermes-estree: 0.22.0 - - hermes-parser@0.23.0: - dependencies: - hermes-estree: 0.23.0 - - hey-listen@1.0.8: {} - - hmac-drbg@1.0.1: - dependencies: - hash.js: 1.1.7 - minimalistic-assert: 1.0.1 - minimalistic-crypto-utils: 1.0.1 - - http-errors@2.0.0: - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 - - http-shutdown@1.2.2: {} - - human-signals@2.1.0: {} - - human-signals@5.0.0: {} - - i18next-browser-languagedetector@7.1.0: - dependencies: - '@babel/runtime': 7.25.6 - - i18next@23.11.5: - dependencies: - '@babel/runtime': 7.25.6 - - idb-keyval@6.2.1: {} - - ieee754@1.2.1: {} - - image-size@1.1.1: - dependencies: - queue: 6.0.2 - - import-fresh@2.0.0: - dependencies: - caller-path: 2.0.0 - resolve-from: 3.0.0 - - import-fresh@3.3.0: - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - - imurmurhash@0.1.4: {} - - inflight@1.0.6: - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - - inherits@2.0.4: {} - - invariant@2.2.4: - dependencies: - loose-envify: 1.4.0 - - iron-webcrypto@1.2.1: {} - - is-arguments@1.1.1: - dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 - - is-arrayish@0.2.1: {} - - is-binary-path@2.1.0: - dependencies: - binary-extensions: 2.3.0 - - is-callable@1.2.7: {} - - is-core-module@2.15.1: - dependencies: - hasown: 2.0.2 - - is-directory@0.3.1: {} - - is-docker@2.2.1: {} - - is-docker@3.0.0: {} - - is-extglob@2.1.1: {} - - is-fullwidth-code-point@2.0.0: {} - - is-fullwidth-code-point@3.0.0: {} - - is-generator-function@1.0.10: - dependencies: - has-tostringtag: 1.0.2 - - is-glob@4.0.3: - dependencies: - is-extglob: 2.1.1 - - is-inside-container@1.0.0: - dependencies: - is-docker: 3.0.0 - - is-interactive@1.0.0: {} - - is-interactive@2.0.0: {} - - is-number@7.0.0: {} - - is-plain-object@2.0.4: - dependencies: - isobject: 3.0.1 - - is-stream@2.0.1: {} - - is-stream@3.0.0: {} - - is-typed-array@1.1.13: - dependencies: - which-typed-array: 1.1.15 - - is-unicode-supported@0.1.0: {} - - is-unicode-supported@1.3.0: {} - - is-wsl@1.1.0: {} - - is-wsl@2.2.0: - dependencies: - is-docker: 2.2.1 - - is-wsl@3.1.0: - dependencies: - is-inside-container: 1.0.0 - - is64bit@2.0.0: - dependencies: - system-architecture: 0.1.0 - - isarray@1.0.0: {} - - isexe@2.0.0: {} - - isobject@3.0.1: {} - - isows@1.0.4(ws@8.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)): - dependencies: - ws: 8.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) - - jest-environment-node@29.7.0: - dependencies: - '@jest/environment': 29.7.0 - '@jest/fake-timers': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 22.5.2 - jest-mock: 29.7.0 - jest-util: 29.7.0 - - jest-get-type@29.6.3: {} - - jest-message-util@29.7.0: - dependencies: - '@babel/code-frame': 7.24.7 - '@jest/types': 29.6.3 - '@types/stack-utils': 2.0.3 - chalk: 4.1.2 - graceful-fs: 4.2.11 - micromatch: 4.0.8 - pretty-format: 29.7.0 - slash: 3.0.0 - stack-utils: 2.0.6 - - jest-mock@29.7.0: - dependencies: - '@jest/types': 29.6.3 - '@types/node': 22.5.2 - jest-util: 29.7.0 - - jest-util@29.7.0: - dependencies: - '@jest/types': 29.6.3 - '@types/node': 22.5.2 - chalk: 4.1.2 - ci-info: 3.9.0 - graceful-fs: 4.2.11 - picomatch: 2.3.1 - - jest-validate@29.7.0: - dependencies: - '@jest/types': 29.6.3 - camelcase: 6.3.0 - chalk: 4.1.2 - jest-get-type: 29.6.3 - leven: 3.1.0 - pretty-format: 29.7.0 - - jest-worker@29.7.0: - dependencies: - '@types/node': 22.5.2 - jest-util: 29.7.0 - merge-stream: 2.0.0 - supports-color: 8.1.1 - - jiti@1.21.6: {} - - joi@17.13.3: - dependencies: - '@hapi/hoek': 9.3.0 - '@hapi/topo': 5.1.0 - '@sideway/address': 4.1.5 - '@sideway/formula': 3.0.1 - '@sideway/pinpoint': 2.0.0 - - js-tokens@4.0.0: {} - - js-yaml@3.14.1: - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - - js-yaml@4.1.0: - dependencies: - argparse: 2.0.1 - - jsc-android@250231.0.0: {} - - jsc-safe-url@0.2.4: {} - - jscodeshift@0.14.0(@babel/preset-env@7.25.4(@babel/core@7.25.2)): - dependencies: - '@babel/core': 7.25.2 - '@babel/parser': 7.25.6 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.25.2) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.25.2) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.25.2) - '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) - '@babel/preset-env': 7.25.4(@babel/core@7.25.2) - '@babel/preset-flow': 7.24.7(@babel/core@7.25.2) - '@babel/preset-typescript': 7.24.7(@babel/core@7.25.2) - '@babel/register': 7.24.6(@babel/core@7.25.2) - babel-core: 7.0.0-bridge.0(@babel/core@7.25.2) - chalk: 4.1.2 - flow-parser: 0.245.0 - graceful-fs: 4.2.11 - micromatch: 4.0.8 - neo-async: 2.6.2 - node-dir: 0.1.17 - recast: 0.21.5 - temp: 0.8.4 - write-file-atomic: 2.4.3 - transitivePeerDependencies: - - supports-color - - jsesc@0.5.0: {} - - jsesc@2.5.2: {} - - json-parse-better-errors@1.0.2: {} - - json-parse-even-better-errors@2.3.1: {} - - json-rpc-engine@6.1.0: - dependencies: - '@metamask/safe-event-emitter': 2.0.0 - eth-rpc-errors: 4.0.3 - - json-rpc-random-id@1.0.1: {} - - json5@2.2.3: {} - - jsonfile@4.0.0: - optionalDependencies: - graceful-fs: 4.2.11 - - jsonfile@6.1.0: - dependencies: - universalify: 2.0.1 - optionalDependencies: - graceful-fs: 4.2.11 - - keccak@3.0.4: - dependencies: - node-addon-api: 2.0.2 - node-gyp-build: 4.8.2 - readable-stream: 3.6.2 - - keyvaluestorage-interface@1.0.0: {} - - kind-of@6.0.3: {} - - kleur@3.0.3: {} - - leven@3.1.0: {} - - lighthouse-logger@1.4.2: - dependencies: - debug: 2.6.9 - marky: 1.2.5 - transitivePeerDependencies: - - supports-color - - lines-and-columns@1.2.4: {} - - listhen@1.7.2: - 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.4 - defu: 6.1.4 - get-port-please: 3.1.2 - h3: 1.12.0 - http-shutdown: 1.2.2 - jiti: 1.21.6 - mlly: 1.7.1 - node-forge: 1.3.1 - pathe: 1.1.2 - std-env: 3.7.0 - ufo: 1.5.4 - untun: 0.1.3 - uqr: 0.1.2 - transitivePeerDependencies: - - uWebSockets.js - - lit-element@3.3.3: - dependencies: - '@lit-labs/ssr-dom-shim': 1.2.1 - '@lit/reactive-element': 1.6.3 - lit-html: 2.8.0 - - lit-html@2.8.0: - dependencies: - '@types/trusted-types': 2.0.7 - - lit@2.8.0: - dependencies: - '@lit/reactive-element': 1.6.3 - lit-element: 3.3.3 - lit-html: 2.8.0 - - load-tsconfig@0.2.5: {} - - locate-path@3.0.0: - dependencies: - p-locate: 3.0.0 - path-exists: 3.0.0 - - locate-path@5.0.0: - dependencies: - p-locate: 4.1.0 - - locate-path@6.0.0: - dependencies: - p-locate: 5.0.0 - - locate-path@7.2.0: - dependencies: - p-locate: 6.0.0 - - lodash.debounce@4.0.8: {} - - lodash.isequal@4.5.0: {} - - lodash.throttle@4.1.1: {} - - log-symbols@4.1.0: - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 - - log-symbols@5.1.0: - dependencies: - chalk: 5.3.0 - is-unicode-supported: 1.3.0 - - logkitty@0.7.1: - dependencies: - ansi-fragments: 0.2.1 - dayjs: 1.11.13 - yargs: 15.4.1 - - loose-envify@1.4.0: - dependencies: - js-tokens: 4.0.0 - - lru-cache@10.4.3: {} - - lru-cache@5.1.1: - dependencies: - yallist: 3.1.1 - - make-dir@2.1.0: - dependencies: - pify: 4.0.1 - semver: 5.7.2 - - makeerror@1.0.12: - dependencies: - tmpl: 1.0.5 - - marky@1.2.5: {} - - memoize-one@5.2.1: {} - - merge-stream@2.0.0: {} - - merge2@1.4.1: {} - - metro-babel-transformer@0.80.10: - dependencies: - '@babel/core': 7.25.2 - flow-enums-runtime: 0.0.6 - hermes-parser: 0.23.0 - nullthrows: 1.1.1 - transitivePeerDependencies: - - supports-color - - metro-cache-key@0.80.10: - dependencies: - flow-enums-runtime: 0.0.6 - - metro-cache@0.80.10: - dependencies: - exponential-backoff: 3.1.1 - flow-enums-runtime: 0.0.6 - metro-core: 0.80.10 - - metro-config@0.80.10(bufferutil@4.0.8)(utf-8-validate@5.0.10): - dependencies: - connect: 3.7.0 - cosmiconfig: 5.2.1 - flow-enums-runtime: 0.0.6 - jest-validate: 29.7.0 - metro: 0.80.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) - metro-cache: 0.80.10 - metro-core: 0.80.10 - metro-runtime: 0.80.10 - transitivePeerDependencies: - - bufferutil - - encoding - - supports-color - - utf-8-validate - - metro-core@0.80.10: - dependencies: - flow-enums-runtime: 0.0.6 - lodash.throttle: 4.1.1 - metro-resolver: 0.80.10 - - metro-file-map@0.80.10: - dependencies: - anymatch: 3.1.3 - debug: 2.6.9 - fb-watchman: 2.0.2 - flow-enums-runtime: 0.0.6 - graceful-fs: 4.2.11 - invariant: 2.2.4 - jest-worker: 29.7.0 - micromatch: 4.0.8 - node-abort-controller: 3.1.1 - nullthrows: 1.1.1 - walker: 1.0.8 - optionalDependencies: - fsevents: 2.3.3 - transitivePeerDependencies: - - supports-color - - metro-minify-terser@0.80.10: - dependencies: - flow-enums-runtime: 0.0.6 - terser: 5.31.6 - - metro-resolver@0.80.10: - dependencies: - flow-enums-runtime: 0.0.6 - - metro-runtime@0.80.10: - dependencies: - '@babel/runtime': 7.25.6 - flow-enums-runtime: 0.0.6 - - metro-source-map@0.80.10: - dependencies: - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 - flow-enums-runtime: 0.0.6 - invariant: 2.2.4 - metro-symbolicate: 0.80.10 - nullthrows: 1.1.1 - ob1: 0.80.10 - source-map: 0.5.7 - vlq: 1.0.1 - transitivePeerDependencies: - - supports-color - - metro-symbolicate@0.80.10: - dependencies: - flow-enums-runtime: 0.0.6 - invariant: 2.2.4 - metro-source-map: 0.80.10 - nullthrows: 1.1.1 - source-map: 0.5.7 - through2: 2.0.5 - vlq: 1.0.1 - transitivePeerDependencies: - - supports-color - - metro-transform-plugins@0.80.10: - dependencies: - '@babel/core': 7.25.2 - '@babel/generator': 7.25.6 - '@babel/template': 7.25.0 - '@babel/traverse': 7.25.6 - flow-enums-runtime: 0.0.6 - nullthrows: 1.1.1 - transitivePeerDependencies: - - supports-color - - metro-transform-worker@0.80.10(bufferutil@4.0.8)(utf-8-validate@5.0.10): - dependencies: - '@babel/core': 7.25.2 - '@babel/generator': 7.25.6 - '@babel/parser': 7.25.6 - '@babel/types': 7.25.6 - flow-enums-runtime: 0.0.6 - metro: 0.80.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) - metro-babel-transformer: 0.80.10 - metro-cache: 0.80.10 - metro-cache-key: 0.80.10 - metro-minify-terser: 0.80.10 - metro-source-map: 0.80.10 - metro-transform-plugins: 0.80.10 - nullthrows: 1.1.1 - transitivePeerDependencies: - - bufferutil - - encoding - - supports-color - - utf-8-validate - - metro@0.80.10(bufferutil@4.0.8)(utf-8-validate@5.0.10): - dependencies: - '@babel/code-frame': 7.24.7 - '@babel/core': 7.25.2 - '@babel/generator': 7.25.6 - '@babel/parser': 7.25.6 - '@babel/template': 7.25.0 - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 - accepts: 1.3.8 - chalk: 4.1.2 - ci-info: 2.0.0 - connect: 3.7.0 - debug: 2.6.9 - denodeify: 1.2.1 - error-stack-parser: 2.1.4 - flow-enums-runtime: 0.0.6 - graceful-fs: 4.2.11 - hermes-parser: 0.23.0 - image-size: 1.1.1 - invariant: 2.2.4 - jest-worker: 29.7.0 - jsc-safe-url: 0.2.4 - lodash.throttle: 4.1.1 - metro-babel-transformer: 0.80.10 - metro-cache: 0.80.10 - metro-cache-key: 0.80.10 - metro-config: 0.80.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) - metro-core: 0.80.10 - metro-file-map: 0.80.10 - metro-resolver: 0.80.10 - metro-runtime: 0.80.10 - metro-source-map: 0.80.10 - metro-symbolicate: 0.80.10 - metro-transform-plugins: 0.80.10 - metro-transform-worker: 0.80.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) - mime-types: 2.1.35 - node-fetch: 2.7.0 - nullthrows: 1.1.1 - serialize-error: 2.1.0 - source-map: 0.5.7 - strip-ansi: 6.0.1 - throat: 5.0.0 - ws: 7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) - yargs: 17.7.2 - transitivePeerDependencies: - - bufferutil - - encoding - - supports-color - - utf-8-validate - - micro-ftch@0.3.1: {} - - micromatch@4.0.8: - dependencies: - braces: 3.0.3 - picomatch: 2.3.1 - - mime-db@1.52.0: {} - - mime-db@1.53.0: {} - - mime-types@2.1.35: - dependencies: - mime-db: 1.52.0 - - mime@1.6.0: {} - - mime@2.6.0: {} - - mime@3.0.0: {} - - mimic-fn@2.1.0: {} - - mimic-fn@4.0.0: {} - - minimalistic-assert@1.0.1: {} - - minimalistic-crypto-utils@1.0.1: {} - - minimatch@3.1.2: - dependencies: - brace-expansion: 1.1.11 - - minimist@1.2.8: {} - - mipd@0.0.7(typescript@5.5.4): - optionalDependencies: - typescript: 5.5.4 - - mkdirp@0.5.6: - dependencies: - minimist: 1.2.8 - - mkdirp@1.0.4: {} - - mlly@1.7.1: - dependencies: - acorn: 8.12.1 - pathe: 1.1.2 - pkg-types: 1.2.0 - ufo: 1.5.4 - - motion@10.16.2: - dependencies: - '@motionone/animation': 10.18.0 - '@motionone/dom': 10.18.0 - '@motionone/svelte': 10.16.4 - '@motionone/types': 10.17.1 - '@motionone/utils': 10.18.0 - '@motionone/vue': 10.16.4 - - mri@1.2.0: {} - - ms@2.0.0: {} - - ms@2.1.2: {} - - ms@2.1.3: {} - - multiformats@9.9.0: {} - - nanoid@3.3.7: {} - - negotiator@0.6.3: {} - - neo-async@2.6.2: {} - - nocache@3.0.4: {} - - node-abort-controller@3.1.1: {} - - node-addon-api@2.0.2: {} - - node-addon-api@5.1.0: {} - - node-addon-api@7.1.1: {} - - node-dir@0.1.17: - dependencies: - minimatch: 3.1.2 - - node-fetch-native@1.6.4: {} - - node-fetch@2.7.0: - dependencies: - whatwg-url: 5.0.0 - - node-forge@1.3.1: {} - - node-gyp-build@4.8.2: {} - - node-int64@0.4.0: {} - - node-releases@2.0.18: {} - - node-stream-zip@1.15.0: {} - - normalize-path@3.0.0: {} - - npm-run-path@4.0.1: - dependencies: - path-key: 3.1.1 - - npm-run-path@5.3.0: - dependencies: - path-key: 4.0.0 - - nullthrows@1.1.1: {} - - ob1@0.80.10: - dependencies: - flow-enums-runtime: 0.0.6 - - obj-multiplex@1.0.0: - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - readable-stream: 2.3.8 - - ofetch@1.3.4: - dependencies: - destr: 2.0.3 - node-fetch-native: 1.6.4 - ufo: 1.5.4 - - ohash@1.1.3: {} - - on-exit-leak-free@0.2.0: {} - - on-finished@2.3.0: - dependencies: - ee-first: 1.1.1 - - on-finished@2.4.1: - dependencies: - ee-first: 1.1.1 - - on-headers@1.0.2: {} - - once@1.4.0: - dependencies: - wrappy: 1.0.2 - - onetime@5.1.2: - dependencies: - mimic-fn: 2.1.0 - - onetime@6.0.0: - dependencies: - mimic-fn: 4.0.0 - - open@6.4.0: - dependencies: - is-wsl: 1.1.0 - - open@7.4.2: - dependencies: - is-docker: 2.2.1 - is-wsl: 2.2.0 - - open@8.4.2: - dependencies: - define-lazy-prop: 2.0.0 - is-docker: 2.2.1 - is-wsl: 2.2.0 - - ora@5.4.1: - dependencies: - bl: 4.1.0 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-spinners: 2.9.2 - is-interactive: 1.0.0 - is-unicode-supported: 0.1.0 - log-symbols: 4.1.0 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - - ora@6.3.1: - dependencies: - chalk: 5.3.0 - cli-cursor: 4.0.0 - cli-spinners: 2.9.2 - is-interactive: 2.0.0 - is-unicode-supported: 1.3.0 - log-symbols: 5.1.0 - stdin-discarder: 0.1.0 - strip-ansi: 7.1.0 - wcwidth: 1.0.1 - - p-limit@2.3.0: - dependencies: - p-try: 2.2.0 - - p-limit@3.1.0: - dependencies: - yocto-queue: 0.1.0 - - p-limit@4.0.0: - dependencies: - yocto-queue: 1.1.1 - - p-locate@3.0.0: - dependencies: - p-limit: 2.3.0 - - p-locate@4.1.0: - dependencies: - p-limit: 2.3.0 - - p-locate@5.0.0: - dependencies: - p-limit: 3.1.0 - - p-locate@6.0.0: - dependencies: - p-limit: 4.0.0 - - p-try@2.2.0: {} - - parent-module@1.0.1: - dependencies: - callsites: 3.1.0 - - parse-json@4.0.0: - dependencies: - error-ex: 1.3.2 - json-parse-better-errors: 1.0.2 - - parse-json@5.2.0: - dependencies: - '@babel/code-frame': 7.24.7 - error-ex: 1.3.2 - json-parse-even-better-errors: 2.3.1 - lines-and-columns: 1.2.4 - - parseurl@1.3.3: {} - - path-exists@3.0.0: {} - - path-exists@4.0.0: {} - - path-exists@5.0.0: {} - - path-is-absolute@1.0.1: {} - - path-key@3.1.1: {} - - path-key@4.0.0: {} - - path-parse@1.0.7: {} - - pathe@1.1.2: {} - - picocolors@1.1.0: {} - - picomatch@2.3.1: {} - - picomatch@3.0.1: {} - - pify@3.0.0: {} - - pify@4.0.1: {} - - pify@5.0.0: {} - - pino-abstract-transport@0.5.0: - dependencies: - duplexify: 4.1.3 - split2: 4.2.0 - - pino-std-serializers@4.0.0: {} - - pino@7.11.0: - dependencies: - atomic-sleep: 1.0.0 - fast-redact: 3.5.0 - on-exit-leak-free: 0.2.0 - pino-abstract-transport: 0.5.0 - pino-std-serializers: 4.0.0 - process-warning: 1.0.0 - quick-format-unescaped: 4.0.4 - real-require: 0.1.0 - safe-stable-stringify: 2.5.0 - sonic-boom: 2.8.0 - thread-stream: 0.15.2 - - pirates@4.0.6: {} - - pkg-dir@3.0.0: - dependencies: - find-up: 3.0.0 - - pkg-types@1.2.0: - dependencies: - confbox: 0.1.7 - mlly: 1.7.1 - pathe: 1.1.2 - - pngjs@5.0.0: {} - - pony-cause@2.1.11: {} - - possible-typed-array-names@1.0.0: {} - - postcss@8.4.44: - dependencies: - nanoid: 3.3.7 - picocolors: 1.1.0 - source-map-js: 1.2.0 - - preact@10.23.2: {} - - prettier@3.3.3: {} - - pretty-format@26.6.2: - dependencies: - '@jest/types': 26.6.2 - ansi-regex: 5.0.1 - ansi-styles: 4.3.0 - react-is: 17.0.2 - - pretty-format@29.7.0: - dependencies: - '@jest/schemas': 29.6.3 - ansi-styles: 5.2.0 - react-is: 18.3.1 - - process-nextick-args@2.0.1: {} - - process-warning@1.0.0: {} - - promise@8.3.0: - dependencies: - asap: 2.0.6 - - prompts@2.4.2: - dependencies: - kleur: 3.0.3 - sisteransi: 1.0.5 - - proxy-compare@2.5.1: {} - - pump@3.0.0: - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - - qr-code-styling@1.6.0-rc.1: - dependencies: - qrcode-generator: 1.4.4 - - qrcode-generator@1.4.4: {} - - qrcode-terminal-nooctal@0.12.1: {} - - qrcode@1.5.3: - dependencies: - dijkstrajs: 1.0.3 - encode-utf8: 1.0.3 - pngjs: 5.0.0 - yargs: 15.4.1 - - query-string@7.1.3: - dependencies: - decode-uri-component: 0.2.2 - filter-obj: 1.1.0 - split-on-first: 1.1.0 - strict-uri-encode: 2.0.0 - - querystring@0.2.1: {} - - queue-microtask@1.2.3: {} - - queue@6.0.2: - dependencies: - inherits: 2.0.4 - - quick-format-unescaped@4.0.4: {} - - radix3@1.1.2: {} - - range-parser@1.2.1: {} - - react-devtools-core@5.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10): - dependencies: - shell-quote: 1.8.1 - ws: 7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - react-dom@18.3.1(react@18.3.1): - dependencies: - loose-envify: 1.4.0 - react: 18.3.1 - scheduler: 0.23.2 - - react-is@17.0.2: {} - - react-is@18.3.1: {} - - react-native-webview@11.26.1(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.3.5)(bufferutil@4.0.8)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10))(react@18.3.1): - dependencies: - escape-string-regexp: 2.0.0 - invariant: 2.2.4 - react: 18.3.1 - react-native: 0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.3.5)(bufferutil@4.0.8)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10) - - react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.3.5)(bufferutil@4.0.8)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10): - dependencies: - '@jest/create-cache-key-function': 29.7.0 - '@react-native-community/cli': 14.0.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10) - '@react-native-community/cli-platform-android': 14.0.0 - '@react-native-community/cli-platform-ios': 14.0.0 - '@react-native/assets-registry': 0.75.2 - '@react-native/codegen': 0.75.2(@babel/preset-env@7.25.4(@babel/core@7.25.2)) - '@react-native/community-cli-plugin': 0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@react-native/gradle-plugin': 0.75.2 - '@react-native/js-polyfills': 0.75.2 - '@react-native/normalize-colors': 0.75.2 - '@react-native/virtualized-lists': 0.75.2(@types/react@18.3.5)(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.3.5)(bufferutil@4.0.8)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10))(react@18.3.1) - abort-controller: 3.0.0 - anser: 1.4.10 - ansi-regex: 5.0.1 - base64-js: 1.5.1 - chalk: 4.1.2 - event-target-shim: 5.0.1 - flow-enums-runtime: 0.0.6 - glob: 7.2.3 - invariant: 2.2.4 - jest-environment-node: 29.7.0 - jsc-android: 250231.0.0 - memoize-one: 5.2.1 - metro-runtime: 0.80.10 - metro-source-map: 0.80.10 - mkdirp: 0.5.6 - nullthrows: 1.1.1 - pretty-format: 26.6.2 - promise: 8.3.0 - react: 18.3.1 - react-devtools-core: 5.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) - react-refresh: 0.14.2 - regenerator-runtime: 0.13.11 - scheduler: 0.24.0-canary-efb381bbf-20230505 - semver: 7.6.3 - stacktrace-parser: 0.1.10 - whatwg-fetch: 3.6.20 - ws: 6.2.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) - yargs: 17.7.2 - optionalDependencies: - '@types/react': 18.3.5 - transitivePeerDependencies: - - '@babel/core' - - '@babel/preset-env' - - bufferutil - - encoding - - supports-color - - typescript - - utf-8-validate - - react-refresh@0.14.2: {} - - react@18.3.1: - dependencies: - loose-envify: 1.4.0 - - readable-stream@2.3.8: - dependencies: - core-util-is: 1.0.3 - inherits: 2.0.4 - isarray: 1.0.0 - process-nextick-args: 2.0.1 - safe-buffer: 5.1.2 - string_decoder: 1.1.1 - util-deprecate: 1.0.2 - - readable-stream@3.6.2: - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - - readdirp@3.6.0: - dependencies: - picomatch: 2.3.1 - - readline@1.3.0: {} - - real-require@0.1.0: {} - - recast@0.21.5: - dependencies: - ast-types: 0.15.2 - esprima: 4.0.1 - source-map: 0.6.1 - tslib: 2.7.0 - - regenerate-unicode-properties@10.1.1: - dependencies: - regenerate: 1.4.2 - - regenerate@1.4.2: {} - - regenerator-runtime@0.13.11: {} - - regenerator-runtime@0.14.1: {} - - regenerator-transform@0.15.2: - dependencies: - '@babel/runtime': 7.25.6 - - regexpu-core@5.3.2: - dependencies: - '@babel/regjsgen': 0.8.0 - regenerate: 1.4.2 - regenerate-unicode-properties: 10.1.1 - regjsparser: 0.9.1 - unicode-match-property-ecmascript: 2.0.0 - unicode-match-property-value-ecmascript: 2.1.0 - - regjsparser@0.9.1: - dependencies: - jsesc: 0.5.0 - - require-directory@2.1.1: {} - - require-main-filename@2.0.0: {} - - resolve-from@3.0.0: {} - - resolve-from@4.0.0: {} - - resolve@1.22.8: - dependencies: - is-core-module: 2.15.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - - restore-cursor@3.1.0: - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - - restore-cursor@4.0.0: - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - - reusify@1.0.4: {} - - rimraf@2.6.3: - dependencies: - glob: 7.2.3 - - rimraf@3.0.2: - dependencies: - glob: 7.2.3 - - rollup-plugin-visualizer@5.12.0(rollup@4.21.2): - dependencies: - open: 8.4.2 - picomatch: 2.3.1 - source-map: 0.7.4 - yargs: 17.7.2 - optionalDependencies: - rollup: 4.21.2 - - rollup@4.21.2: - dependencies: - '@types/estree': 1.0.5 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.21.2 - '@rollup/rollup-android-arm64': 4.21.2 - '@rollup/rollup-darwin-arm64': 4.21.2 - '@rollup/rollup-darwin-x64': 4.21.2 - '@rollup/rollup-linux-arm-gnueabihf': 4.21.2 - '@rollup/rollup-linux-arm-musleabihf': 4.21.2 - '@rollup/rollup-linux-arm64-gnu': 4.21.2 - '@rollup/rollup-linux-arm64-musl': 4.21.2 - '@rollup/rollup-linux-powerpc64le-gnu': 4.21.2 - '@rollup/rollup-linux-riscv64-gnu': 4.21.2 - '@rollup/rollup-linux-s390x-gnu': 4.21.2 - '@rollup/rollup-linux-x64-gnu': 4.21.2 - '@rollup/rollup-linux-x64-musl': 4.21.2 - '@rollup/rollup-win32-arm64-msvc': 4.21.2 - '@rollup/rollup-win32-ia32-msvc': 4.21.2 - '@rollup/rollup-win32-x64-msvc': 4.21.2 - fsevents: 2.3.3 - - run-parallel@1.2.0: - dependencies: - queue-microtask: 1.2.3 - - safe-buffer@5.1.2: {} - - safe-buffer@5.2.1: {} - - safe-stable-stringify@2.5.0: {} - - scheduler@0.23.2: - dependencies: - loose-envify: 1.4.0 - - scheduler@0.24.0-canary-efb381bbf-20230505: - dependencies: - loose-envify: 1.4.0 - - secp256k1@5.0.0: - dependencies: - elliptic: 6.5.7 - node-addon-api: 5.1.0 - node-gyp-build: 4.8.2 - - selfsigned@2.4.1: - dependencies: - '@types/node-forge': 1.3.11 - node-forge: 1.3.1 - - semver@5.7.2: {} - - semver@6.3.1: {} - - semver@7.6.3: {} - - send@0.18.0: - dependencies: - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 0.5.2 - http-errors: 2.0.0 - mime: 1.6.0 - ms: 2.1.3 - on-finished: 2.4.1 - range-parser: 1.2.1 - statuses: 2.0.1 - transitivePeerDependencies: - - supports-color - - serialize-error@2.1.0: {} - - serve-static@1.15.0: - dependencies: - encodeurl: 1.0.2 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 0.18.0 - transitivePeerDependencies: - - supports-color - - set-blocking@2.0.0: {} - - set-function-length@1.2.2: - 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 - - setprototypeof@1.2.0: {} - - sha.js@2.4.11: - dependencies: - inherits: 2.0.4 - safe-buffer: 5.2.1 - - shallow-clone@3.0.1: - dependencies: - kind-of: 6.0.3 - - shebang-command@2.0.0: - dependencies: - shebang-regex: 3.0.0 - - shebang-regex@3.0.0: {} - - shell-quote@1.8.1: {} - - signal-exit@3.0.7: {} - - signal-exit@4.1.0: {} - - sisteransi@1.0.5: {} - - slash@3.0.0: {} - - slice-ansi@2.1.0: - dependencies: - ansi-styles: 3.2.1 - astral-regex: 1.0.0 - is-fullwidth-code-point: 2.0.0 - - socket.io-client@4.7.5(bufferutil@4.0.8)(utf-8-validate@5.0.10): - dependencies: - '@socket.io/component-emitter': 3.1.2 - debug: 4.3.6 - engine.io-client: 6.5.4(bufferutil@4.0.8)(utf-8-validate@5.0.10) - socket.io-parser: 4.2.4 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - - socket.io-parser@4.2.4: - dependencies: - '@socket.io/component-emitter': 3.1.2 - debug: 4.3.6 - transitivePeerDependencies: - - supports-color - - sonic-boom@2.8.0: - dependencies: - atomic-sleep: 1.0.0 - - source-map-js@1.2.0: {} - - source-map-support@0.5.21: - dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - - source-map@0.5.7: {} - - source-map@0.6.1: {} - - source-map@0.7.4: {} - - split-on-first@1.1.0: {} - - split2@4.2.0: {} - - sprintf-js@1.0.3: {} - - stack-utils@2.0.6: - dependencies: - escape-string-regexp: 2.0.0 - - stackframe@1.3.4: {} - - stacktrace-parser@0.1.10: - dependencies: - type-fest: 0.7.1 - - statuses@1.5.0: {} - - statuses@2.0.1: {} - - std-env@3.7.0: {} - - stdin-discarder@0.1.0: - dependencies: - bl: 5.1.0 - - stream-shift@1.0.3: {} - - strict-uri-encode@2.0.0: {} - - string-width@4.2.3: - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - - string_decoder@1.1.1: - dependencies: - safe-buffer: 5.1.2 - - string_decoder@1.3.0: - dependencies: - safe-buffer: 5.2.1 - - strip-ansi@5.2.0: - dependencies: - ansi-regex: 4.1.1 - - strip-ansi@6.0.1: - dependencies: - ansi-regex: 5.0.1 - - strip-ansi@7.1.0: - dependencies: - ansi-regex: 6.0.1 - - strip-final-newline@2.0.0: {} - - strip-final-newline@3.0.0: {} - - strnum@1.0.5: {} - - sudo-prompt@9.2.1: {} - - superstruct@1.0.4: {} - - supports-color@5.5.0: - dependencies: - has-flag: 3.0.0 - - supports-color@7.2.0: - dependencies: - has-flag: 4.0.0 - - supports-color@8.1.1: - dependencies: - has-flag: 4.0.0 - - supports-preserve-symlinks-flag@1.0.0: {} - - system-architecture@0.1.0: {} - - temp@0.8.4: - dependencies: - rimraf: 2.6.3 - - terser@5.31.6: - dependencies: - '@jridgewell/source-map': 0.3.6 - acorn: 8.12.1 - commander: 2.20.3 - source-map-support: 0.5.21 - - thread-stream@0.15.2: - dependencies: - real-require: 0.1.0 - - throat@5.0.0: {} - - through2@2.0.5: - dependencies: - readable-stream: 2.3.8 - xtend: 4.0.2 - - tmpl@1.0.5: {} - - to-fast-properties@2.0.0: {} - - to-regex-range@5.0.1: - dependencies: - is-number: 7.0.0 - - toidentifier@1.0.1: {} - - tr46@0.0.3: {} - - tslib@1.14.1: {} - - tslib@2.7.0: {} - - type-detect@4.0.8: {} - - type-fest@0.7.1: {} - - typescript@5.5.4: {} - - ufo@1.5.4: {} - - uint8arrays@3.1.0: - dependencies: - multiformats: 9.9.0 - - uncrypto@0.1.3: {} - - undici-types@6.19.8: {} - - unenv@1.10.0: - dependencies: - consola: 3.2.3 - defu: 6.1.4 - mime: 3.0.0 - node-fetch-native: 1.6.4 - pathe: 1.1.2 - - unicode-canonical-property-names-ecmascript@2.0.0: {} - - unicode-match-property-ecmascript@2.0.0: - dependencies: - unicode-canonical-property-names-ecmascript: 2.0.0 - unicode-property-aliases-ecmascript: 2.1.0 - - unicode-match-property-value-ecmascript@2.1.0: {} - - unicode-property-aliases-ecmascript@2.1.0: {} - - universalify@0.1.2: {} - - universalify@2.0.1: {} - - unpipe@1.0.0: {} - - unstorage@1.10.2(idb-keyval@6.2.1): - dependencies: - anymatch: 3.1.3 - chokidar: 3.6.0 - destr: 2.0.3 - h3: 1.12.0 - listhen: 1.7.2 - lru-cache: 10.4.3 - mri: 1.2.0 - node-fetch-native: 1.6.4 - ofetch: 1.3.4 - ufo: 1.5.4 - optionalDependencies: - idb-keyval: 6.2.1 - transitivePeerDependencies: - - uWebSockets.js - - untun@0.1.3: - dependencies: - citty: 0.1.6 - consola: 3.2.3 - pathe: 1.1.2 - - update-browserslist-db@1.1.0(browserslist@4.23.3): - dependencies: - browserslist: 4.23.3 - escalade: 3.2.0 - picocolors: 1.1.0 - - uqr@0.1.2: {} - - use-sync-external-store@1.2.0(react@18.3.1): - dependencies: - react: 18.3.1 - - utf-8-validate@5.0.10: - dependencies: - node-gyp-build: 4.8.2 - - util-deprecate@1.0.2: {} - - util@0.12.5: - dependencies: - inherits: 2.0.4 - is-arguments: 1.1.1 - is-generator-function: 1.0.10 - is-typed-array: 1.1.13 - which-typed-array: 1.1.15 - - utils-merge@1.0.1: {} - - uuid@8.3.2: {} - - uuid@9.0.1: {} - - valtio@1.11.2(@types/react@18.3.5)(react@18.3.1): - dependencies: - proxy-compare: 2.5.1 - use-sync-external-store: 1.2.0(react@18.3.1) - optionalDependencies: - '@types/react': 18.3.5 - react: 18.3.1 - - vary@1.1.2: {} - - viem@2.21.1(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8): - dependencies: - '@adraffy/ens-normalize': 1.10.0 - '@noble/curves': 1.4.0 - '@noble/hashes': 1.4.0 - '@scure/bip32': 1.4.0 - '@scure/bip39': 1.3.0 - abitype: 1.0.5(typescript@5.5.4)(zod@3.23.8) - isows: 1.0.4(ws@8.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)) - webauthn-p256: 0.0.5 - ws: 8.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) - optionalDependencies: - typescript: 5.5.4 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - zod - - vite@5.4.3(@types/node@22.5.2)(terser@5.31.6): - dependencies: - esbuild: 0.21.5 - postcss: 8.4.44 - rollup: 4.21.2 - optionalDependencies: - '@types/node': 22.5.2 - fsevents: 2.3.3 - terser: 5.31.6 - - vlq@1.0.1: {} - - wagmi@2.12.8(@tanstack/query-core@5.45.0)(@tanstack/react-query@5.45.1(react@18.3.1))(@types/react@18.3.5)(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.3.5)(bufferutil@4.0.8)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.2)(typescript@5.5.4)(utf-8-validate@5.0.10)(viem@2.21.1(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8): - dependencies: - '@tanstack/react-query': 5.45.1(react@18.3.1) - '@wagmi/connectors': 5.1.8(@types/react@18.3.5)(@wagmi/core@2.13.4(@tanstack/query-core@5.45.0)(@types/react@18.3.5)(react@18.3.1)(typescript@5.5.4)(viem@2.21.1(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.3.5)(bufferutil@4.0.8)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.2)(typescript@5.5.4)(utf-8-validate@5.0.10)(viem@2.21.1(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8) - '@wagmi/core': 2.13.4(@tanstack/query-core@5.45.0)(@types/react@18.3.5)(react@18.3.1)(typescript@5.5.4)(viem@2.21.1(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)) - react: 18.3.1 - use-sync-external-store: 1.2.0(react@18.3.1) - viem: 2.21.1(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8) - optionalDependencies: - typescript: 5.5.4 - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@tanstack/query-core' - - '@types/react' - - '@upstash/redis' - - '@vercel/kv' - - bufferutil - - encoding - - immer - - ioredis - - react-dom - - react-native - - rollup - - supports-color - - uWebSockets.js - - utf-8-validate - - zod - - walker@1.0.8: - dependencies: - makeerror: 1.0.12 - - wcwidth@1.0.1: - dependencies: - defaults: 1.0.4 - - webauthn-p256@0.0.5: - dependencies: - '@noble/curves': 1.4.0 - '@noble/hashes': 1.4.0 - - webextension-polyfill@0.10.0: {} - - webidl-conversions@3.0.1: {} - - whatwg-fetch@3.6.20: {} - - whatwg-url@5.0.0: - dependencies: - tr46: 0.0.3 - webidl-conversions: 3.0.1 - - which-module@2.0.1: {} - - which-typed-array@1.1.15: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.2 - - which@2.0.2: - dependencies: - isexe: 2.0.0 - - wrap-ansi@6.2.0: - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - - wrap-ansi@7.0.0: - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - - wrappy@1.0.2: {} - - write-file-atomic@2.4.3: - dependencies: - graceful-fs: 4.2.11 - imurmurhash: 0.1.4 - signal-exit: 3.0.7 - - ws@6.2.3(bufferutil@4.0.8)(utf-8-validate@5.0.10): - dependencies: - async-limiter: 1.0.1 - optionalDependencies: - bufferutil: 4.0.8 - utf-8-validate: 5.0.10 - - ws@7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10): - optionalDependencies: - bufferutil: 4.0.8 - utf-8-validate: 5.0.10 - - ws@8.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10): - optionalDependencies: - bufferutil: 4.0.8 - utf-8-validate: 5.0.10 - - xmlhttprequest-ssl@2.0.0: {} - - xtend@4.0.2: {} - - y18n@4.0.3: {} - - y18n@5.0.8: {} - - yallist@3.1.1: {} - - yaml@2.5.0: {} - - yargs-parser@18.1.3: - dependencies: - camelcase: 5.3.1 - decamelize: 1.2.0 - - yargs-parser@21.1.1: {} - - yargs@15.4.1: - dependencies: - cliui: 6.0.0 - decamelize: 1.2.0 - find-up: 4.1.0 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - require-main-filename: 2.0.0 - set-blocking: 2.0.0 - string-width: 4.2.3 - which-module: 2.0.1 - y18n: 4.0.3 - yargs-parser: 18.1.3 - - yargs@17.7.2: - dependencies: - cliui: 8.0.1 - escalade: 3.2.0 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 21.1.1 - - yocto-queue@0.1.0: {} - - yocto-queue@1.1.1: {} - - zod@3.23.8: {} - - zustand@4.4.1(@types/react@18.3.5)(react@18.3.1): - dependencies: - use-sync-external-store: 1.2.0(react@18.3.1) - optionalDependencies: - '@types/react': 18.3.5 - react: 18.3.1 diff --git a/packages/wagmi-demo/src/App.tsx b/packages/wagmi-demo/src/App.tsx deleted file mode 100644 index f12518ac..00000000 --- a/packages/wagmi-demo/src/App.tsx +++ /dev/null @@ -1,101 +0,0 @@ -import { useCallback } from "react" -import { useAccount, useConnect, useDisconnect } from "wagmi" -import { usePaymasterService } from "./usePaymasterService" -import { useSendTransaction } from "./useSendTransaction" -import { useWaitForTransactionReceipt } from "./useWaitForTransactionReceipt" - -function App() { - const account = useAccount() - const { connectors, connect, status, error } = useConnect() - const { disconnect } = useDisconnect() - - const { - sendTransaction, - data: transactionHash, - isPending - } = useSendTransaction({ - capabilities: { - paymasterService: { - url: "https://paymaster.example.com" - } - } - }) - - const { data: receipt, isPending: isReceiptPending } = - useWaitForTransactionReceipt({ - id: transactionHash - }) - - console.log({ - transactionHash, - isPending, - receipt, - isReceiptPending - }) - - const sendTransactionCallback = useCallback(async () => { - console.log("Sending transaction...") - sendTransaction({ - to: "0x433704c40F80cBff02e86FD36Bc8baC5e31eB0c1", - data: "0x68656c6c6f" - }) - }, [sendTransaction]) - - return ( - <> -

-

Account

- -
- status: {account.status} -
- addresses: {JSON.stringify(account.addresses)} -
- chainId: {account.chainId} -
- - {account.status === "connected" && ( - - )} -
- - {account.status === "connected" && ( -
-

Send test transaction

- - {isPending &&
Sending transaction...
} - - {transactionHash && ( -
Awaiting confirmation: {transactionHash}
- )} - - -
- )} - - {account.status === "disconnected" && ( -
-

Connect

- {connectors.map((connector) => ( - - ))} -
{status}
-
{error?.message}
-
- )} - - ) -} - -export default App diff --git a/packages/wagmi-demo/src/erc7677hookCreator.tsx b/packages/wagmi-demo/src/erc7677hookCreator.tsx deleted file mode 100644 index e69de29b..00000000 diff --git a/packages/wagmi-demo/src/paymasterService.ts b/packages/wagmi-demo/src/paymasterService.ts deleted file mode 100644 index f34815c9..00000000 --- a/packages/wagmi-demo/src/paymasterService.ts +++ /dev/null @@ -1,199 +0,0 @@ -import type EventEmitter from "eventemitter3" -import { - type Address, - type WalletCapabilities, - type WalletCapabilitiesRecord, - type WalletSendCallsParameters, - numberToHex -} from "viem" -import type { CreateConnectorFn } from "wagmi" - -interface RequestArguments { - readonly method: string - readonly params?: readonly unknown[] | object -} - -type EthereumProvider = { - on: (event: string, fn: unknown) => void - removeListener: (event: string, fn: unknown) => void - request(args: RequestArguments): Promise -} - -export const paymasterService = ( - connectorFns: CreateConnectorFn[], - { - url - }: { - url: string - } -) => { - return connectorFns.map((connectorFn) => { - const wrappedConnectorFn: CreateConnectorFn = (config) => { - const connectorFnObject = connectorFn(config) - - let walletProvider: EthereumProvider - let connectorProvider: EthereumProvider & EventEmitter - let address: Address - let chainId: number - let availableCapabilities: - | WalletCapabilitiesRecord - | undefined = undefined - let capabilitiesToUse: WalletSendCallsParameters[number]["capabilities"] - - return { - ...connectorFnObject, - onAccountsChanged: (accounts) => { - address = accounts[0] as Address - connectorFnObject.onAccountsChanged(accounts) - }, - onChainChanged: (_chainId) => { - chainId = Number(_chainId) - connectorFnObject.onChainChanged(_chainId) - }, - onConnect: (connectInfo) => { - chainId = Number(connectInfo.chainId) - connectorFnObject.onConnect?.(connectInfo) - }, - onDisconnect: connectorFnObject.onDisconnect, - onMessage: connectorFnObject.onMessage, - getClient: connectorFnObject.getClient, - setup: connectorFnObject.setup, - switchChain: connectorFnObject.switchChain, - async connect() { - const connection = await connectorFnObject.connect() - - address = connection.accounts[0] - chainId = connection.chainId - - return connection - }, - async disconnect() { - await connectorFnObject.disconnect() - }, - async getAccounts() { - return connectorFnObject.getAccounts() - }, - async getChainId() { - return connectorFnObject.getChainId() - }, - async isAuthorized() { - return connectorFnObject.isAuthorized() - }, - async getProvider() { - if (walletProvider) { - return walletProvider - } - - connectorProvider = - (await connectorFnObject.getProvider()) as EthereumProvider & - EventEmitter - - if (!availableCapabilities) { - const capabilities_raw = - (await connectorProvider.request({ - method: "wallet_getCapabilities", - params: [address] - })) as { - [x: `0x${string}`]: WalletCapabilities - } - availableCapabilities = {} as WalletCapabilitiesRecord< - WalletCapabilities, - number - > - for (const [key, value] of Object.entries( - capabilities_raw - )) { - availableCapabilities[Number(key)] = value - } - } - - if (!chainId) { - chainId = await connectorFnObject.getChainId() - } - - const capabilitiesForChain = availableCapabilities[chainId] - if (capabilitiesForChain.paymasterService?.supported) { - capabilitiesToUse = { - paymasterService: { - url - } - } - } else { - capabilitiesToUse = undefined - } - - walletProvider = { - on: connectorProvider.on, - removeListener: connectorProvider.removeListener, - request: async (args) => { - console.log({ - method: args.method, - params: args.params, - capabilitiesToUse - }) - - if ( - args.method === "eth_sendTransaction" && - capabilitiesToUse && - args.params - ) { - console.log({ - params: [ - { - calls: [ - { - to: (args.params as any)[0] - .to, - value: ( - args.params as any - )[0].value, - data: ( - args.params as any - )[0].data - } - ], - capabilities: capabilitiesToUse, - chainId: numberToHex(chainId), - from: address, - version: "1.0" - } - ] - }) - - return connectorProvider.request({ - method: "wallet_sendCalls", - params: [ - { - calls: [ - { - to: (args.params as any)[0] - .to, - value: ( - args.params as any - )[0].value, - data: ( - args.params as any - )[0].data - } - ], - capabilities: capabilitiesToUse, - chainId: numberToHex(chainId), - from: address, - version: "1.0" - } - ] - }) - } - - return connectorProvider.request(args) - } - } - - return walletProvider - } - } - } - - return wrappedConnectorFn - }) -} diff --git a/packages/wagmi-demo/src/usePaymasterService.tsx b/packages/wagmi-demo/src/usePaymasterService.tsx deleted file mode 100644 index 5f014b30..00000000 --- a/packages/wagmi-demo/src/usePaymasterService.tsx +++ /dev/null @@ -1,43 +0,0 @@ -import { createContext, useMemo } from "react" -import { useAccount } from "wagmi" -import { useCapabilities } from "wagmi/experimental" - -export const usePaymasterService = (url: string) => { - const account = useAccount() - - const { data: availableCapabilities } = useCapabilities({ - account: account.address - }) - - const capabilities = useMemo(() => { - if (!availableCapabilities || !account.chainId) return {} - const capabilitiesForChain = availableCapabilities[account.chainId] - if (capabilitiesForChain.paymasterService?.supported) { - return { - paymasterService: { - url - } - } - } - return {} - }, [availableCapabilities, account.chainId, url]) - - return { capabilities } -} - -const PaymasterServiceContext = createContext<{ - url: string | null -}>({ - url: null -}) - -export const PaymasterServiceProvider = ({ - url, - children -}: { url: string; children: React.ReactNode }) => { - return ( - - {children} - - ) -} diff --git a/packages/wagmi-demo/src/useSendTransaction.ts b/packages/wagmi-demo/src/useSendTransaction.ts deleted file mode 100644 index fe05d2cb..00000000 --- a/packages/wagmi-demo/src/useSendTransaction.ts +++ /dev/null @@ -1,173 +0,0 @@ -"use client" - -import { - type MutateOptions, - type MutationOptions, - useMutation -} from "@tanstack/react-query" -import { sendTransaction } from "@wagmi/core" -import { sendCalls } from "@wagmi/core/experimental" -import { useContext } from "react" -import type { Prettify, SendTransactionErrorType } from "viem" -import type { SendCallsErrorType, SendCallsReturnType } from "viem/experimental" -import { type Config, type ResolvedRegister, useConfig } from "wagmi" -import type { - SendTransactionData, - SendTransactionVariables, - UseMutationParameters, - UseMutationReturnType -} from "wagmi/query" -import { PaymasterServiceContext } from "./usePaymasterService" - -export type SendTransactionMutate = < - chainId extends config["chains"][number]["id"] ->( - variables: SendTransactionVariables, - options?: - | Prettify< - MutateOptions< - SendTransactionData | SendCallsReturnType, - SendTransactionErrorType | SendCallsErrorType, - Prettify>, - context - > - > - | undefined -) => void - -export type SendTransactionMutateAsync< - config extends Config, - context = unknown -> = ( - variables: SendTransactionVariables, - options?: - | Prettify< - MutateOptions< - SendTransactionData | SendCallsReturnType, - SendTransactionErrorType | SendCallsErrorType, - Prettify>, - context - > - > - | undefined -) => Promise - -export type UseSendTransactionReturnType< - config extends Config = Config, - context = unknown -> = Prettify< - UseMutationReturnType< - SendTransactionData | SendCallsReturnType, - SendTransactionErrorType | SendCallsErrorType, - SendTransactionVariables, - context - > & { - sendTransaction: SendTransactionMutate - sendTransactionAsync: SendTransactionMutateAsync - } -> - -export type ConfigParameter = { - config?: Config | config | undefined -} - -export type UseSendTransactionParameters< - config extends Config = Config, - context = unknown -> = Prettify< - ConfigParameter & { - mutation?: - | UseMutationParameters< - SendTransactionData | SendCallsReturnType, - SendTransactionErrorType | SendCallsErrorType, - SendTransactionVariables< - config, - config["chains"][number]["id"] - >, - context - > - | undefined - } -> - -const sendTransactionMutationOptions = ( - config: config, - parameters: { - capabilities?: - | { - paymasterService?: undefined - } - | { - paymasterService: { - url: string - } - } - } = {} -) => { - return { - mutationFn(variables) { - if ( - parameters.capabilities && - "paymasterService" in parameters.capabilities - ) { - return sendCalls(config, { - calls: [variables], - capabilities: parameters.capabilities - }) - } - - return sendTransaction(config, variables) - }, - mutationKey: ["sendTransaction"] - } as const satisfies MutationOptions< - SendTransactionData | SendCallsReturnType, - SendTransactionErrorType | SendCallsErrorType, - SendTransactionVariables - > -} - -export const useSendTransaction = < - config extends Config = ResolvedRegister["config"], - context = unknown ->( - parameters: UseSendTransactionParameters & { - capabilities?: - | { - paymasterService?: undefined - } - | { - paymasterService: { - url: string - } - } - } = {} -) => { - const { mutation } = parameters - const capabilities = useContext(PaymasterServiceContext) - - const config = useConfig(parameters) - - const mutationOptions = sendTransactionMutationOptions(config, { - ...parameters, - capabilities: { - paymasterService: capabilities.url - ? { - url: capabilities.url - } - : undefined, - ...parameters.capabilities - } - }) - - const { mutate, mutateAsync, ...result } = useMutation({ - ...mutation, - ...mutationOptions - }) - - type Return = UseSendTransactionReturnType - return { - ...result, - sendTransaction: mutate as Return["sendTransaction"], - sendTransactionAsync: mutateAsync as Return["sendTransactionAsync"] - } -} diff --git a/packages/wagmi-demo/src/useWaitForTransactionReceipt.ts b/packages/wagmi-demo/src/useWaitForTransactionReceipt.ts deleted file mode 100644 index 68b23665..00000000 --- a/packages/wagmi-demo/src/useWaitForTransactionReceipt.ts +++ /dev/null @@ -1,206 +0,0 @@ -"use client" - -import type { - DefaultError, - QueryKey, - QueryOptions -} from "@tanstack/react-query" -import type { - Config, - ResolvedRegister, - WaitForTransactionReceiptErrorType -} from "@wagmi/core" -import { ConnectorNotConnectedError } from "@wagmi/core" -import type { - GetCallsStatusData, - GetCallsStatusErrorType, - GetCallsStatusOptions, - GetCallsStatusQueryFnData -} from "@wagmi/core/experimental" -import { getCallsStatus } from "@wagmi/core/experimental" -import type { WaitForTransactionReceiptData } from "@wagmi/core/query" -import type { Prettify } from "viem" -import { useChainId, useConfig } from "wagmi" -import { - type UseQueryParameters, - type UseQueryReturnType, - useQuery -} from "wagmi/query" -import type { ConfigParameter } from "./useSendTransaction" - -export function filterQueryOptions>( - options: type -): type { - // destructuring is super fast - // biome-ignore format: no formatting - const { - // import('@tanstack/query-core').QueryOptions - _defaulted, behavior, gcTime, initialData, initialDataUpdatedAt, maxPages, meta, networkMode, queryFn, queryHash, queryKey, queryKeyHashFn, retry, retryDelay, structuralSharing, - - // import('@tanstack/query-core').InfiniteQueryObserverOptions - getPreviousPageParam, getNextPageParam, initialPageParam, - - // import('@tanstack/react-query').UseQueryOptions - _optimisticResults, enabled, notifyOnChangeProps, placeholderData, refetchInterval, refetchIntervalInBackground, refetchOnMount, refetchOnReconnect, refetchOnWindowFocus, retryOnMount, select, staleTime, suspense, throwOnError, - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // wagmi - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - config, connector, query, - ...rest - } = options - - return rest as type -} - -export type QueryParameter< - queryFnData = unknown, - error = DefaultError, - data = queryFnData, - queryKey extends QueryKey = QueryKey -> = { - query?: - | Omit< - UseQueryParameters, - | "queryFn" - | "queryHash" - | "queryKey" - | "queryKeyHashFn" - | "throwOnError" - > - | undefined -} - -export type UseCallsStatusParameters< - config extends Config = Config, - chainId extends - config["chains"][number]["id"] = config["chains"][number]["id"], - selectData = GetCallsStatusData -> = Prettify< - Partial & - ConfigParameter & - QueryParameter< - GetCallsStatusQueryFnData, - GetCallsStatusErrorType, - selectData, - ReturnType - > & { - chainId?: - | (chainId extends config["chains"][number]["id"] - ? chainId - : undefined) - | config["chains"][number]["id"] - | undefined - } -> - -export function getCallsStatusQueryKey( - options: Partial -) { - return ["callsStatus", filterQueryOptions(options)] as const -} - -async function waitForTransactionReceipt< - config extends Config, - chainId extends - config["chains"][number]["id"] = config["chains"][number]["id"] ->( - config: Config, - parameters: Partial & { - id: string - chainId?: - | (chainId extends config["chains"][number]["id"] - ? chainId - : undefined) - | config["chains"][number]["id"] - | undefined - } -) {} - -export function waitForTransactionReceiptQueryOptions< - config extends Config, - chainId extends - config["chains"][number]["id"] = config["chains"][number]["id"] ->( - config: config, - options: Partial & { - chainId?: - | (chainId extends config["chains"][number]["id"] - ? chainId - : undefined) - | config["chains"][number]["id"] - | undefined - } -) { - return { - async queryFn({ queryKey }) { - const { scopeKey: _, id, ...parameters } = queryKey[1] - if (!id) throw new Error("id is required") - const status = await waitForTransactionReceipt(config, { - id, - ...options, - ...parameters - }) - console.log(status) - return status - }, - queryKey: getCallsStatusQueryKey(options), - retry(failureCount, error) { - if (error instanceof ConnectorNotConnectedError) return false - return failureCount < 3 - } - } as const satisfies QueryOptions< - GetCallsStatusQueryFnData, - GetCallsStatusErrorType, - GetCallsStatusData, - ReturnType - > -} - -export type UseCallsStatusReturnType = - UseQueryReturnType - -export type UseWaitForTransactionReceiptReturnType< - config extends Config = Config, - chainId extends - config["chains"][number]["id"] = config["chains"][number]["id"], - selectData = WaitForTransactionReceiptData -> = UseQueryReturnType - -/** https://wagmi.sh/react/api/hooks/useCallsStatus */ -export function useWaitForTransactionReceipt< - config extends Config = ResolvedRegister["config"], - chainId extends - config["chains"][number]["id"] = config["chains"][number]["id"], - selectData = GetCallsStatusData ->( - parameters: UseCallsStatusParameters & { - capabilities?: - | { - paymasterService?: undefined - } - | { - paymasterService: { - url: string - } - } - } = {} -): UseWaitForTransactionReceiptReturnType { - const { query = {} } = parameters - - const config = useConfig(parameters) - const chainId = useChainId({ config }) - - const enabled = Boolean(parameters.id && (query.enabled ?? true)) - - const options = waitForTransactionReceiptQueryOptions(config, { - ...parameters, - chainId: parameters.chainId ?? chainId - }) - - return useQuery({ - ...query, - ...options, - enabled - }) as UseWaitForTransactionReceiptReturnType -} diff --git a/packages/wagmi-demo/src/wagmi.ts b/packages/wagmi-demo/src/wagmi.ts deleted file mode 100644 index 5e83cba7..00000000 --- a/packages/wagmi-demo/src/wagmi.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { sepolia } from "viem/chains" -import { http, createConfig } from "wagmi" -import { coinbaseWallet } from "wagmi/connectors" - -export const config = createConfig({ - chains: [sepolia], - connectors: [ - coinbaseWallet({ appName: "Pimlico", preference: "smartWalletOnly" }) - ], - transports: { - [sepolia.id]: http("https://rpc.ankr.com/eth_sepolia") - } -}) - -declare module "wagmi" { - interface Register { - config: typeof config - } -} diff --git a/packages/wagmi-demo/tsconfig.json b/packages/wagmi-demo/tsconfig.json deleted file mode 100644 index a7fc6fbf..00000000 --- a/packages/wagmi-demo/tsconfig.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2020", - "useDefineForClassFields": true, - "lib": ["ES2020", "DOM", "DOM.Iterable"], - "module": "ESNext", - "skipLibCheck": true, - - /* Bundler mode */ - "moduleResolution": "bundler", - "allowImportingTsExtensions": true, - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": true, - "jsx": "react-jsx", - - /* Linting */ - "strict": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true - }, - "include": ["src"], - "references": [{ "path": "./tsconfig.node.json" }] -} diff --git a/packages/wagmi-demo/tsconfig.node.json b/packages/wagmi-demo/tsconfig.node.json deleted file mode 100644 index 42872c59..00000000 --- a/packages/wagmi-demo/tsconfig.node.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "compilerOptions": { - "composite": true, - "skipLibCheck": true, - "module": "ESNext", - "moduleResolution": "bundler", - "allowSyntheticDefaultImports": true - }, - "include": ["vite.config.ts"] -} diff --git a/packages/wagmi-demo/vite.config.ts b/packages/wagmi-demo/vite.config.ts deleted file mode 100644 index ecb1d561..00000000 --- a/packages/wagmi-demo/vite.config.ts +++ /dev/null @@ -1,7 +0,0 @@ -import react from "@vitejs/plugin-react" -import { defineConfig } from "vite" - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [react()] -}) diff --git a/packages/wagmi-test-demo/.env.example b/packages/wagmi-test-demo/.env.example new file mode 100644 index 00000000..d0a1b84b --- /dev/null +++ b/packages/wagmi-test-demo/.env.example @@ -0,0 +1,2 @@ +RPC_URL= +PAYMASTER_URL= \ No newline at end of file diff --git a/packages/wagmi-demo/index.html b/packages/wagmi-test-demo/index.html similarity index 100% rename from packages/wagmi-demo/index.html rename to packages/wagmi-test-demo/index.html diff --git a/packages/wagmi-test-demo/package.json b/packages/wagmi-test-demo/package.json new file mode 100644 index 00000000..56f6792d --- /dev/null +++ b/packages/wagmi-test-demo/package.json @@ -0,0 +1,27 @@ +{ + "name": "@permissionless/wagmi-demo", + "private": true, + "author": "Pimlico", + "homepage": "https://docs.pimlico.io/permissionless/wagmi", + "repository": "github:pimlicolabs/permissionless.js", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "lint": "biome check .", + "preview": "vite preview" + }, + "dependencies": { + "wagmi": "^2.5.1", + "viem": "2.9.17", + "@tanstack/react-query": "5.0.5", + "react": "^18.2.0", + "permissionless": "0.0.36", + "vite": "^4.4.9", + "@types/react": "^18.2.22", + "@types/react-dom": "^18.2.7", + "react-dom": "^18.2.0", + "@permissionless/wagmi": "workspace:packages/wagmi", + "@vitejs/plugin-react": "^4.1.0" + } +} diff --git a/packages/wagmi-test-demo/src/App.tsx b/packages/wagmi-test-demo/src/App.tsx new file mode 100644 index 00000000..fa5401bb --- /dev/null +++ b/packages/wagmi-test-demo/src/App.tsx @@ -0,0 +1,183 @@ +import { + biconomySmartAccount, + kernelSmartAccount, + simpleSmartAccount +} from "@permissionless/wagmi" +import { safeSmartAccount } from "@permissionless/wagmi" +import { createPimlicoPaymasterClient } from "permissionless/clients/pimlico" +import { walletClientToSmartAccountSigner } from "permissionless/utils" +import React from "react" +import { http, type Address, zeroAddress } from "viem" +import { + type CreateConnectorFn, + useAccount, + useConfig, + useConnect, + useDisconnect, + useSendTransaction +} from "wagmi" +import { getPublicClient, getWalletClient } from "wagmi/actions" + +function App() { + const account = useAccount() + const { connectors, connect, status, error } = useConnect() + const { disconnect } = useDisconnect() + const config = useConfig() + + const smartAccounts = ["Simple", "Safe", "Biconomy", "Kernel"] + + const connectSmartAccount = async (smartAccount: string) => { + const publicClient = getPublicClient(config) + const walletClient = await getWalletClient(config) + + if (!publicClient) { + throw new Error("publicClient not found") + } + + const pimlicoClient = createPimlicoPaymasterClient({ + transport: http(import.meta.env.VITE_PAYMASTER_URL as string) + }) + + let connector: CreateConnectorFn + + switch (smartAccount) { + case "Simple": + connector = await simpleSmartAccount({ + publicClient, + bundlerTransport: http( + import.meta.env.VITE_BUNDLER_RPC_HOST + ), + signer: walletClientToSmartAccountSigner(walletClient), + factoryAddress: import.meta.env + .VITE_FACTORY_ADDRESS as Address, + entryPoint: import.meta.env.VITE_ENTRY_POINT as Address, + sponsorUserOperation: pimlicoClient.sponsorUserOperation + }) + connect({ connector }) + break + case "Safe": + connector = await safeSmartAccount({ + publicClient, + bundlerTransport: http( + import.meta.env.VITE_BUNDLER_RPC_HOST + ), + signer: walletClientToSmartAccountSigner(walletClient), + safeVersion: "1.4.1", + entryPoint: import.meta.env.VITE_ENTRY_POINT as Address, + sponsorUserOperation: pimlicoClient.sponsorUserOperation + }) + connect({ connector }) + break + case "Biconomy": + connector = await biconomySmartAccount({ + publicClient, + bundlerTransport: http( + import.meta.env.VITE_BUNDLER_RPC_HOST + ), + signer: walletClientToSmartAccountSigner(walletClient), + entryPoint: import.meta.env.VITE_ENTRY_POINT as Address, + sponsorUserOperation: pimlicoClient.sponsorUserOperation + }) + connect({ connector }) + break + + case "Kernel": + connector = await kernelSmartAccount({ + publicClient, + bundlerTransport: http( + import.meta.env.VITE_BUNDLER_RPC_HOST + ), + signer: walletClientToSmartAccountSigner(walletClient), + entryPoint: import.meta.env.VITE_ENTRY_POINT as Address, + sponsorUserOperation: pimlicoClient.sponsorUserOperation + }) + connect({ connector }) + break + } + } + + const { + data: hash, + sendTransaction, + error: sendTransactionError, + isPending + } = useSendTransaction() + + const sendTransactionOnButtonPress = () => { + sendTransaction({ + to: zeroAddress, + value: 0n, + data: "0x" + }) + } + + return ( + <> +
+

Account

+ +
+ status: {account.status} +
+ addresses: {JSON.stringify(account.addresses)} +
+ chainId: {account.chainId} +
+ + {account.status === "connected" && ( + <> + + + + + {isPending && ( +
+ Executing transaction... +
+
+ )} + {hash &&
hash: {hash}
} + + )} +
+ +
+

Connect

+ {account.status === "connected" && + smartAccounts.map((sa) => ( + + ))} + {account.status !== "connected" && + connectors.map((connector) => ( + + ))} +
{status}
+
{error?.message}
+
+ + ) +} + +export default App diff --git a/packages/wagmi-demo/src/index.css b/packages/wagmi-test-demo/src/index.css similarity index 62% rename from packages/wagmi-demo/src/index.css rename to packages/wagmi-test-demo/src/index.css index 0733a7ee..d620caf8 100644 --- a/packages/wagmi-demo/src/index.css +++ b/packages/wagmi-test-demo/src/index.css @@ -19,3 +19,17 @@ color: #181818; } } + +.loader { + border: 2.5px solid #f3f3f3; /* Light grey */ + border-top: 2.5px solid #3498db; /* Blue */ + border-radius: 50%; + width: 20px; + height: 20px; + animation: spin 0.8s linear infinite; +} + +@keyframes spin { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(360deg); } +} diff --git a/packages/wagmi-demo/src/main.tsx b/packages/wagmi-test-demo/src/main.tsx similarity index 54% rename from packages/wagmi-demo/src/main.tsx rename to packages/wagmi-test-demo/src/main.tsx index c36e39a9..e35855ce 100644 --- a/packages/wagmi-demo/src/main.tsx +++ b/packages/wagmi-test-demo/src/main.tsx @@ -1,15 +1,12 @@ -// biome-ignore lint/style/useNodejsImportProtocol: we are not using node buffer here -import { Buffer } from "buffer" +import { Buffer } from "node:buffer" import { QueryClient, QueryClientProvider } from "@tanstack/react-query" import React from "react" import ReactDOM from "react-dom/client" -import { WagmiProvider } from "wagmi" - +import { http, WagmiProvider, createConfig } from "wagmi" import App from "./App.tsx" -import { config } from "./wagmi.ts" +import { sepolia } from "viem/chains" import "./index.css" -import { PaymasterServiceProvider } from "./usePaymasterService" globalThis.Buffer = Buffer @@ -19,14 +16,19 @@ const root = document.getElementById("root") if (!root) throw new Error("No root element found") +const config = createConfig({ + chains: [sepolia], + connectors: [], + transports: { + [sepolia.id]: http(import.meta.env.RPC_URL) + } +}) + ReactDOM.createRoot(root).render( - {/* Call it generic 5792 provider */} - - - + diff --git a/packages/wagmi-demo/src/vite-env.d.ts b/packages/wagmi-test-demo/src/vite-env.d.ts similarity index 100% rename from packages/wagmi-demo/src/vite-env.d.ts rename to packages/wagmi-test-demo/src/vite-env.d.ts diff --git a/packages/wagmi/connectors/biconomySmartAccount.ts b/packages/wagmi/connectors/biconomySmartAccount.ts new file mode 100644 index 00000000..2b9d4054 --- /dev/null +++ b/packages/wagmi/connectors/biconomySmartAccount.ts @@ -0,0 +1,53 @@ +import { + type SignerToBiconomySmartAccountParameters, + signerToBiconomySmartAccount +} from "permissionless/accounts" +import type { Prettify } from "permissionless/types" +import type { Address, Chain, Transport } from "viem" +import { + type SmartAccountParameters, + smartAccountConnectorHelper +} from "./simpleSmartAccount" + +export type BiconomySmartAccountParameters< + TTransport extends Transport = Transport, + TChain extends Chain | undefined = Chain | undefined, + TSource extends string = string, + TAddress extends Address = Address +> = Prettify< + SmartAccountParameters< + Omit< + SignerToBiconomySmartAccountParameters, + "signer" + >, + TTransport, + TChain, + TSource, + TAddress + > +> + +export async function biconomySmartAccount< + TTransport extends Transport = Transport, + TChain extends Chain | undefined = Chain | undefined, + TSource extends string = string, + TAddress extends Address = Address +>({ + publicClient, + signer, + bundlerTransport, + sponsorUserOperation, + ...rest +}: Prettify< + BiconomySmartAccountParameters +>) { + return smartAccountConnectorHelper({ + account: await signerToBiconomySmartAccount(publicClient, { + ...rest, + signer + }), + publicClient, + bundlerTransport, + sponsorUserOperation + }) +} diff --git a/packages/wagmi/connectors/kernelSmartAccount.ts b/packages/wagmi/connectors/kernelSmartAccount.ts new file mode 100644 index 00000000..e5b5e809 --- /dev/null +++ b/packages/wagmi/connectors/kernelSmartAccount.ts @@ -0,0 +1,53 @@ +import { + type SignerToEcdsaKernelSmartAccountParameters, + signerToEcdsaKernelSmartAccount +} from "permissionless/accounts" +import type { Prettify } from "permissionless/types" +import type { Address, Chain, Transport } from "viem" +import { + type SmartAccountParameters, + smartAccountConnectorHelper +} from "./simpleSmartAccount" + +export type KernelSmartAccountParameters< + TTransport extends Transport = Transport, + TChain extends Chain | undefined = Chain | undefined, + TSource extends string = string, + TAddress extends Address = Address +> = Prettify< + SmartAccountParameters< + Omit< + SignerToEcdsaKernelSmartAccountParameters, + "signer" + >, + TTransport, + TChain, + TSource, + TAddress + > +> + +export async function kernelSmartAccount< + TTransport extends Transport = Transport, + TChain extends Chain | undefined = Chain | undefined, + TSource extends string = string, + TAddress extends Address = Address +>({ + publicClient, + signer, + bundlerTransport, + sponsorUserOperation, + ...rest +}: Prettify< + KernelSmartAccountParameters +>) { + return smartAccountConnectorHelper({ + account: await signerToEcdsaKernelSmartAccount(publicClient, { + ...rest, + signer + }), + publicClient, + bundlerTransport, + sponsorUserOperation + }) +} diff --git a/packages/wagmi/connectors/safeSmartAccount.ts b/packages/wagmi/connectors/safeSmartAccount.ts new file mode 100644 index 00000000..3035cd72 --- /dev/null +++ b/packages/wagmi/connectors/safeSmartAccount.ts @@ -0,0 +1,50 @@ +import { + type SignerToSafeSmartAccountParameters, + signerToSafeSmartAccount +} from "permissionless/accounts" +import type { Prettify } from "permissionless/types" +import type { Address, Chain, Transport } from "viem" +import { + type SmartAccountParameters, + smartAccountConnectorHelper +} from "./simpleSmartAccount" + +export type SafeSmartAccountParameters< + TTransport extends Transport = Transport, + TChain extends Chain | undefined = Chain | undefined, + TSource extends string = string, + TAddress extends Address = Address +> = Prettify< + SmartAccountParameters< + Omit, "signer">, + TTransport, + TChain, + TSource, + TAddress + > +> + +export async function safeSmartAccount< + TTransport extends Transport = Transport, + TChain extends Chain | undefined = Chain | undefined, + TSource extends string = string, + TAddress extends Address = Address +>({ + publicClient, + signer, + bundlerTransport, + sponsorUserOperation, + ...rest +}: Prettify< + SafeSmartAccountParameters +>) { + return smartAccountConnectorHelper({ + account: await signerToSafeSmartAccount(publicClient, { + ...rest, + signer + }), + publicClient, + bundlerTransport, + sponsorUserOperation + }) +} diff --git a/packages/wagmi/connectors/simpleSmartAccount.ts b/packages/wagmi/connectors/simpleSmartAccount.ts new file mode 100644 index 00000000..d7d876a2 --- /dev/null +++ b/packages/wagmi/connectors/simpleSmartAccount.ts @@ -0,0 +1,90 @@ +import { createSmartAccountClient } from "permissionless" +import { + type SignerToSimpleSmartAccountParameters, + type SmartAccount, + type SmartAccountSigner, + signerToSimpleSmartAccount +} from "permissionless/accounts" +import type { SponsorUserOperationMiddleware } from "permissionless/actions/smartAccount" +import type { Prettify } from "permissionless/types" +import type { Address, Chain, PublicClient, Transport } from "viem" +import { smartAccount } from "./smartAccount" + +export type SmartAccountParameters< + T, + TTransport extends Transport = Transport, + TChain extends Chain | undefined = Chain | undefined, + TSource extends string = string, + TAddress extends Address = Address +> = { + publicClient: PublicClient + signer: SmartAccountSigner + bundlerTransport: TTransport +} & SponsorUserOperationMiddleware & + T + +export type SimpleSmartAccountParameters< + TTransport extends Transport = Transport, + TChain extends Chain | undefined = Chain | undefined, + TSource extends string = string, + TAddress extends Address = Address +> = Prettify< + SmartAccountParameters< + Omit, "signer">, + TTransport, + TChain, + TSource, + TAddress + > +> + +export async function smartAccountConnectorHelper< + X, + TTransport extends Transport = Transport, + TChain extends Chain | undefined = Chain | undefined, + TSource extends string = string, + TAddress extends Address = Address, + Name extends string = string +>({ + bundlerTransport, + sponsorUserOperation, + account +}: Omit< + SmartAccountParameters, + "signer" +> & { + account: SmartAccount +}) { + const smartAccountClient = createSmartAccountClient({ + account, + transport: bundlerTransport, + sponsorUserOperation: sponsorUserOperation + }) + + return smartAccount({ + smartAccountClient: smartAccountClient + }) +} + +export async function simpleSmartAccount< + TTransport extends Transport = Transport, + TChain extends Chain | undefined = Chain | undefined, + TSource extends string = string, + TAddress extends Address = Address +>({ + publicClient, + signer, + bundlerTransport, + sponsorUserOperation, + ...rest +}: SimpleSmartAccountParameters) { + return smartAccountConnectorHelper({ + account: await signerToSimpleSmartAccount(publicClient, { + ...rest, + signer + }), + publicClient, + bundlerTransport, + sponsorUserOperation + }) +} diff --git a/packages/wagmi/connectors/smartAccount.ts b/packages/wagmi/connectors/smartAccount.ts new file mode 100644 index 00000000..aabdc918 --- /dev/null +++ b/packages/wagmi/connectors/smartAccount.ts @@ -0,0 +1,72 @@ +import { type SmartAccountClient, chainId } from "permissionless" +import type { SmartAccount } from "permissionless/accounts" +import type { Chain, Transport } from "viem" +import { createConnector } from "wagmi" + +export function smartAccount< + transport extends Transport = Transport, + chain extends Chain | undefined = Chain | undefined, + account extends SmartAccount = SmartAccount +>({ + smartAccountClient, + id = smartAccountClient.uid, + name = smartAccountClient.name, + type = "smart-account" +}: { + smartAccountClient: SmartAccountClient & { + estimateGas?: () => undefined | bigint + } + id?: string + name?: string + type?: string +}) { + // Don't remove this, it is needed because wagmi has an opinion on always estimating gas: + // https://github.com/wevm/wagmi/blob/main/packages/core/src/actions/sendTransaction.ts#L77 + smartAccountClient.estimateGas = () => { + return undefined + } + + return createConnector((config) => ({ + id, + name, + type, + // async setup() {}, + async connect({ chainId } = {}) { + if (chainId && chainId !== (await this.getChainId())) { + throw new Error(`Invalid chainId ${chainId} requested`) + } + + return { + accounts: [smartAccountClient.account.address], + chainId: await this.getChainId() + } + }, + async disconnect() {}, + async getAccounts() { + return [smartAccountClient.account.address] + }, + getChainId() { + return chainId(smartAccountClient) + }, + async getProvider() {}, + async isAuthorized() { + return !!smartAccountClient.account.address + }, + onAccountsChanged() { + // Not relevant + }, + onChainChanged() { + // Not relevant because smart accounts only exist on single chain. + }, + onDisconnect() { + config.emitter.emit("disconnect") + }, + async getClient({ chainId: requestedChainId }: { chainId: number }) { + const chainId = await this.getChainId() + if (requestedChainId !== chainId) { + throw new Error(`Invalid chainId ${chainId} requested`) + } + return smartAccountClient + } + })) +} diff --git a/packages/wagmi/index.ts b/packages/wagmi/index.ts index e69de29b..554759f1 100644 --- a/packages/wagmi/index.ts +++ b/packages/wagmi/index.ts @@ -0,0 +1,32 @@ +import { + type SimpleSmartAccountParameters, + simpleSmartAccount +} from "./connectors/simpleSmartAccount" +import { smartAccount } from "./connectors/smartAccount" + +import { + type SafeSmartAccountParameters, + safeSmartAccount +} from "./connectors/safeSmartAccount" + +import { + type BiconomySmartAccountParameters, + biconomySmartAccount +} from "./connectors/biconomySmartAccount" + +import { + type KernelSmartAccountParameters, + kernelSmartAccount +} from "./connectors/kernelSmartAccount" + +export { + smartAccount, + simpleSmartAccount, + type SimpleSmartAccountParameters, + safeSmartAccount, + type SafeSmartAccountParameters, + biconomySmartAccount, + type BiconomySmartAccountParameters, + kernelSmartAccount, + type KernelSmartAccountParameters +} diff --git a/packages/wagmi/package.json b/packages/wagmi/package.json index e4c7c5aa..22ff9e4e 100644 --- a/packages/wagmi/package.json +++ b/packages/wagmi/package.json @@ -20,7 +20,11 @@ "default": "./_cjs/index.js" } }, + "dependencies": { + "permissionless": "0.0.36" + }, "peerDependencies": { - "wagmi": "^2.12.8" + "wagmi": "^2.5.1", + "viem": "2.9.17" } } From 59b48172e1ac37e856d1b80d78722be78eadf97a Mon Sep 17 00:00:00 2001 From: Garvit Khatri Date: Tue, 24 Sep 2024 20:33:45 +0100 Subject: [PATCH 04/13] try new signature validation --- .../etherspot/toEtherspotSmartAccount.ts | 60 ++++++++++--------- .../accounts/etherspot/utils/signMessage.ts | 26 -------- .../accounts/etherspot/utils/signTypedData.ts | 46 -------------- packages/permissionless/clients/etherspot.ts | 9 +-- 4 files changed, 33 insertions(+), 108 deletions(-) delete mode 100644 packages/permissionless/accounts/etherspot/utils/signMessage.ts delete mode 100644 packages/permissionless/accounts/etherspot/utils/signTypedData.ts diff --git a/packages/permissionless/accounts/etherspot/toEtherspotSmartAccount.ts b/packages/permissionless/accounts/etherspot/toEtherspotSmartAccount.ts index e566f7a4..c71901fb 100644 --- a/packages/permissionless/accounts/etherspot/toEtherspotSmartAccount.ts +++ b/packages/permissionless/accounts/etherspot/toEtherspotSmartAccount.ts @@ -9,11 +9,11 @@ import { type LocalAccount, type OneOf, type Transport, - type TypedDataDefinition, type WalletClient, concatHex, encodeAbiParameters, encodeFunctionData, + encodePacked, toHex, zeroAddress } from "viem" @@ -26,13 +26,12 @@ import { getUserOperationHash, toSmartAccount } from "viem/account-abstraction" -import { getChainId, readContract } from "viem/actions" +import { getChainId } from "viem/actions" import { getAction } from "viem/utils" import { getAccountNonce } from "../../actions/public/getAccountNonce" import { getSenderAddress } from "../../actions/public/getSenderAddress" import { toOwner } from "../../utils" import { encode7579Calls } from "../../utils/encode7579Calls" -import { EtherspotWalletFactoryAbi } from "./abi/EtherspotWalletFactoryAbi" import { DEFAULT_CONTRACT_ADDRESS, DUMMY_ECDSA_SIGNATURE, @@ -41,8 +40,6 @@ import { } from "./constants" import { getInitMSAData } from "./utils/getInitMSAData" import { getNonceKeyWithEncoding } from "./utils/getNonceKey" -import { signMessage } from "./utils/signMessage" -import { signTypedData } from "./utils/signTypedData" /** * The account creation ABI for a modular etherspot smart account @@ -139,13 +136,11 @@ const getInitialisationData = ({ * @param bootstrapAddress */ const getAccountInitCode = async ({ - entryPoint: entryPointAddress, owner, index, validatorAddress, bootstrapAddress }: { - entryPoint: Address owner: Address index: bigint validatorAddress: Address @@ -240,7 +235,6 @@ export async function toEtherspotSmartAccount( // Helper to generate the init code for the smart account const generateInitCode = () => getAccountInitCode({ - entryPoint: entryPoint.address, owner: localOwner.address, index, validatorAddress, @@ -312,30 +306,40 @@ export async function toEtherspotSmartAccount( return this.signMessage({ message: hash }) }, async signMessage({ message }) { - const signature = await signMessage({ - owner: localOwner, - message, - accountAddress: await this.getAddress(), - chainId: await getMemoizedChainId() + let signature: Hex = await localOwner.signMessage({ + message }) - - return concatHex([ - getEcdsaValidatorIdentifier(validatorAddress), - signature - ]) + const potentiallyIncorrectV = Number.parseInt( + signature.slice(-2), + 16 + ) + if (![27, 28].includes(potentiallyIncorrectV)) { + const correctV = potentiallyIncorrectV + 27 + signature = (signature.slice(0, -2) + + correctV.toString(16)) as Hex + } + return encodePacked( + ["address", "bytes"], + [validatorAddress, signature] + ) }, async signTypedData(typedData) { - const signature = await signTypedData({ - owner: localOwner, - chainId: await getMemoizedChainId(), - ...(typedData as TypedDataDefinition), - accountAddress: await this.getAddress() - }) + let signature: Hex = await localOwner.signTypedData(typedData) + + const potentiallyIncorrectV = Number.parseInt( + signature.slice(-2), + 16 + ) + if (![27, 28].includes(potentiallyIncorrectV)) { + const correctV = potentiallyIncorrectV + 27 + signature = (signature.slice(0, -2) + + correctV.toString(16)) as Hex + } - return concatHex([ - getEcdsaValidatorIdentifier(validatorAddress), - signature - ]) + return encodePacked( + ["address", "bytes"], + [validatorAddress, signature] + ) }, async signUserOperation(parameters) { const { chainId = await getMemoizedChainId(), ...userOperation } = diff --git a/packages/permissionless/accounts/etherspot/utils/signMessage.ts b/packages/permissionless/accounts/etherspot/utils/signMessage.ts deleted file mode 100644 index 836a67b3..00000000 --- a/packages/permissionless/accounts/etherspot/utils/signMessage.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { - type LocalAccount, - type SignMessageReturnType, - type SignableMessage, - hashMessage -} from "viem" -import { type WrapMessageHashParams, wrapMessageHash } from "./wrapMessageHash" - -export async function signMessage({ - message, - owner, - accountAddress, - chainId -}: { - owner: LocalAccount - message: SignableMessage -} & WrapMessageHashParams): Promise { - const wrappedMessageHash = wrapMessageHash(hashMessage(message), { - accountAddress, - chainId - }) - - return owner.signMessage({ - message: { raw: wrappedMessageHash } - }) -} diff --git a/packages/permissionless/accounts/etherspot/utils/signTypedData.ts b/packages/permissionless/accounts/etherspot/utils/signTypedData.ts deleted file mode 100644 index b007967b..00000000 --- a/packages/permissionless/accounts/etherspot/utils/signTypedData.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { - type LocalAccount, - type SignTypedDataReturnType, - type TypedDataDefinition, - getTypesForEIP712Domain, - hashTypedData, - validateTypedData -} from "viem" - -import { signTypedData as _signTypedData, signMessage } from "viem/actions" -import { type WrapMessageHashParams, wrapMessageHash } from "./wrapMessageHash" - -export async function signTypedData( - parameters: TypedDataDefinition & - WrapMessageHashParams & { - owner: LocalAccount - } -): Promise { - const { owner, accountAddress, chainId, ...typedData } = parameters - - const { message, primaryType, types: _types, domain } = typedData - const types = { - EIP712Domain: getTypesForEIP712Domain({ - domain: domain - }), - ..._types - } - - validateTypedData({ - domain, - message, - primaryType, - types - }) - - const typedHash = hashTypedData({ message, primaryType, types, domain }) - - const wrappedMessageHash = wrapMessageHash(typedHash, { - accountAddress, - chainId - }) - - return owner.signMessage({ - message: { raw: wrappedMessageHash } - }) -} diff --git a/packages/permissionless/clients/etherspot.ts b/packages/permissionless/clients/etherspot.ts index eff7fc25..3d230ddd 100644 --- a/packages/permissionless/clients/etherspot.ts +++ b/packages/permissionless/clients/etherspot.ts @@ -21,7 +21,6 @@ import { } from "./decorators/etherspot" export type EtherspotBundlerClient< - entryPointVersion extends "0.6" | "0.7" = "0.7" | "0.6", transport extends Transport = Transport, chain extends Chain | undefined = Chain | undefined, account extends SmartAccount | undefined = SmartAccount | undefined, @@ -77,13 +76,7 @@ export function createEtherspotBundlerClient< account, rpcSchema > -): EtherspotBundlerClient< - entryPointVersion, - transport, - chain, - account, - rpcSchema -> +): EtherspotBundlerClient export function createEtherspotBundlerClient( parameters: EtherspotClientConfig From c29c760d0bb67f5b54ab5fd7417682d477a6027d Mon Sep 17 00:00:00 2001 From: Sulpiride Date: Tue, 10 Dec 2024 16:19:53 +0500 Subject: [PATCH 05/13] update etherspot validator --- packages/permissionless-test/mock-aa-infra/alto/constants.ts | 2 +- packages/permissionless-test/mock-aa-infra/alto/index.ts | 2 +- packages/permissionless/accounts/etherspot/constants.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/permissionless-test/mock-aa-infra/alto/constants.ts b/packages/permissionless-test/mock-aa-infra/alto/constants.ts index 6381a450..9e338e6e 100644 --- a/packages/permissionless-test/mock-aa-infra/alto/constants.ts +++ b/packages/permissionless-test/mock-aa-infra/alto/constants.ts @@ -172,7 +172,7 @@ export const ETHERSPOT_IMPLEMENTATION = "0x4d6f64756c6172457468657273706f7457616c6c65743a437265617465323a7360a06040523060805234801561001457600080fd5b506080516140dd610037600039600081816104ca0152610d7401526140dd6000f3fe6080604052600436106101f25760003560e01c80637dcab4ce1161010d578063bf57159b116100a0578063d691c9641161006f578063d691c964146106de578063e9ae5c53146106fe578063ea5f61d014610711578063eac9b20d14610731578063f2dc691d1461075e576101f9565b8063bf57159b14610662578063c3db883814610678578063c7f758a81461068d578063d03c7914146106be576101f9565b8063a1c0d459116100dc578063a1c0d459146105ec578063a526d83b1461060c578063a71763a81461062c578063b0d691fe1461063f576101f9565b80637dcab4ce1461053f578063855713681461055f5780639517e29f1461058d5780639cfd7cff146105a0576101f9565b80632f54bf6e116101855780635c60da1b116101545780635c60da1b146104b85780637065cb48146104ec578063714041561461050c57806372aea6541461052c576101f9565b80632f54bf6e1461045a57806341c9ddff1461047a5780634b6a14191461048f57806354387ad7146104a2576101f9565b80631626ba7e116101c15780631626ba7e146103d8578063173825d91461041157806319822f7c146104315780632dfca44514610444576101f9565b80630a664dba146103325780630c68ba21146103645780630db0262214610394578063112d3a7d146103b8576101f9565b366101f957005b61020e6000356001600160e01b03191661077e565b6000610218610831565b600080356001600160e01b03191681526002919091016020526040902080549091506001600160a01b03811690600160a01b900460f81b8161028057604051632464e76d60e11b81526001600160e01b03196000351660048201526024015b60405180910390fd5b61028e81607f60f91b610855565b156102e25760408051368101909152366000823760408051601481019091523360601b90526000803660140183865afa90506102d03d60408051918201905290565b3d6000823e816102de573d81fd5b3d81f35b6102ed816000610855565b156103305760408051368101909152366000823760408051601481019091523360601b9052600080366014018382875af190506102d03d60408051918201905290565b005b34801561033e57600080fd5b5061034761086c565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561037057600080fd5b5061038461037f366004613617565b610889565b604051901515815260200161035b565b3480156103a057600080fd5b506103aa60005481565b60405190815260200161035b565b3480156103c457600080fd5b506103846103d3366004613675565b6108a7565b3480156103e457600080fd5b506103f86103f33660046136d0565b61090c565b6040516001600160e01b0319909116815260200161035b565b34801561041d57600080fd5b5061033061042c366004613617565b6109e2565b6103aa61043f366004613734565b610aa9565b34801561045057600080fd5b506103aa60025481565b34801561046657600080fd5b50610384610475366004613617565b610b8f565b34801561048657600080fd5b50610330610bad565b61033061049d366004613781565b610d6a565b3480156104ae57600080fd5b506103aa60015481565b3480156104c457600080fd5b506103477f000000000000000000000000000000000000000000000000000000000000000081565b3480156104f857600080fd5b50610330610507366004613617565b610e5e565b34801561051857600080fd5b50610330610527366004613617565b610f1c565b61033061053a3660046137c2565b610fb9565b34801561054b57600080fd5b5061033061055a366004613617565b611099565b34801561056b57600080fd5b5061057f61057a3660046137f6565b61125e565b60405161035b929190613867565b61033061059b366004613675565b611285565b3480156105ac57600080fd5b50604080518082018252601e81527f657468657273706f7477616c6c65742e6d6f64756c61722e76312e302e3000006020820152905161035b91906138e1565b3480156105f857600080fd5b506103306106073660046138f4565b611374565b34801561061857600080fd5b50610330610627366004613617565b6113a9565b61033061063a366004613675565b611467565b34801561064b57600080fd5b506f71727de22e5e9d8baf0edac6f37da032610347565b34801561066e57600080fd5b506103aa60035481565b34801561068457600080fd5b50610330611530565b34801561069957600080fd5b506106ad6106a83660046138f4565b611673565b60405161035b95949392919061390d565b3480156106ca57600080fd5b506103846106d93660046138f4565b61177d565b6106f16106ec3660046136d0565b61181c565b60405161035b9190613948565b61033061070c3660046136d0565b611e73565b34801561071d57600080fd5b5061057f61072c3660046137f6565b6122e8565b34801561073d57600080fd5b5061075161074c3660046139c2565b612305565b60405161035b91906139df565b34801561076a57600080fd5b506103846107793660046138f4565b6123dd565b6000610788610831565b6001600160e01b0319831660009081526002919091016020908152604091829020600101805483518184028101840190945280845290918301828280156107f857602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116107da575b50505050509050610809813361242c565b151560000361082d576040516332cf492b60e11b8152336004820152602401610277565b5050565b7ff88ce1fdb7fb1cbd3282e49729100fa3f2d6ee9f797961fe4fb1871cea89ea0290565b6001600160f81b0319828116908216145b92915050565b60006108846000805160206140888339815191525490565b905090565b6001600160a01b031660009081526005602052604090205460ff1690565b6000600185036108c1576108ba84612439565b9050610904565b600285036108d2576108ba84612457565b600385036108ef576108ba6108e9838501856139c2565b85612471565b60048503610900576108ba846124af565b5060005b949350505050565b60008061091c6014828587613a5d565b61092591613a87565b60601c905061093381612439565b61095b57604051635c93ff2f60e11b81526001600160a01b0382166004820152602401610277565b6001600160a01b03811663f551e2ee3387610979876014818b613a5d565b6040518563ffffffff1660e01b81526004016109989493929190613ae3565b602060405180830381865afa1580156109b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d99190613b15565b95945050505050565b6109eb33610b8f565b806109f557503330145b610a12576040516311d9f09160e01b815260040160405180910390fd5b610a1b81610b8f565b610a385760405163f1369ccb60e01b815260040160405180910390fd5b600160005411610a5b5760405163021870b960e11b815260040160405180910390fd5b610a64816124e1565b604080513081526001600160a01b03831660208201527fe594d081b4382713733fe631966432c9cea5199afb2db5c3c1931f9f9300367991015b60405180910390a150565b6000336f71727de22e5e9d8baf0edac6f37da03214610adb57604051635629665f60e11b815260040160405180910390fd5b816020850135606081901c90610af082612439565b610aff57600193505050610b75565b604051639700320360e01b81526001600160a01b03831690639700320390610b2d908a908a90600401613b77565b6020604051808303816000875af1158015610b4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b709190613c76565b935050505b8015610b875760003860003884335af1505b509392505050565b6001600160a01b031660009081526004602052604090205460ff1690565b610bb633610889565b610bd357604051636570ecab60e11b815260040160405180910390fd5b600254600081815260066020526040812090829003610c0557604051631dc0650160e31b815260040160405180910390fd5b610c0e82612516565b15610c2c576040516320181a3560e21b815260040160405180910390fd5b610c4e600254600090815260066020526040902054600160a01b900460ff1690565b15610c6c57604051638b19dbcb60e01b815260040160405180910390fd5b60008281526006602090815260408220600180820180549182018155845291832090910180546001600160a01b03191633179055838252600201805491610cb283613ca5565b909155505080546001600160a01b0316610ccb8361258d565b15610cfd576000838152600660205260409020805460ff60a01b1916600160a01b179055610cf8816125c7565b505050565b6000838152600660209081526040918290206002015482513081529182018690526001600160a01b0384169282019290925260608101919091527f7afa94f51443879f537b9be4f09d5d734c2c233b788d2f6af6565add34706bab906080015b60405180910390a1505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610db3576040516308e3edd160e41b815260040160405180910390fd5b610dbb6125f7565b60008080610dcb84860186613d81565b925092509250610dda836125c7565b6000826001600160a01b031682604051610df49190613de2565b600060405180830381855af49150503d8060008114610e2f576040519150601f19603f3d011682016040523d82523d6000602084013e610e34565b606091505b5050905080610e5657604051631b79777760e11b815260040160405180910390fd5b505050505050565b610e6733610b8f565b80610e7157503330145b610e8e576040516311d9f09160e01b815260040160405180910390fd5b6001600160a01b0381161580610ea85750610ea881610889565b80610eb75750610eb781610b8f565b15610ed557604051631a1aefc560e21b815260040160405180910390fd5b610ede816125c7565b604080513081526001600160a01b03831660208201527fc82bdbbf677a2462f2a7e22e4ba9abd209496b69cd7b868b3b1d28f76e09a40a9101610a9e565b610f2533610b8f565b80610f2f57503330145b610f4c576040516311d9f09160e01b815260040160405180910390fd5b610f5581610889565b610f725760405163985f453960e01b815260040160405180910390fd5b610f7b8161261b565b604080513081526001600160a01b03831660208201527fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b9101610a9e565b336f71727de22e5e9d8baf0edac6f37da0321480610fd657503330145b610ff357604051635629665f60e11b815260040160405180910390fd5b3660006110036060840184613dfe565b611011916004908290613a5d565b915091506000306001600160a01b03168383604051611031929190613e44565b600060405180830381855af49150503d806000811461106c576040519150601f19603f3d011682016040523d82523d6000602084013e611071565b606091505b505090508061109357604051632b3f6d1160e21b815260040160405180910390fd5b50505050565b6110a233610889565b6110bf57604051636570ecab60e11b815260040160405180910390fd5b6001600160a01b03811615806110d957506110d981610889565b806110e857506110e881610b8f565b1561110657604051631a1aefc560e21b815260040160405180910390fd5b6003600154101561112a57604051636bb07db960e11b815260040160405180910390fd5b600254600090815260066020526040902060018101541580159061115757508054600160a01b900460ff16155b1561117557604051639fa6dc5760e01b815260040160405180910390fd5b600060025460016111869190613e54565b6000818152600660209081526040822080546001600160a01b0388166001600160a01b03199182161782556001808301805491820181558552928420909201805490921633179091558282526002018054929350906111e483613ca5565b9091555050600081815260066020908152604091829020805460ff60a01b1916815542600390910155600283905581513081529081018390526001600160a01b038516918101919091523360608201527f9fb4a8d051aad8866705f4d52eb05a29939e15ad43dd4aab82cf31806759eac390608001610d5d565b606060008061126b610831565b905061127881868661267c565b92509250505b9250929050565b336f71727de22e5e9d8baf0edac6f37da03214806112a257503330145b6112bf57604051635629665f60e11b815260040160405180910390fd5b600184036112d7576112d2838383612818565b61132c565b600284036112ea576112d2838383612894565b600384036112fd576112d28383836128ad565b60048403611310576112d2838383612ade565b60405163041c38b360e41b815260048101859052602401610277565b604080518581526001600160a01b03851660208201527fd21d0b289f126c4b473ea641963e766833c2f13866e4ff480abd787c100ef12391015b60405180910390a150505050565b61137d33610b8f565b8061138757503330145b6113a4576040516311d9f09160e01b815260040160405180910390fd5b600355565b6113b233610b8f565b806113bc57503330145b6113d9576040516311d9f09160e01b815260040160405180910390fd5b6001600160a01b03811615806113f357506113f381610889565b80611402575061140281610b8f565b156114205760405163053bd11560e31b815260040160405180910390fd5b61142981612b41565b604080513081526001600160a01b03831660208201527fbc3292102fa77e083913064b282926717cdfaede4d35f553d66366c0a3da755a9101610a9e565b336f71727de22e5e9d8baf0edac6f37da032148061148457503330145b6114a157604051635629665f60e11b815260040160405180910390fd5b600184036114b9576114b4838383612b73565b6114f2565b600284036114cc576114b4838383612c04565b600384036114df576114b4838383612c22565b60048403611310576114b4838383612eff565b604080518581526001600160a01b03851660208201527f341347516a9de374859dfda710fa4828b2d48cb57d4fbe4c1149612b8e02276e9101611366565b61153933610b8f565b80611548575061154833610889565b8061155257503330145b61156f576040516302d8be6160e21b815260040160405180910390fd5b60025460009081526006602052604081206003549091901561159357600354611598565b620151805b90506115bc600254600090815260066020526040902054600160a01b900460ff1690565b156115da57604051638b19dbcb60e01b815260040160405180910390fd5b60006115e533610889565b90508080156116035750428284600301546116009190613e54565b10155b156116215760405163ae18e9c760e01b815260040160405180910390fd5b825460ff60a01b1916600160a01b17835560025460408051308152602081019290925233908201527faf7f1090397448391393dc134b45d6d20e79a9d2a8f5a82fb42d1514a55ecbf990606001610d5d565b60008060608180851580611688575060025486115b156116a657604051631dc0650160e31b815260040160405180910390fd5b6000868152600660209081526040808320815160a08101835281546001600160a01b0381168252600160a01b900460ff1615158185015260018201805484518187028101870186528181529295939486019383018282801561173157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611713575b5050505050815260200160028201548152602001600382015481525050905080600001518160600151826040015183602001518460800151955095509550955095505091939590929450565b600081600881901b61179382600160f81b610855565b156117a157600192506117e4565b6117ac826000610855565b156117ba57600192506117e4565b6117cc826001600160f81b0319610855565b156117da57600192506117e4565b5060009392505050565b6117ef816000610855565b156117fd5760019250611815565b61180b81600160f81b610855565b156117da57600192505b5050919050565b60606000611828610831565b60010190506118378133612f7b565b61185657604051635c93ff2f60e11b8152336004820152602401610277565b600061186e6000805160206140888339815191525490565b90506001600160a01b038116611b2e5785600881901b61189282600160f81b610855565b1561190157863587016020810190356118ac836000610855565b156118c2576118bb8282612fb5565b96506118fa565b6118d083600160f81b610855565b156118df576118bb828261308d565b826040516308c3ee0360e11b81526004016102779190613e67565b5050611b27565b61190c826000610855565b15611a5a576000803660006119218b8b6131ba565b6040805160018082528183019092529498509296509094509250816020015b606081526020019060019003908161194057905050985060006119638682610855565b15611997576119748585858561320b565b8a60008151811061198757611987613e7c565b6020026020010181905250611a50565b6119a586600160f81b610855565b15611a35576119b685858585613241565b8b6000815181106119c9576119c9613e7c565b6020908102919091010152905080611a30577fe723f28f104e46b47fd3531f3608374ac226bcf3ddda334a23a266453e0efdb760008b600081518110611a1157611a11613e7c565b6020026020010151604051611a27929190613e92565b60405180910390a15b611a50565b856040516308c3ee0360e11b81526004016102779190613e67565b5050505050611b27565b611a6c826001600160f81b0319610855565b15611b0c576000611a80601482898b613a5d565b611a8991613a87565b60601c9050366000611a9e896014818d613a5d565b9092509050611aae846000610855565b15611ac457611abe838383613272565b50611b04565b611ad284600160f81b610855565b15611ae957611ae28383836132a6565b5050611b04565b836040516308c3ee0360e11b81526004016102779190613e67565b505050611b27565b81604051632e5bf3f960e21b81526004016102779190613e67565b5050611e6a565b604051631057c74d60e11b81526000906001600160a01b038316906320af8e9a90611b6190339085903690600401613eab565b6000604051808303816000875af1158015611b80573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611ba89190810190613ed0565b905086600881901b611bbe82600160f81b610855565b15611c125787358801602081019035611bd8836000610855565b15611bee57611be78282612fb5565b9750611c0b565b611bfc83600160f81b610855565b156118df57611be7828261308d565b5050611dda565b611c1d826000610855565b15611d4b57600080366000611c328c8c6131ba565b6040805160018082528183019092529498509296509094509250816020015b6060815260200190600190039081611c515790505099506000611c748682610855565b15611ca857611c858585858561320b565b8b600081518110611c9857611c98613e7c565b6020026020010181905250611d41565b611cb686600160f81b610855565b15611a3557611cc785858585613241565b8c600081518110611cda57611cda613e7c565b6020908102919091010152905080611d41577fe723f28f104e46b47fd3531f3608374ac226bcf3ddda334a23a266453e0efdb760008c600081518110611d2257611d22613e7c565b6020026020010151604051611d38929190613e92565b60405180910390a15b5050505050611dda565b611d5d826001600160f81b0319610855565b15611b0c576000611d716014828a8c613a5d565b611d7a91613a87565b60601c9050366000611d8f8a6014818e613a5d565b9092509050611d9f846000610855565b15611db557611daf838383613272565b50611dd6565b611dc384600160f81b610855565b15611ae957611dd38383836132a6565b50505b5050505b5050604051630b9dfbed60e11b81526001600160a01b0383169063173bf7da90611e089084906004016138e1565b6020604051808303816000875af1158015611e27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e4b9190613f3d565b611e685760405163546b3e6360e01b815260040160405180910390fd5b505b50509392505050565b336f71727de22e5e9d8baf0edac6f37da0321480611e9057503330145b611ead57604051635629665f60e11b815260040160405180910390fd5b6000611ec56000805160206140888339815191525490565b90506001600160a01b0381166120695783600881901b611ee982600160f81b610855565b15611f3c5784358501602081019035611f03836000610855565b15611f1857611f128282612fb5565b50611f35565b611f2683600160f81b610855565b156118df57611f12828261308d565b5050612062565b611f47826000610855565b15611fd357600080366000611f5c89896131ba565b9350935093509350611f7285600060f81b610855565b15611f8957611f838484848461320b565b50611fca565b611f9785600160f81b610855565b15611faf57611fa884848484613241565b5050611fca565b846040516308c3ee0360e11b81526004016102779190613e67565b50505050612062565b611fe5826001600160f81b0319610855565b15611b0c576000611ff96014828789613a5d565b61200291613a87565b60601c9050366000612017876014818b613a5d565b9092509050612027846000610855565b1561203d57612037838383613272565b5061205e565b61204b84600160f81b610855565b15611ae95761205b8383836132a6565b50505b5050505b5050611093565b604051631057c74d60e11b81526000906001600160a01b038316906320af8e9a9061209c90339085903690600401613eab565b6000604051808303816000875af11580156120bb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526120e39190810190613ed0565b905084600881901b6120f982600160f81b610855565b1561214c5785358601602081019035612113836000610855565b15612128576121228282612fb5565b50612145565b61213683600160f81b610855565b156118df57612122828261308d565b5050612253565b612157826000610855565b156121c45760008036600061216c8a8a6131ba565b935093509350935061218285600060f81b610855565b15612199576121938484848461320b565b506121bb565b6121a785600160f81b610855565b15611faf576121b884848484613241565b50505b50505050612253565b6121d6826001600160f81b0319610855565b15611b0c5760006121ea601482888a613a5d565b6121f391613a87565b60601c9050366000612208886014818c613a5d565b9092509050612218846000610855565b1561222e57612228838383613272565b5061224f565b61223c84600160f81b610855565b15611ae95761224c8383836132a6565b50505b5050505b5050604051630b9dfbed60e11b81526001600160a01b0383169063173bf7da906122819084906004016138e1565b6020604051808303816000875af11580156122a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122c49190613f3d565b6122e15760405163546b3e6360e01b815260040160405180910390fd5b5050505050565b60606000806122f5610831565b600101905061127881868661267c565b60408051606080820183526000808352602083015291810191909152612329610831565b6001600160e01b0319831660009081526002919091016020908152604091829020825160608101845281546001600160a01b0381168252600160a01b900460f81b6001600160f81b03191681840152600182018054855181860281018601875281815292959394938601938301828280156123cd57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116123af575b5050505050815250509050919050565b6000600182036123ef57506001919050565b600282036123ff57506001919050565b6003820361240f57506001919050565b6004820361241f57506001919050565b506000919050565b919050565b6000806109d984846132d5565b600080612444610831565b90506124508184612f7b565b9392505050565b600080612462610831565b60010190506124508184612f7b565b60008061247c610831565b6001600160e01b0319949094166000908152600290940160205250506040909120546001600160a01b0390811691161490565b6000816001600160a01b03166124d16000805160206140888339815191525490565b6001600160a01b03161492915050565b6001600160a01b0381166000908152600460205260408120805460ff191690558054908061250e83613f5f565b919050555050565b6000805b60008381526006602052604090206001015481101561258457600083815260066020526040902060010180543391908390811061255957612559613e7c565b6000918252602090912001546001600160a01b03160361257c5750600192915050565b60010161251a565b50600092915050565b6001546000828152600660205260408120600201549091610258916125b5906103e890613f76565b6125bf9190613f8d565b101592915050565b6001600160a01b0381166000908152600460205260408120805460ff191660011790558054908061250e83613ca5565b6000612601610831565b905061260f8160010161333b565b6126188161333b565b50565b6001600160a01b0381166000908152600560205260408120805460ff19169055600180549161264983613f5f565b9190505550612670600254600090815260066020526040902054600160a01b900460ff1690565b61261857612618611530565b606060006001600160a01b03841660011480159061269f575061269f8585612f7b565b156126c857604051637c84ecfb60e01b81526001600160a01b0385166004820152602401610277565b826000036126e95760405163f725081760e01b815260040160405180910390fd5b826001600160401b0381111561270157612701613cbe565b60405190808252806020026020018201604052801561272a578160200160208202803683370190505b506001600160a01b03808616600090815260208890526040812054929450911691505b6001600160a01b0382161580159061276f57506001600160a01b038216600114155b801561277a57508381105b156127d4578183828151811061279257612792613e7c565b6001600160a01b0392831660209182029290920181019190915292811660009081529287905260409092205490911690806127cc81613ca5565b91505061274d565b6001600160a01b03821660011461280c57826127f1600183613faf565b8151811061280157612801613e7c565b602002602001015191505b80835250935093915050565b6000612822610831565b905061282e8185613398565b6040516306d61fe760e41b81526001600160a01b03851690636d61fe709061285c9086908690600401613fc2565b600060405180830381600087803b15801561287657600080fd5b505af115801561288a573d6000803e3d6000fd5b5050505050505050565b600061289e610831565b600101905061282e8185613398565b600082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051818a01356020818102601f01601f19168301909352969750893596918a018035965090945060609350915b8181101561292f57602081028381016060013590860152600101612910565b50506040810135602081830103356060818152818385016020830137935061296592508591506001600160f81b03199050610855565b1561298357604051633accf26360e11b815260040160405180910390fd5b61298c8461346e565b156129d95760405162461bcd60e51b815260206004820152601e60248201527f46756e6374696f6e2073656c6563746f7220616c7265616479207573656400006044820152606401610277565b604080516060810182526001600160a01b038a1681526001600160f81b031985166020820152908101839052612a0d610831565b6001600160e01b0319861660009081526002919091016020908152604091829020835181548584015160f81c600160a01b026001600160a81b03199091166001600160a01b0390921691909117178155918301518051612a73926001850192019061357d565b50506040516306d61fe760e41b81526001600160a01b038a169150636d61fe7090612aa29084906004016138e1565b600060405180830381600087803b158015612abc57600080fd5b505af1158015612ad0573d6000803e3d6000fd5b505050505050505050505050565b6000612af66000805160206140888339815191525490565b90506001600160a01b03811615612b2b5760405163741cbe0360e01b81526001600160a01b0382166004820152602401610277565b61282e8460008051602061408883398151915255565b6001600160a01b0381166000908152600560205260408120805460ff1916600190811790915580549161264983613ca5565b6000612b7d610831565b9050600080612b8e84860186613fd6565b9092509050612b9e8383886134a8565b604051638a91b0e360e01b81526001600160a01b03871690638a91b0e390612bca9084906004016138e1565b600060405180830381600087803b158015612be457600080fd5b505af1158015612bf8573d6000803e3d6000fd5b50505050505050505050565b6000612c0e610831565b6001019050600080612b8e84860186613fd6565b6000612c316004828486613a5d565b612c3a91614025565b90506000612c4b8360048187613a5d565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929350612c8e925084915061346e9050565b612cda5760405162461bcd60e51b815260206004820152601a60248201527f46756e6374696f6e2073656c6563746f72206e6f7420757365640000000000006044820152606401610277565b6000612ce4610831565b6001600160e01b0319841660009081526002919091016020908152604091829020825160608101845281546001600160a01b0381168252600160a01b900460f81b6001600160f81b0319168184015260018201805485518186028101860187528181529295939493860193830182828015612d8857602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612d6a575b5050505050815250509050856001600160a01b031681600001516001600160a01b031614612e0b5760405162461bcd60e51b815260206004820152602a60248201527f46756e6374696f6e2073656c6563746f72206e6f74207573656420627920746860448201526934b9903430b7323632b960b11b6064820152608401610277565b6020810151612e22816001600160f81b0319610855565b15612e4057604051633accf26360e11b815260040160405180910390fd5b60408051600080825260808201835260208201818152928201526060810181905290612e6a610831565b6001600160e01b0319871660009081526002919091016020908152604091829020835181548584015160f81c600160a01b026001600160a81b03199091166001600160a01b0390921691909117178155918301518051612ed0926001850192019061357d565b5050604051638a91b0e360e01b81526001600160a01b038a169150638a91b0e390612aa29087906004016138e1565b612f16600060008051602061408883398151915255565b604051638a91b0e360e01b81526001600160a01b03841690638a91b0e390612f449085908590600401613fc2565b600060405180830381600087803b158015612f5e57600080fd5b505af1158015612f72573d6000803e3d6000fd5b50505050505050565b600060016001600160a01b038316148015906124505750506001600160a01b03908116600090815260209290925260409091205416151590565b606081806001600160401b03811115612fd057612fd0613cbe565b60405190808252806020026020018201604052801561300357816020015b6060815260200190600190039081612fee5790505b50915060005b81811015613085573685858381811061302457613024613e7c565b90506020028101906130369190614053565b905061305f6130486020830183613617565b602083013561305a6040850185613dfe565b61320b565b84838151811061307157613071613e7c565b602090810291909101015250600101613009565b505092915050565b606081806001600160401b038111156130a8576130a8613cbe565b6040519080825280602002602001820160405280156130db57816020015b60608152602001906001900390816130c65790505b50915060005b8181101561308557368585838181106130fc576130fc613e7c565b905060200281019061310e9190614053565b905060006131396131226020840184613617565b60208401356131346040860186613dfe565b613241565b86858151811061314b5761314b613e7c565b60209081029190910101529050806131b0577fe723f28f104e46b47fd3531f3608374ac226bcf3ddda334a23a266453e0efdb78386858151811061319157613191613e7c565b60200260200101516040516131a7929190613e92565b60405180910390a15b50506001016130e1565b60008036816131cc6014828789613a5d565b6131d591613a87565b60601c93506131e8603460148789613a5d565b6131f191614069565b92506132008560348189613a5d565b949793965094505050565b60405181838237600038838387895af1613228573d6000823e3d81fd5b3d8152602081013d6000823e3d01604052949350505050565b604051600090828482376000388483888a5af191503d8152602081013d6000823e3d81016040525094509492505050565b604051818382376000388383875af461328e573d6000823e3d81fd5b3d8152602081013d6000823e3d016040529392505050565b604051600090828482376000388483885af491503d8152602081013d6000823e3d810160405250935093915050565b81516000908190815b8181101561332d57846001600160a01b031686828151811061330257613302613e7c565b60200260200101516001600160a01b0316036133255792506001915061127e9050565b6001016132de565b506000958695509350505050565b60016000908152602082905260409020546001600160a01b031615613373576040516329e42f3360e11b815260040160405180910390fd5b60016000818152602092909252604090912080546001600160a01b0319169091179055565b6001600160a01b03811615806133b757506001600160a01b0381166001145b156133e057604051637c84ecfb60e01b81526001600160a01b0382166004820152602401610277565b6001600160a01b03818116600090815260208490526040902054161561342457604051631034f46960e21b81526001600160a01b0382166004820152602401610277565b60016000818152602093909352604080842080546001600160a01b039485168087529286208054959091166001600160a01b03199586161790559190935280549091169091179055565b600080613479610831565b6001600160e01b03199093166000908152600293909301602052505060409020546001600160a01b0316151590565b6001600160a01b03811615806134c757506001600160a01b0381166001145b156134f057604051637c84ecfb60e01b81526001600160a01b0383166004820152602401610277565b6001600160a01b0382811660009081526020859052604090205481169082161461353857604051637c84ecfb60e01b81526001600160a01b0382166004820152602401610277565b6001600160a01b0390811660008181526020949094526040808520805494841686529085208054949093166001600160a01b0319948516179092559092528154169055565b8280548282559060005260206000209081019282156135d2579160200282015b828111156135d257825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019061359d565b506135de9291506135e2565b5090565b5b808211156135de57600081556001016135e3565b6001600160a01b038116811461261857600080fd5b8035612427816135f7565b60006020828403121561362957600080fd5b8135612450816135f7565b60008083601f84011261364657600080fd5b5081356001600160401b0381111561365d57600080fd5b60208301915083602082850101111561127e57600080fd5b6000806000806060858703121561368b57600080fd5b84359350602085013561369d816135f7565b925060408501356001600160401b038111156136b857600080fd5b6136c487828801613634565b95989497509550505050565b6000806000604084860312156136e557600080fd5b8335925060208401356001600160401b0381111561370257600080fd5b61370e86828701613634565b9497909650939450505050565b6000610120828403121561372e57600080fd5b50919050565b60008060006060848603121561374957600080fd5b83356001600160401b0381111561375f57600080fd5b61376b8682870161371b565b9660208601359650604090950135949350505050565b6000806020838503121561379457600080fd5b82356001600160401b038111156137aa57600080fd5b6137b685828601613634565b90969095509350505050565b6000602082840312156137d457600080fd5b81356001600160401b038111156137ea57600080fd5b6109048482850161371b565b6000806040838503121561380957600080fd5b8235613814816135f7565b946020939093013593505050565b60008151808452602080850194506020840160005b8381101561385c5781516001600160a01b031687529582019590820190600101613837565b509495945050505050565b60408152600061387a6040830185613822565b905060018060a01b03831660208301529392505050565b60005b838110156138ac578181015183820152602001613894565b50506000910152565b600081518084526138cd816020860160208601613891565b601f01601f19169290920160200192915050565b60208152600061245060208301846138b5565b60006020828403121561390657600080fd5b5035919050565b60018060a01b038616815284602082015260a06040820152600061393460a0830186613822565b931515606083015250608001529392505050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b8281101561399f57603f1988860301845261398d8583516138b5565b94509285019290850190600101613971565b5092979650505050505050565b6001600160e01b03198116811461261857600080fd5b6000602082840312156139d457600080fd5b8135612450816139ac565b602080825282516001600160a01b0390811683830152838201516001600160f81b031916604080850191909152840151606080850152805160808501819052600093929183019190849060a08701905b80831015613a5157845184168252938501936001929092019190850190613a2f565b50979650505050505050565b60008085851115613a6d57600080fd5b83861115613a7a57600080fd5b5050820193919092039150565b6bffffffffffffffffffffffff1981358181169160148510156130855760149490940360031b84901b1690921692915050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60018060a01b0385168152836020820152606060408201526000613b0b606083018486613aba565b9695505050505050565b600060208284031215613b2757600080fd5b8151612450816139ac565b6000808335601e19843603018112613b4957600080fd5b83016020810192503590506001600160401b03811115613b6857600080fd5b80360382131561127e57600080fd5b60408152613b9860408201613b8b8561360c565b6001600160a01b03169052565b602083013560608201526000613bb16040850185613b32565b610120806080860152613bc961016086018385613aba565b9250613bd86060880188613b32565b9250603f19808786030160a0880152613bf2858584613aba565b9450608089013560c088015260a089013560e0880152610100935060c089013584880152613c2360e08a018a613b32565b9250818887030184890152613c39868483613aba565b955050613c48848a018a613b32565b9450925080878603016101408801525050613c64838383613aba565b93505050508260208301529392505050565b600060208284031215613c8857600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600060018201613cb757613cb7613c8f565b5060010190565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715613cfc57613cfc613cbe565b604052919050565b60006001600160401b03821115613d1d57613d1d613cbe565b50601f01601f191660200190565b600082601f830112613d3c57600080fd5b8135613d4f613d4a82613d04565b613cd4565b818152846020838601011115613d6457600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215613d9657600080fd5b8335613da1816135f7565b92506020840135613db1816135f7565b915060408401356001600160401b03811115613dcc57600080fd5b613dd886828701613d2b565b9150509250925092565b60008251613df4818460208701613891565b9190910192915050565b6000808335601e19843603018112613e1557600080fd5b8301803591506001600160401b03821115613e2f57600080fd5b60200191503681900382131561127e57600080fd5b8183823760009101908152919050565b8082018082111561086657610866613c8f565b6001600160f81b031991909116815260200190565b634e487b7160e01b600052603260045260246000fd5b82815260406020820152600061090460408301846138b5565b6001600160a01b03841681526040602082018190526000906109d99083018486613aba565b600060208284031215613ee257600080fd5b81516001600160401b03811115613ef857600080fd5b8201601f81018413613f0957600080fd5b8051613f17613d4a82613d04565b818152856020838501011115613f2c57600080fd5b6109d9826020830160208601613891565b600060208284031215613f4f57600080fd5b8151801515811461245057600080fd5b600081613f6e57613f6e613c8f565b506000190190565b808202811582820484141761086657610866613c8f565b600082613faa57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561086657610866613c8f565b602081526000610904602083018486613aba565b60008060408385031215613fe957600080fd5b8235613ff4816135f7565b915060208301356001600160401b0381111561400f57600080fd5b61401b85828601613d2b565b9150509250929050565b6001600160e01b031981358181169160048510156130855760049490940360031b84901b1690921692915050565b60008235605e19833603018112613df457600080fd5b8035602083101561086657600019602084900360031b1b169291505056fe36e05829dd1b9a4411d96a3549582172d7f071c1c0db5c573fcf94eb28431608a26469706673582212200e9d8fa1e71878c2dfec2573076fa2365235920bb8d728db041006fbfbfa65af64736f6c63430008170033" export const ETHERSPOT_MULTIPLE_OWNER_ECDSA_VALIDATOR_CREATECALL = - "0x4d6f64756c6172457468657273706f7457616c6c65743a437265617465323a73608060405234801561001057600080fd5b5061084f806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80636d61fe70146100675780638a91b0e31461007c578063970032031461008f578063d60b347f146100b5578063ecd05961146100f1578063f551e2ee14610105575b600080fd5b61007a6100753660046105b1565b610131565b005b61007a61008a3660046105b1565b610186565b6100a261009d3660046105f3565b61019f565b6040519081526020015b60405180910390f35b6100e16100c336600461065a565b6001600160a01b031660009081526020819052604090205460ff1690565b60405190151581526020016100ac565b6100e16100ff36600461067c565b60011490565b610118610113366004610695565b610378565b6040516001600160e01b031990911681526020016100ac565b3360009081526020819052604090205460ff1615610168576040516393360fbf60e01b815233600482015260240160405180910390fd5b5050336000908152602081905260409020805460ff19166001179055565b60405163cf9e0d0160e01b815260040160405180910390fd5b6000806101d1836020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b905060006102236101e66101008701876106ef565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525086939250506104869050565b90506001600160a01b03811615806102a057506040516317aa5fb760e11b81526001600160a01b03821660048201523390632f54bf6e90602401602060405180830381865afa15801561027a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061029e9190610736565b155b156102b057600192505050610372565b60006102bf60608701876106ef565b6102ce91600491600091610758565b6102d791610782565b905060006102e860608801886106ef565b60048181106102f9576102f96107b2565b909101356001600160f81b0319169150369050600061031b60608a018a6106ef565b610329916024908290610758565b9092509050600160f81b6001600160f81b031984161461036b576001600160f81b0319831661036b576000803660006103628686610517565b50505050505050505b5050505050505b92915050565b6000806103aa856020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b905060006103ee8286868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061048692505050565b6040516317aa5fb760e11b81526001600160a01b03821660048201529091503390632f54bf6e90602401602060405180830381865afa158015610435573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104599190610736565b156104705750630b135d3f60e11b915061047e9050565b506001600160e01b03199150505b949350505050565b60405160019083600052602083015160405260408351036104c257604083015160ff81901c601b016020526001600160ff1b03166060526104e8565b60418351036104e357606083015160001a60205260408301516060526104e8565b600091505b6020600160806000855afa5191503d61050957638baa579f6000526004601cfd5b600060605260405292915050565b60008036816105296014828789610758565b610532916107c8565b60601c9350610545603460148789610758565b61054e916107fb565b925061055d8560348189610758565b949793965094505050565b60008083601f84011261057a57600080fd5b50813567ffffffffffffffff81111561059257600080fd5b6020830191508360208285010111156105aa57600080fd5b9250929050565b600080602083850312156105c457600080fd5b823567ffffffffffffffff8111156105db57600080fd5b6105e785828601610568565b90969095509350505050565b6000806040838503121561060657600080fd5b823567ffffffffffffffff81111561061d57600080fd5b8301610120818603121561063057600080fd5b946020939093013593505050565b80356001600160a01b038116811461065557600080fd5b919050565b60006020828403121561066c57600080fd5b6106758261063e565b9392505050565b60006020828403121561068e57600080fd5b5035919050565b600080600080606085870312156106ab57600080fd5b6106b48561063e565b935060208501359250604085013567ffffffffffffffff8111156106d757600080fd5b6106e387828801610568565b95989497509550505050565b6000808335601e1984360301811261070657600080fd5b83018035915067ffffffffffffffff82111561072157600080fd5b6020019150368190038213156105aa57600080fd5b60006020828403121561074857600080fd5b8151801515811461067557600080fd5b6000808585111561076857600080fd5b8386111561077557600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156107aa5780818660040360031b1b83161692505b505092915050565b634e487b7160e01b600052603260045260246000fd5b6bffffffffffffffffffffffff1981358181169160148510156107aa5760149490940360031b84901b1690921692915050565b8035602083101561037257600019602084900360031b1b169291505056fea2646970667358221220613cd09fb7b3c869af22364106c48b5bbd81fe2de0a8aa16cf18496adc9e65b564736f6c63430008170033" + "0x4d6f64756c6172457468657273706f7457616c6c65743a437265617465323a73608060405234801561001057600080fd5b50610913806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80636d61fe70146100675780638a91b0e31461007c578063970032031461008f578063d60b347f146100b5578063ecd05961146100f1578063f551e2ee14610105575b600080fd5b61007a610075366004610675565b610131565b005b61007a61008a366004610675565b610186565b6100a261009d3660046106b7565b61019f565b6040519081526020015b60405180910390f35b6100e16100c336600461071e565b6001600160a01b031660009081526020819052604090205460ff1690565b60405190151581526020016100ac565b6100e16100ff366004610740565b60011490565b610118610113366004610759565b610378565b6040516001600160e01b031990911681526020016100ac565b3360009081526020819052604090205460ff1615610168576040516393360fbf60e01b815233600482015260240160405180910390fd5b5050336000908152602081905260409020805460ff19166001179055565b60405163cf9e0d0160e01b815260040160405180910390fd5b6000806101d1836020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b905060006102236101e66101008701876107b3565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250869392505061054a9050565b90506001600160a01b03811615806102a057506040516317aa5fb760e11b81526001600160a01b03821660048201523390632f54bf6e90602401602060405180830381865afa15801561027a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061029e91906107fa565b155b156102b057600192505050610372565b60006102bf60608701876107b3565b6102ce9160049160009161081c565b6102d791610846565b905060006102e860608801886107b3565b60048181106102f9576102f9610876565b909101356001600160f81b0319169150369050600061031b60608a018a6107b3565b61032991602490829061081c565b9092509050600160f81b6001600160f81b031984161461036b576001600160f81b0319831661036b5760008036600061036286866105db565b50505050505050505b5050505050505b92915050565b6000806103bb8585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061054a92505050565b6040516317aa5fb760e11b81526001600160a01b03821660048201529091503390632f54bf6e90602401602060405180830381865afa158015610402573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061042691906107fa565b1561043b5750630b135d3f60e11b9050610542565b600061046c866020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b905060006104b08287878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061054a92505050565b6040516317aa5fb760e11b81526001600160a01b03821660048201529091503390632f54bf6e90602401602060405180830381865afa1580156104f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051b91906107fa565b156105335750630b135d3f60e11b9250610542915050565b506001600160e01b0319925050505b949350505050565b604051600190836000526020830151604052604083510361058657604083015160ff81901c601b016020526001600160ff1b03166060526105ac565b60418351036105a757606083015160001a60205260408301516060526105ac565b600091505b6020600160806000855afa5191503d6105cd57638baa579f6000526004601cfd5b600060605260405292915050565b60008036816105ed601482878961081c565b6105f69161088c565b60601c935061060960346014878961081c565b610612916108bf565b9250610621856034818961081c565b949793965094505050565b60008083601f84011261063e57600080fd5b50813567ffffffffffffffff81111561065657600080fd5b60208301915083602082850101111561066e57600080fd5b9250929050565b6000806020838503121561068857600080fd5b823567ffffffffffffffff81111561069f57600080fd5b6106ab8582860161062c565b90969095509350505050565b600080604083850312156106ca57600080fd5b823567ffffffffffffffff8111156106e157600080fd5b830161012081860312156106f457600080fd5b946020939093013593505050565b80356001600160a01b038116811461071957600080fd5b919050565b60006020828403121561073057600080fd5b61073982610702565b9392505050565b60006020828403121561075257600080fd5b5035919050565b6000806000806060858703121561076f57600080fd5b61077885610702565b935060208501359250604085013567ffffffffffffffff81111561079b57600080fd5b6107a78782880161062c565b95989497509550505050565b6000808335601e198436030181126107ca57600080fd5b83018035915067ffffffffffffffff8211156107e557600080fd5b60200191503681900382131561066e57600080fd5b60006020828403121561080c57600080fd5b8151801515811461073957600080fd5b6000808585111561082c57600080fd5b8386111561083957600080fd5b5050820193919092039150565b6001600160e01b0319813581811691600485101561086e5780818660040360031b1b83161692505b505092915050565b634e487b7160e01b600052603260045260246000fd5b6bffffffffffffffffffffffff19813581811691601485101561086e5760149490940360031b84901b1690921692915050565b8035602083101561037257600019602084900360031b1b169291505056fea2646970667358221220ed45a582ab732fd1a5496abbc58167d0722da71b4da36fb4e742bcd589641d3264736f6c63430008170033" export const ETHERSPOT_WALLET_FACTORY_CREATECALL = "0x4d6f64756c6172457468657273706f7457616c6c65743a437265617465323a7360a060405234801561001057600080fd5b50604051610b0e380380610b0e83398101604081905261002f916100a4565b806100398161004c565b50506001600160a01b03166080526100d7565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b80516001600160a01b038116811461009f57600080fd5b919050565b600080604083850312156100b757600080fd5b6100c083610088565b91506100ce60208401610088565b90509250929050565b608051610a0e6101006000396000818161016c0152818161050401526105b30152610a0e6000f3fe6080604052600436106100dd5760003560e01c80638da5cb5b1161007f578063f04e283e11610059578063f04e283e14610207578063f2fde38b1461021a578063f8a593701461022d578063fee81cf41461024057600080fd5b80638da5cb5b146101ae578063b36f9705146101c7578063d959fd0e146101e757600080fd5b806354d1f13d116100bb57806354d1f13d1461011f57806356c717f5146101275780635c60da1b1461015a578063715018a6146101a657600080fd5b806325692962146100e257806345171159146100ec5780634a1ce599146100ff575b600080fd5b6100ea610273565b005b6100ea6100fa36600461087f565b6102c3565b34801561010b57600080fd5b506100ea61011a3660046108c1565b610356565b6100ea6103db565b34801561013357600080fd5b506101476101423660046108e5565b610417565b6040519081526020015b60405180910390f35b34801561016657600080fd5b5061018e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610151565b6100ea61044d565b3480156101ba57600080fd5b50638b78c6d8195461018e565b3480156101d357600080fd5b506100ea6101e2366004610961565b610461565b3480156101f357600080fd5b5061018e6102023660046108e5565b6104ef565b6100ea6102153660046108c1565b610533565b6100ea6102283660046108c1565b610573565b61018e61023b3660046108e5565b61059a565b34801561024c57600080fd5b5061014761025b3660046108c1565b63389a75e1600c908152600091909152602090205490565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6102cb610682565b6001600160a01b0382166102f2576040516301650c7760e51b815260040160405180910390fd5b604051621cb65b60e51b815263ffffffff821660048201526001600160a01b03831690630396cb609034906024016000604051808303818588803b15801561033957600080fd5b505af115801561034d573d6000803e3d6000fd5b50505050505050565b61035e610682565b6001600160a01b038116610385576040516301650c7760e51b815260040160405180910390fd5b806001600160a01b031663bb9fe6bf6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156103c057600080fd5b505af11580156103d4573d6000803e3d6000fd5b5050505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b600083838360405160200161042e9392919061098f565b6040516020818303038152906040528051906020012090509392505050565b610455610682565b61045f600061069d565b565b610469610682565b6001600160a01b038216610490576040516301650c7760e51b815260040160405180910390fd5b60405163611d2e7560e11b81526001600160a01b03828116600483015283169063c23a5cea90602401600060405180830381600087803b1580156104d357600080fd5b505af11580156104e7573d6000803e3d6000fd5b505050505050565b6000806104fd858585610417565b905061052a7f000000000000000000000000000000000000000000000000000000000000000082306106db565b95945050505050565b61053b610682565b63389a75e1600c52806000526020600c20805442111561056357636f5e88186000526004601cfd5b600090556105708161069d565b50565b61057b610682565b8060601b61059157637448fbae6000526004601cfd5b6105708161069d565b6000806105a8858585610417565b90506000806105d8347f000000000000000000000000000000000000000000000000000000000000000085610764565b915091508161067857604051634b6a141960e01b81526001600160a01b03821690634b6a14199061060f90899089906004016109a9565b600060405180830381600087803b15801561062957600080fd5b505af115801561063d573d6000803e3d6000fd5b50506040513392506001600160a01b03841691507f1637bbe505dfa57dd508725e4a807eafc818ed7f588e2bae3e57f195ea53ad7090600090a35b9695505050505050565b638b78c6d81954331461045f576382b429006000526004601cfd5b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008061075785604080517fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f360609081527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e20768352616009602052601e9390935268603d3d8160223d3973600a52605f6021209152600090915290565b905061052a818585610848565b6000806040517fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e207660405261600960205284601e5268603d3d8160223d3973600a52605f60212060358201523060581b815260ff8153836015820152605581209150813b6108105783605f602188f591508161080b5763301164256000526004601cfd5b610836565b6001925085156108365760003860003889865af16108365763b12d13eb6000526004601cfd5b80604052506000606052935093915050565b600060ff60005350603592835260601b60015260155260556000908120915290565b6001600160a01b038116811461057057600080fd5b6000806040838503121561089257600080fd5b823561089d8161086a565b9150602083013563ffffffff811681146108b657600080fd5b809150509250929050565b6000602082840312156108d357600080fd5b81356108de8161086a565b9392505050565b6000806000604084860312156108fa57600080fd5b83359250602084013567ffffffffffffffff8082111561091957600080fd5b818601915086601f83011261092d57600080fd5b81358181111561093c57600080fd5b87602082850101111561094e57600080fd5b6020830194508093505050509250925092565b6000806040838503121561097457600080fd5b823561097f8161086a565b915060208301356108b68161086a565b838152818360208301376000910160200190815292915050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f1916010191905056fea26469706673582212204c4bf9d68187fb7cd2fde5d6423e331a1970029a223f4658090d1ff58ff83f7964736f6c63430008170033000000000000000000000000202a5598bdba2ce62bffa13ecccb04969719fad900000000000000000000000009fd4f6088f2025427ab1e89257a44747081ed59" diff --git a/packages/permissionless-test/mock-aa-infra/alto/index.ts b/packages/permissionless-test/mock-aa-infra/alto/index.ts index f0948e7f..c8ab2574 100644 --- a/packages/permissionless-test/mock-aa-infra/alto/index.ts +++ b/packages/permissionless-test/mock-aa-infra/alto/index.ts @@ -499,7 +499,7 @@ export const setupContracts = async (rpc: string) => { "0xc98B026383885F41d9a995f85FC480E9bb8bB891", // ERC7579 Test Module "0x93FB56A4a0B7160fbf8903d251Cc7A3fb9bA0933", // Etherspot Factory "0x1baCB2F1ef4fD02f02e32cCF70888D9Caeb5f066", // Etherspot Bootstrap - "0x8c4496Ba340aFe5ac4148cfEA9ccbBCD54093143", // Etherspot Multiple Owner ECDSA Validator + "0x0261c9625d598c91188969537e6f01e13b466553", // Etherspot Multiple Owner ECDSA Validator "0x202A5598bDba2cE62bFfA13EcccB04969719Fad9" // Etherspot implementation ]) } diff --git a/packages/permissionless/accounts/etherspot/constants.ts b/packages/permissionless/accounts/etherspot/constants.ts index f7ea2e80..ffcd4a59 100644 --- a/packages/permissionless/accounts/etherspot/constants.ts +++ b/packages/permissionless/accounts/etherspot/constants.ts @@ -35,5 +35,5 @@ export type NetworkAddresses = { export const DEFAULT_CONTRACT_ADDRESS: NetworkAddresses = { metaFactoryAddress: "0x93FB56A4a0B7160fbf8903d251Cc7A3fb9bA0933", // modularEtherspotWalletFactory bootstrapAddress: "0x1baCB2F1ef4fD02f02e32cCF70888D9Caeb5f066", - validatorAddress: "0x8c4496Ba340aFe5ac4148cfEA9ccbBCD54093143" // multipleOwnerECDSAValidator + validatorAddress: "0x0261c9625d598c91188969537e6f01e13b466553" // multipleOwnerECDSAValidator } From f74414b9e11054eb8350093f4ecb8cd4722be380 Mon Sep 17 00:00:00 2001 From: Sulpiride Date: Thu, 12 Dec 2024 14:51:46 +0500 Subject: [PATCH 06/13] update etherspot contracts --- packages/permissionless-test/mock-aa-infra/alto/constants.ts | 2 +- packages/permissionless-test/mock-aa-infra/alto/index.ts | 2 +- packages/permissionless/accounts/etherspot/constants.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/permissionless-test/mock-aa-infra/alto/constants.ts b/packages/permissionless-test/mock-aa-infra/alto/constants.ts index 9e338e6e..11244096 100644 --- a/packages/permissionless-test/mock-aa-infra/alto/constants.ts +++ b/packages/permissionless-test/mock-aa-infra/alto/constants.ts @@ -172,7 +172,7 @@ export const ETHERSPOT_IMPLEMENTATION = "0x4d6f64756c6172457468657273706f7457616c6c65743a437265617465323a7360a06040523060805234801561001457600080fd5b506080516140dd610037600039600081816104ca0152610d7401526140dd6000f3fe6080604052600436106101f25760003560e01c80637dcab4ce1161010d578063bf57159b116100a0578063d691c9641161006f578063d691c964146106de578063e9ae5c53146106fe578063ea5f61d014610711578063eac9b20d14610731578063f2dc691d1461075e576101f9565b8063bf57159b14610662578063c3db883814610678578063c7f758a81461068d578063d03c7914146106be576101f9565b8063a1c0d459116100dc578063a1c0d459146105ec578063a526d83b1461060c578063a71763a81461062c578063b0d691fe1461063f576101f9565b80637dcab4ce1461053f578063855713681461055f5780639517e29f1461058d5780639cfd7cff146105a0576101f9565b80632f54bf6e116101855780635c60da1b116101545780635c60da1b146104b85780637065cb48146104ec578063714041561461050c57806372aea6541461052c576101f9565b80632f54bf6e1461045a57806341c9ddff1461047a5780634b6a14191461048f57806354387ad7146104a2576101f9565b80631626ba7e116101c15780631626ba7e146103d8578063173825d91461041157806319822f7c146104315780632dfca44514610444576101f9565b80630a664dba146103325780630c68ba21146103645780630db0262214610394578063112d3a7d146103b8576101f9565b366101f957005b61020e6000356001600160e01b03191661077e565b6000610218610831565b600080356001600160e01b03191681526002919091016020526040902080549091506001600160a01b03811690600160a01b900460f81b8161028057604051632464e76d60e11b81526001600160e01b03196000351660048201526024015b60405180910390fd5b61028e81607f60f91b610855565b156102e25760408051368101909152366000823760408051601481019091523360601b90526000803660140183865afa90506102d03d60408051918201905290565b3d6000823e816102de573d81fd5b3d81f35b6102ed816000610855565b156103305760408051368101909152366000823760408051601481019091523360601b9052600080366014018382875af190506102d03d60408051918201905290565b005b34801561033e57600080fd5b5061034761086c565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561037057600080fd5b5061038461037f366004613617565b610889565b604051901515815260200161035b565b3480156103a057600080fd5b506103aa60005481565b60405190815260200161035b565b3480156103c457600080fd5b506103846103d3366004613675565b6108a7565b3480156103e457600080fd5b506103f86103f33660046136d0565b61090c565b6040516001600160e01b0319909116815260200161035b565b34801561041d57600080fd5b5061033061042c366004613617565b6109e2565b6103aa61043f366004613734565b610aa9565b34801561045057600080fd5b506103aa60025481565b34801561046657600080fd5b50610384610475366004613617565b610b8f565b34801561048657600080fd5b50610330610bad565b61033061049d366004613781565b610d6a565b3480156104ae57600080fd5b506103aa60015481565b3480156104c457600080fd5b506103477f000000000000000000000000000000000000000000000000000000000000000081565b3480156104f857600080fd5b50610330610507366004613617565b610e5e565b34801561051857600080fd5b50610330610527366004613617565b610f1c565b61033061053a3660046137c2565b610fb9565b34801561054b57600080fd5b5061033061055a366004613617565b611099565b34801561056b57600080fd5b5061057f61057a3660046137f6565b61125e565b60405161035b929190613867565b61033061059b366004613675565b611285565b3480156105ac57600080fd5b50604080518082018252601e81527f657468657273706f7477616c6c65742e6d6f64756c61722e76312e302e3000006020820152905161035b91906138e1565b3480156105f857600080fd5b506103306106073660046138f4565b611374565b34801561061857600080fd5b50610330610627366004613617565b6113a9565b61033061063a366004613675565b611467565b34801561064b57600080fd5b506f71727de22e5e9d8baf0edac6f37da032610347565b34801561066e57600080fd5b506103aa60035481565b34801561068457600080fd5b50610330611530565b34801561069957600080fd5b506106ad6106a83660046138f4565b611673565b60405161035b95949392919061390d565b3480156106ca57600080fd5b506103846106d93660046138f4565b61177d565b6106f16106ec3660046136d0565b61181c565b60405161035b9190613948565b61033061070c3660046136d0565b611e73565b34801561071d57600080fd5b5061057f61072c3660046137f6565b6122e8565b34801561073d57600080fd5b5061075161074c3660046139c2565b612305565b60405161035b91906139df565b34801561076a57600080fd5b506103846107793660046138f4565b6123dd565b6000610788610831565b6001600160e01b0319831660009081526002919091016020908152604091829020600101805483518184028101840190945280845290918301828280156107f857602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116107da575b50505050509050610809813361242c565b151560000361082d576040516332cf492b60e11b8152336004820152602401610277565b5050565b7ff88ce1fdb7fb1cbd3282e49729100fa3f2d6ee9f797961fe4fb1871cea89ea0290565b6001600160f81b0319828116908216145b92915050565b60006108846000805160206140888339815191525490565b905090565b6001600160a01b031660009081526005602052604090205460ff1690565b6000600185036108c1576108ba84612439565b9050610904565b600285036108d2576108ba84612457565b600385036108ef576108ba6108e9838501856139c2565b85612471565b60048503610900576108ba846124af565b5060005b949350505050565b60008061091c6014828587613a5d565b61092591613a87565b60601c905061093381612439565b61095b57604051635c93ff2f60e11b81526001600160a01b0382166004820152602401610277565b6001600160a01b03811663f551e2ee3387610979876014818b613a5d565b6040518563ffffffff1660e01b81526004016109989493929190613ae3565b602060405180830381865afa1580156109b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d99190613b15565b95945050505050565b6109eb33610b8f565b806109f557503330145b610a12576040516311d9f09160e01b815260040160405180910390fd5b610a1b81610b8f565b610a385760405163f1369ccb60e01b815260040160405180910390fd5b600160005411610a5b5760405163021870b960e11b815260040160405180910390fd5b610a64816124e1565b604080513081526001600160a01b03831660208201527fe594d081b4382713733fe631966432c9cea5199afb2db5c3c1931f9f9300367991015b60405180910390a150565b6000336f71727de22e5e9d8baf0edac6f37da03214610adb57604051635629665f60e11b815260040160405180910390fd5b816020850135606081901c90610af082612439565b610aff57600193505050610b75565b604051639700320360e01b81526001600160a01b03831690639700320390610b2d908a908a90600401613b77565b6020604051808303816000875af1158015610b4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b709190613c76565b935050505b8015610b875760003860003884335af1505b509392505050565b6001600160a01b031660009081526004602052604090205460ff1690565b610bb633610889565b610bd357604051636570ecab60e11b815260040160405180910390fd5b600254600081815260066020526040812090829003610c0557604051631dc0650160e31b815260040160405180910390fd5b610c0e82612516565b15610c2c576040516320181a3560e21b815260040160405180910390fd5b610c4e600254600090815260066020526040902054600160a01b900460ff1690565b15610c6c57604051638b19dbcb60e01b815260040160405180910390fd5b60008281526006602090815260408220600180820180549182018155845291832090910180546001600160a01b03191633179055838252600201805491610cb283613ca5565b909155505080546001600160a01b0316610ccb8361258d565b15610cfd576000838152600660205260409020805460ff60a01b1916600160a01b179055610cf8816125c7565b505050565b6000838152600660209081526040918290206002015482513081529182018690526001600160a01b0384169282019290925260608101919091527f7afa94f51443879f537b9be4f09d5d734c2c233b788d2f6af6565add34706bab906080015b60405180910390a1505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610db3576040516308e3edd160e41b815260040160405180910390fd5b610dbb6125f7565b60008080610dcb84860186613d81565b925092509250610dda836125c7565b6000826001600160a01b031682604051610df49190613de2565b600060405180830381855af49150503d8060008114610e2f576040519150601f19603f3d011682016040523d82523d6000602084013e610e34565b606091505b5050905080610e5657604051631b79777760e11b815260040160405180910390fd5b505050505050565b610e6733610b8f565b80610e7157503330145b610e8e576040516311d9f09160e01b815260040160405180910390fd5b6001600160a01b0381161580610ea85750610ea881610889565b80610eb75750610eb781610b8f565b15610ed557604051631a1aefc560e21b815260040160405180910390fd5b610ede816125c7565b604080513081526001600160a01b03831660208201527fc82bdbbf677a2462f2a7e22e4ba9abd209496b69cd7b868b3b1d28f76e09a40a9101610a9e565b610f2533610b8f565b80610f2f57503330145b610f4c576040516311d9f09160e01b815260040160405180910390fd5b610f5581610889565b610f725760405163985f453960e01b815260040160405180910390fd5b610f7b8161261b565b604080513081526001600160a01b03831660208201527fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b9101610a9e565b336f71727de22e5e9d8baf0edac6f37da0321480610fd657503330145b610ff357604051635629665f60e11b815260040160405180910390fd5b3660006110036060840184613dfe565b611011916004908290613a5d565b915091506000306001600160a01b03168383604051611031929190613e44565b600060405180830381855af49150503d806000811461106c576040519150601f19603f3d011682016040523d82523d6000602084013e611071565b606091505b505090508061109357604051632b3f6d1160e21b815260040160405180910390fd5b50505050565b6110a233610889565b6110bf57604051636570ecab60e11b815260040160405180910390fd5b6001600160a01b03811615806110d957506110d981610889565b806110e857506110e881610b8f565b1561110657604051631a1aefc560e21b815260040160405180910390fd5b6003600154101561112a57604051636bb07db960e11b815260040160405180910390fd5b600254600090815260066020526040902060018101541580159061115757508054600160a01b900460ff16155b1561117557604051639fa6dc5760e01b815260040160405180910390fd5b600060025460016111869190613e54565b6000818152600660209081526040822080546001600160a01b0388166001600160a01b03199182161782556001808301805491820181558552928420909201805490921633179091558282526002018054929350906111e483613ca5565b9091555050600081815260066020908152604091829020805460ff60a01b1916815542600390910155600283905581513081529081018390526001600160a01b038516918101919091523360608201527f9fb4a8d051aad8866705f4d52eb05a29939e15ad43dd4aab82cf31806759eac390608001610d5d565b606060008061126b610831565b905061127881868661267c565b92509250505b9250929050565b336f71727de22e5e9d8baf0edac6f37da03214806112a257503330145b6112bf57604051635629665f60e11b815260040160405180910390fd5b600184036112d7576112d2838383612818565b61132c565b600284036112ea576112d2838383612894565b600384036112fd576112d28383836128ad565b60048403611310576112d2838383612ade565b60405163041c38b360e41b815260048101859052602401610277565b604080518581526001600160a01b03851660208201527fd21d0b289f126c4b473ea641963e766833c2f13866e4ff480abd787c100ef12391015b60405180910390a150505050565b61137d33610b8f565b8061138757503330145b6113a4576040516311d9f09160e01b815260040160405180910390fd5b600355565b6113b233610b8f565b806113bc57503330145b6113d9576040516311d9f09160e01b815260040160405180910390fd5b6001600160a01b03811615806113f357506113f381610889565b80611402575061140281610b8f565b156114205760405163053bd11560e31b815260040160405180910390fd5b61142981612b41565b604080513081526001600160a01b03831660208201527fbc3292102fa77e083913064b282926717cdfaede4d35f553d66366c0a3da755a9101610a9e565b336f71727de22e5e9d8baf0edac6f37da032148061148457503330145b6114a157604051635629665f60e11b815260040160405180910390fd5b600184036114b9576114b4838383612b73565b6114f2565b600284036114cc576114b4838383612c04565b600384036114df576114b4838383612c22565b60048403611310576114b4838383612eff565b604080518581526001600160a01b03851660208201527f341347516a9de374859dfda710fa4828b2d48cb57d4fbe4c1149612b8e02276e9101611366565b61153933610b8f565b80611548575061154833610889565b8061155257503330145b61156f576040516302d8be6160e21b815260040160405180910390fd5b60025460009081526006602052604081206003549091901561159357600354611598565b620151805b90506115bc600254600090815260066020526040902054600160a01b900460ff1690565b156115da57604051638b19dbcb60e01b815260040160405180910390fd5b60006115e533610889565b90508080156116035750428284600301546116009190613e54565b10155b156116215760405163ae18e9c760e01b815260040160405180910390fd5b825460ff60a01b1916600160a01b17835560025460408051308152602081019290925233908201527faf7f1090397448391393dc134b45d6d20e79a9d2a8f5a82fb42d1514a55ecbf990606001610d5d565b60008060608180851580611688575060025486115b156116a657604051631dc0650160e31b815260040160405180910390fd5b6000868152600660209081526040808320815160a08101835281546001600160a01b0381168252600160a01b900460ff1615158185015260018201805484518187028101870186528181529295939486019383018282801561173157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611713575b5050505050815260200160028201548152602001600382015481525050905080600001518160600151826040015183602001518460800151955095509550955095505091939590929450565b600081600881901b61179382600160f81b610855565b156117a157600192506117e4565b6117ac826000610855565b156117ba57600192506117e4565b6117cc826001600160f81b0319610855565b156117da57600192506117e4565b5060009392505050565b6117ef816000610855565b156117fd5760019250611815565b61180b81600160f81b610855565b156117da57600192505b5050919050565b60606000611828610831565b60010190506118378133612f7b565b61185657604051635c93ff2f60e11b8152336004820152602401610277565b600061186e6000805160206140888339815191525490565b90506001600160a01b038116611b2e5785600881901b61189282600160f81b610855565b1561190157863587016020810190356118ac836000610855565b156118c2576118bb8282612fb5565b96506118fa565b6118d083600160f81b610855565b156118df576118bb828261308d565b826040516308c3ee0360e11b81526004016102779190613e67565b5050611b27565b61190c826000610855565b15611a5a576000803660006119218b8b6131ba565b6040805160018082528183019092529498509296509094509250816020015b606081526020019060019003908161194057905050985060006119638682610855565b15611997576119748585858561320b565b8a60008151811061198757611987613e7c565b6020026020010181905250611a50565b6119a586600160f81b610855565b15611a35576119b685858585613241565b8b6000815181106119c9576119c9613e7c565b6020908102919091010152905080611a30577fe723f28f104e46b47fd3531f3608374ac226bcf3ddda334a23a266453e0efdb760008b600081518110611a1157611a11613e7c565b6020026020010151604051611a27929190613e92565b60405180910390a15b611a50565b856040516308c3ee0360e11b81526004016102779190613e67565b5050505050611b27565b611a6c826001600160f81b0319610855565b15611b0c576000611a80601482898b613a5d565b611a8991613a87565b60601c9050366000611a9e896014818d613a5d565b9092509050611aae846000610855565b15611ac457611abe838383613272565b50611b04565b611ad284600160f81b610855565b15611ae957611ae28383836132a6565b5050611b04565b836040516308c3ee0360e11b81526004016102779190613e67565b505050611b27565b81604051632e5bf3f960e21b81526004016102779190613e67565b5050611e6a565b604051631057c74d60e11b81526000906001600160a01b038316906320af8e9a90611b6190339085903690600401613eab565b6000604051808303816000875af1158015611b80573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611ba89190810190613ed0565b905086600881901b611bbe82600160f81b610855565b15611c125787358801602081019035611bd8836000610855565b15611bee57611be78282612fb5565b9750611c0b565b611bfc83600160f81b610855565b156118df57611be7828261308d565b5050611dda565b611c1d826000610855565b15611d4b57600080366000611c328c8c6131ba565b6040805160018082528183019092529498509296509094509250816020015b6060815260200190600190039081611c515790505099506000611c748682610855565b15611ca857611c858585858561320b565b8b600081518110611c9857611c98613e7c565b6020026020010181905250611d41565b611cb686600160f81b610855565b15611a3557611cc785858585613241565b8c600081518110611cda57611cda613e7c565b6020908102919091010152905080611d41577fe723f28f104e46b47fd3531f3608374ac226bcf3ddda334a23a266453e0efdb760008c600081518110611d2257611d22613e7c565b6020026020010151604051611d38929190613e92565b60405180910390a15b5050505050611dda565b611d5d826001600160f81b0319610855565b15611b0c576000611d716014828a8c613a5d565b611d7a91613a87565b60601c9050366000611d8f8a6014818e613a5d565b9092509050611d9f846000610855565b15611db557611daf838383613272565b50611dd6565b611dc384600160f81b610855565b15611ae957611dd38383836132a6565b50505b5050505b5050604051630b9dfbed60e11b81526001600160a01b0383169063173bf7da90611e089084906004016138e1565b6020604051808303816000875af1158015611e27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e4b9190613f3d565b611e685760405163546b3e6360e01b815260040160405180910390fd5b505b50509392505050565b336f71727de22e5e9d8baf0edac6f37da0321480611e9057503330145b611ead57604051635629665f60e11b815260040160405180910390fd5b6000611ec56000805160206140888339815191525490565b90506001600160a01b0381166120695783600881901b611ee982600160f81b610855565b15611f3c5784358501602081019035611f03836000610855565b15611f1857611f128282612fb5565b50611f35565b611f2683600160f81b610855565b156118df57611f12828261308d565b5050612062565b611f47826000610855565b15611fd357600080366000611f5c89896131ba565b9350935093509350611f7285600060f81b610855565b15611f8957611f838484848461320b565b50611fca565b611f9785600160f81b610855565b15611faf57611fa884848484613241565b5050611fca565b846040516308c3ee0360e11b81526004016102779190613e67565b50505050612062565b611fe5826001600160f81b0319610855565b15611b0c576000611ff96014828789613a5d565b61200291613a87565b60601c9050366000612017876014818b613a5d565b9092509050612027846000610855565b1561203d57612037838383613272565b5061205e565b61204b84600160f81b610855565b15611ae95761205b8383836132a6565b50505b5050505b5050611093565b604051631057c74d60e11b81526000906001600160a01b038316906320af8e9a9061209c90339085903690600401613eab565b6000604051808303816000875af11580156120bb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526120e39190810190613ed0565b905084600881901b6120f982600160f81b610855565b1561214c5785358601602081019035612113836000610855565b15612128576121228282612fb5565b50612145565b61213683600160f81b610855565b156118df57612122828261308d565b5050612253565b612157826000610855565b156121c45760008036600061216c8a8a6131ba565b935093509350935061218285600060f81b610855565b15612199576121938484848461320b565b506121bb565b6121a785600160f81b610855565b15611faf576121b884848484613241565b50505b50505050612253565b6121d6826001600160f81b0319610855565b15611b0c5760006121ea601482888a613a5d565b6121f391613a87565b60601c9050366000612208886014818c613a5d565b9092509050612218846000610855565b1561222e57612228838383613272565b5061224f565b61223c84600160f81b610855565b15611ae95761224c8383836132a6565b50505b5050505b5050604051630b9dfbed60e11b81526001600160a01b0383169063173bf7da906122819084906004016138e1565b6020604051808303816000875af11580156122a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122c49190613f3d565b6122e15760405163546b3e6360e01b815260040160405180910390fd5b5050505050565b60606000806122f5610831565b600101905061127881868661267c565b60408051606080820183526000808352602083015291810191909152612329610831565b6001600160e01b0319831660009081526002919091016020908152604091829020825160608101845281546001600160a01b0381168252600160a01b900460f81b6001600160f81b03191681840152600182018054855181860281018601875281815292959394938601938301828280156123cd57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116123af575b5050505050815250509050919050565b6000600182036123ef57506001919050565b600282036123ff57506001919050565b6003820361240f57506001919050565b6004820361241f57506001919050565b506000919050565b919050565b6000806109d984846132d5565b600080612444610831565b90506124508184612f7b565b9392505050565b600080612462610831565b60010190506124508184612f7b565b60008061247c610831565b6001600160e01b0319949094166000908152600290940160205250506040909120546001600160a01b0390811691161490565b6000816001600160a01b03166124d16000805160206140888339815191525490565b6001600160a01b03161492915050565b6001600160a01b0381166000908152600460205260408120805460ff191690558054908061250e83613f5f565b919050555050565b6000805b60008381526006602052604090206001015481101561258457600083815260066020526040902060010180543391908390811061255957612559613e7c565b6000918252602090912001546001600160a01b03160361257c5750600192915050565b60010161251a565b50600092915050565b6001546000828152600660205260408120600201549091610258916125b5906103e890613f76565b6125bf9190613f8d565b101592915050565b6001600160a01b0381166000908152600460205260408120805460ff191660011790558054908061250e83613ca5565b6000612601610831565b905061260f8160010161333b565b6126188161333b565b50565b6001600160a01b0381166000908152600560205260408120805460ff19169055600180549161264983613f5f565b9190505550612670600254600090815260066020526040902054600160a01b900460ff1690565b61261857612618611530565b606060006001600160a01b03841660011480159061269f575061269f8585612f7b565b156126c857604051637c84ecfb60e01b81526001600160a01b0385166004820152602401610277565b826000036126e95760405163f725081760e01b815260040160405180910390fd5b826001600160401b0381111561270157612701613cbe565b60405190808252806020026020018201604052801561272a578160200160208202803683370190505b506001600160a01b03808616600090815260208890526040812054929450911691505b6001600160a01b0382161580159061276f57506001600160a01b038216600114155b801561277a57508381105b156127d4578183828151811061279257612792613e7c565b6001600160a01b0392831660209182029290920181019190915292811660009081529287905260409092205490911690806127cc81613ca5565b91505061274d565b6001600160a01b03821660011461280c57826127f1600183613faf565b8151811061280157612801613e7c565b602002602001015191505b80835250935093915050565b6000612822610831565b905061282e8185613398565b6040516306d61fe760e41b81526001600160a01b03851690636d61fe709061285c9086908690600401613fc2565b600060405180830381600087803b15801561287657600080fd5b505af115801561288a573d6000803e3d6000fd5b5050505050505050565b600061289e610831565b600101905061282e8185613398565b600082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051818a01356020818102601f01601f19168301909352969750893596918a018035965090945060609350915b8181101561292f57602081028381016060013590860152600101612910565b50506040810135602081830103356060818152818385016020830137935061296592508591506001600160f81b03199050610855565b1561298357604051633accf26360e11b815260040160405180910390fd5b61298c8461346e565b156129d95760405162461bcd60e51b815260206004820152601e60248201527f46756e6374696f6e2073656c6563746f7220616c7265616479207573656400006044820152606401610277565b604080516060810182526001600160a01b038a1681526001600160f81b031985166020820152908101839052612a0d610831565b6001600160e01b0319861660009081526002919091016020908152604091829020835181548584015160f81c600160a01b026001600160a81b03199091166001600160a01b0390921691909117178155918301518051612a73926001850192019061357d565b50506040516306d61fe760e41b81526001600160a01b038a169150636d61fe7090612aa29084906004016138e1565b600060405180830381600087803b158015612abc57600080fd5b505af1158015612ad0573d6000803e3d6000fd5b505050505050505050505050565b6000612af66000805160206140888339815191525490565b90506001600160a01b03811615612b2b5760405163741cbe0360e01b81526001600160a01b0382166004820152602401610277565b61282e8460008051602061408883398151915255565b6001600160a01b0381166000908152600560205260408120805460ff1916600190811790915580549161264983613ca5565b6000612b7d610831565b9050600080612b8e84860186613fd6565b9092509050612b9e8383886134a8565b604051638a91b0e360e01b81526001600160a01b03871690638a91b0e390612bca9084906004016138e1565b600060405180830381600087803b158015612be457600080fd5b505af1158015612bf8573d6000803e3d6000fd5b50505050505050505050565b6000612c0e610831565b6001019050600080612b8e84860186613fd6565b6000612c316004828486613a5d565b612c3a91614025565b90506000612c4b8360048187613a5d565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929350612c8e925084915061346e9050565b612cda5760405162461bcd60e51b815260206004820152601a60248201527f46756e6374696f6e2073656c6563746f72206e6f7420757365640000000000006044820152606401610277565b6000612ce4610831565b6001600160e01b0319841660009081526002919091016020908152604091829020825160608101845281546001600160a01b0381168252600160a01b900460f81b6001600160f81b0319168184015260018201805485518186028101860187528181529295939493860193830182828015612d8857602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612d6a575b5050505050815250509050856001600160a01b031681600001516001600160a01b031614612e0b5760405162461bcd60e51b815260206004820152602a60248201527f46756e6374696f6e2073656c6563746f72206e6f74207573656420627920746860448201526934b9903430b7323632b960b11b6064820152608401610277565b6020810151612e22816001600160f81b0319610855565b15612e4057604051633accf26360e11b815260040160405180910390fd5b60408051600080825260808201835260208201818152928201526060810181905290612e6a610831565b6001600160e01b0319871660009081526002919091016020908152604091829020835181548584015160f81c600160a01b026001600160a81b03199091166001600160a01b0390921691909117178155918301518051612ed0926001850192019061357d565b5050604051638a91b0e360e01b81526001600160a01b038a169150638a91b0e390612aa29087906004016138e1565b612f16600060008051602061408883398151915255565b604051638a91b0e360e01b81526001600160a01b03841690638a91b0e390612f449085908590600401613fc2565b600060405180830381600087803b158015612f5e57600080fd5b505af1158015612f72573d6000803e3d6000fd5b50505050505050565b600060016001600160a01b038316148015906124505750506001600160a01b03908116600090815260209290925260409091205416151590565b606081806001600160401b03811115612fd057612fd0613cbe565b60405190808252806020026020018201604052801561300357816020015b6060815260200190600190039081612fee5790505b50915060005b81811015613085573685858381811061302457613024613e7c565b90506020028101906130369190614053565b905061305f6130486020830183613617565b602083013561305a6040850185613dfe565b61320b565b84838151811061307157613071613e7c565b602090810291909101015250600101613009565b505092915050565b606081806001600160401b038111156130a8576130a8613cbe565b6040519080825280602002602001820160405280156130db57816020015b60608152602001906001900390816130c65790505b50915060005b8181101561308557368585838181106130fc576130fc613e7c565b905060200281019061310e9190614053565b905060006131396131226020840184613617565b60208401356131346040860186613dfe565b613241565b86858151811061314b5761314b613e7c565b60209081029190910101529050806131b0577fe723f28f104e46b47fd3531f3608374ac226bcf3ddda334a23a266453e0efdb78386858151811061319157613191613e7c565b60200260200101516040516131a7929190613e92565b60405180910390a15b50506001016130e1565b60008036816131cc6014828789613a5d565b6131d591613a87565b60601c93506131e8603460148789613a5d565b6131f191614069565b92506132008560348189613a5d565b949793965094505050565b60405181838237600038838387895af1613228573d6000823e3d81fd5b3d8152602081013d6000823e3d01604052949350505050565b604051600090828482376000388483888a5af191503d8152602081013d6000823e3d81016040525094509492505050565b604051818382376000388383875af461328e573d6000823e3d81fd5b3d8152602081013d6000823e3d016040529392505050565b604051600090828482376000388483885af491503d8152602081013d6000823e3d810160405250935093915050565b81516000908190815b8181101561332d57846001600160a01b031686828151811061330257613302613e7c565b60200260200101516001600160a01b0316036133255792506001915061127e9050565b6001016132de565b506000958695509350505050565b60016000908152602082905260409020546001600160a01b031615613373576040516329e42f3360e11b815260040160405180910390fd5b60016000818152602092909252604090912080546001600160a01b0319169091179055565b6001600160a01b03811615806133b757506001600160a01b0381166001145b156133e057604051637c84ecfb60e01b81526001600160a01b0382166004820152602401610277565b6001600160a01b03818116600090815260208490526040902054161561342457604051631034f46960e21b81526001600160a01b0382166004820152602401610277565b60016000818152602093909352604080842080546001600160a01b039485168087529286208054959091166001600160a01b03199586161790559190935280549091169091179055565b600080613479610831565b6001600160e01b03199093166000908152600293909301602052505060409020546001600160a01b0316151590565b6001600160a01b03811615806134c757506001600160a01b0381166001145b156134f057604051637c84ecfb60e01b81526001600160a01b0383166004820152602401610277565b6001600160a01b0382811660009081526020859052604090205481169082161461353857604051637c84ecfb60e01b81526001600160a01b0382166004820152602401610277565b6001600160a01b0390811660008181526020949094526040808520805494841686529085208054949093166001600160a01b0319948516179092559092528154169055565b8280548282559060005260206000209081019282156135d2579160200282015b828111156135d257825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019061359d565b506135de9291506135e2565b5090565b5b808211156135de57600081556001016135e3565b6001600160a01b038116811461261857600080fd5b8035612427816135f7565b60006020828403121561362957600080fd5b8135612450816135f7565b60008083601f84011261364657600080fd5b5081356001600160401b0381111561365d57600080fd5b60208301915083602082850101111561127e57600080fd5b6000806000806060858703121561368b57600080fd5b84359350602085013561369d816135f7565b925060408501356001600160401b038111156136b857600080fd5b6136c487828801613634565b95989497509550505050565b6000806000604084860312156136e557600080fd5b8335925060208401356001600160401b0381111561370257600080fd5b61370e86828701613634565b9497909650939450505050565b6000610120828403121561372e57600080fd5b50919050565b60008060006060848603121561374957600080fd5b83356001600160401b0381111561375f57600080fd5b61376b8682870161371b565b9660208601359650604090950135949350505050565b6000806020838503121561379457600080fd5b82356001600160401b038111156137aa57600080fd5b6137b685828601613634565b90969095509350505050565b6000602082840312156137d457600080fd5b81356001600160401b038111156137ea57600080fd5b6109048482850161371b565b6000806040838503121561380957600080fd5b8235613814816135f7565b946020939093013593505050565b60008151808452602080850194506020840160005b8381101561385c5781516001600160a01b031687529582019590820190600101613837565b509495945050505050565b60408152600061387a6040830185613822565b905060018060a01b03831660208301529392505050565b60005b838110156138ac578181015183820152602001613894565b50506000910152565b600081518084526138cd816020860160208601613891565b601f01601f19169290920160200192915050565b60208152600061245060208301846138b5565b60006020828403121561390657600080fd5b5035919050565b60018060a01b038616815284602082015260a06040820152600061393460a0830186613822565b931515606083015250608001529392505050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b8281101561399f57603f1988860301845261398d8583516138b5565b94509285019290850190600101613971565b5092979650505050505050565b6001600160e01b03198116811461261857600080fd5b6000602082840312156139d457600080fd5b8135612450816139ac565b602080825282516001600160a01b0390811683830152838201516001600160f81b031916604080850191909152840151606080850152805160808501819052600093929183019190849060a08701905b80831015613a5157845184168252938501936001929092019190850190613a2f565b50979650505050505050565b60008085851115613a6d57600080fd5b83861115613a7a57600080fd5b5050820193919092039150565b6bffffffffffffffffffffffff1981358181169160148510156130855760149490940360031b84901b1690921692915050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60018060a01b0385168152836020820152606060408201526000613b0b606083018486613aba565b9695505050505050565b600060208284031215613b2757600080fd5b8151612450816139ac565b6000808335601e19843603018112613b4957600080fd5b83016020810192503590506001600160401b03811115613b6857600080fd5b80360382131561127e57600080fd5b60408152613b9860408201613b8b8561360c565b6001600160a01b03169052565b602083013560608201526000613bb16040850185613b32565b610120806080860152613bc961016086018385613aba565b9250613bd86060880188613b32565b9250603f19808786030160a0880152613bf2858584613aba565b9450608089013560c088015260a089013560e0880152610100935060c089013584880152613c2360e08a018a613b32565b9250818887030184890152613c39868483613aba565b955050613c48848a018a613b32565b9450925080878603016101408801525050613c64838383613aba565b93505050508260208301529392505050565b600060208284031215613c8857600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600060018201613cb757613cb7613c8f565b5060010190565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715613cfc57613cfc613cbe565b604052919050565b60006001600160401b03821115613d1d57613d1d613cbe565b50601f01601f191660200190565b600082601f830112613d3c57600080fd5b8135613d4f613d4a82613d04565b613cd4565b818152846020838601011115613d6457600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215613d9657600080fd5b8335613da1816135f7565b92506020840135613db1816135f7565b915060408401356001600160401b03811115613dcc57600080fd5b613dd886828701613d2b565b9150509250925092565b60008251613df4818460208701613891565b9190910192915050565b6000808335601e19843603018112613e1557600080fd5b8301803591506001600160401b03821115613e2f57600080fd5b60200191503681900382131561127e57600080fd5b8183823760009101908152919050565b8082018082111561086657610866613c8f565b6001600160f81b031991909116815260200190565b634e487b7160e01b600052603260045260246000fd5b82815260406020820152600061090460408301846138b5565b6001600160a01b03841681526040602082018190526000906109d99083018486613aba565b600060208284031215613ee257600080fd5b81516001600160401b03811115613ef857600080fd5b8201601f81018413613f0957600080fd5b8051613f17613d4a82613d04565b818152856020838501011115613f2c57600080fd5b6109d9826020830160208601613891565b600060208284031215613f4f57600080fd5b8151801515811461245057600080fd5b600081613f6e57613f6e613c8f565b506000190190565b808202811582820484141761086657610866613c8f565b600082613faa57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561086657610866613c8f565b602081526000610904602083018486613aba565b60008060408385031215613fe957600080fd5b8235613ff4816135f7565b915060208301356001600160401b0381111561400f57600080fd5b61401b85828601613d2b565b9150509250929050565b6001600160e01b031981358181169160048510156130855760049490940360031b84901b1690921692915050565b60008235605e19833603018112613df457600080fd5b8035602083101561086657600019602084900360031b1b169291505056fe36e05829dd1b9a4411d96a3549582172d7f071c1c0db5c573fcf94eb28431608a26469706673582212200e9d8fa1e71878c2dfec2573076fa2365235920bb8d728db041006fbfbfa65af64736f6c63430008170033" export const ETHERSPOT_MULTIPLE_OWNER_ECDSA_VALIDATOR_CREATECALL = - "0x4d6f64756c6172457468657273706f7457616c6c65743a437265617465323a73608060405234801561001057600080fd5b50610913806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80636d61fe70146100675780638a91b0e31461007c578063970032031461008f578063d60b347f146100b5578063ecd05961146100f1578063f551e2ee14610105575b600080fd5b61007a610075366004610675565b610131565b005b61007a61008a366004610675565b610186565b6100a261009d3660046106b7565b61019f565b6040519081526020015b60405180910390f35b6100e16100c336600461071e565b6001600160a01b031660009081526020819052604090205460ff1690565b60405190151581526020016100ac565b6100e16100ff366004610740565b60011490565b610118610113366004610759565b610378565b6040516001600160e01b031990911681526020016100ac565b3360009081526020819052604090205460ff1615610168576040516393360fbf60e01b815233600482015260240160405180910390fd5b5050336000908152602081905260409020805460ff19166001179055565b60405163cf9e0d0160e01b815260040160405180910390fd5b6000806101d1836020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b905060006102236101e66101008701876107b3565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250869392505061054a9050565b90506001600160a01b03811615806102a057506040516317aa5fb760e11b81526001600160a01b03821660048201523390632f54bf6e90602401602060405180830381865afa15801561027a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061029e91906107fa565b155b156102b057600192505050610372565b60006102bf60608701876107b3565b6102ce9160049160009161081c565b6102d791610846565b905060006102e860608801886107b3565b60048181106102f9576102f9610876565b909101356001600160f81b0319169150369050600061031b60608a018a6107b3565b61032991602490829061081c565b9092509050600160f81b6001600160f81b031984161461036b576001600160f81b0319831661036b5760008036600061036286866105db565b50505050505050505b5050505050505b92915050565b6000806103bb8585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061054a92505050565b6040516317aa5fb760e11b81526001600160a01b03821660048201529091503390632f54bf6e90602401602060405180830381865afa158015610402573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061042691906107fa565b1561043b5750630b135d3f60e11b9050610542565b600061046c866020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b905060006104b08287878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061054a92505050565b6040516317aa5fb760e11b81526001600160a01b03821660048201529091503390632f54bf6e90602401602060405180830381865afa1580156104f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051b91906107fa565b156105335750630b135d3f60e11b9250610542915050565b506001600160e01b0319925050505b949350505050565b604051600190836000526020830151604052604083510361058657604083015160ff81901c601b016020526001600160ff1b03166060526105ac565b60418351036105a757606083015160001a60205260408301516060526105ac565b600091505b6020600160806000855afa5191503d6105cd57638baa579f6000526004601cfd5b600060605260405292915050565b60008036816105ed601482878961081c565b6105f69161088c565b60601c935061060960346014878961081c565b610612916108bf565b9250610621856034818961081c565b949793965094505050565b60008083601f84011261063e57600080fd5b50813567ffffffffffffffff81111561065657600080fd5b60208301915083602082850101111561066e57600080fd5b9250929050565b6000806020838503121561068857600080fd5b823567ffffffffffffffff81111561069f57600080fd5b6106ab8582860161062c565b90969095509350505050565b600080604083850312156106ca57600080fd5b823567ffffffffffffffff8111156106e157600080fd5b830161012081860312156106f457600080fd5b946020939093013593505050565b80356001600160a01b038116811461071957600080fd5b919050565b60006020828403121561073057600080fd5b61073982610702565b9392505050565b60006020828403121561075257600080fd5b5035919050565b6000806000806060858703121561076f57600080fd5b61077885610702565b935060208501359250604085013567ffffffffffffffff81111561079b57600080fd5b6107a78782880161062c565b95989497509550505050565b6000808335601e198436030181126107ca57600080fd5b83018035915067ffffffffffffffff8211156107e557600080fd5b60200191503681900382131561066e57600080fd5b60006020828403121561080c57600080fd5b8151801515811461073957600080fd5b6000808585111561082c57600080fd5b8386111561083957600080fd5b5050820193919092039150565b6001600160e01b0319813581811691600485101561086e5780818660040360031b1b83161692505b505092915050565b634e487b7160e01b600052603260045260246000fd5b6bffffffffffffffffffffffff19813581811691601485101561086e5760149490940360031b84901b1690921692915050565b8035602083101561037257600019602084900360031b1b169291505056fea2646970667358221220ed45a582ab732fd1a5496abbc58167d0722da71b4da36fb4e742bcd589641d3264736f6c63430008170033" + "0x4d6f64756c6172457468657273706f7457616c6c65743a437265617465323a73608060405234801561001057600080fd5b50610948806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80636d61fe70146100675780638a91b0e31461007c578063970032031461008f578063d60b347f146100b5578063ecd05961146100f1578063f551e2ee14610105575b600080fd5b61007a6100753660046106aa565b610131565b005b61007a61008a3660046106aa565b610187565b6100a261009d3660046106ec565b6101d4565b6040519081526020015b60405180910390f35b6100e16100c3366004610753565b6001600160a01b031660009081526020819052604090205460ff1690565b60405190151581526020016100ac565b6100e16100ff366004610775565b60011490565b61011861011336600461078e565b6103ad565b6040516001600160e01b031990911681526020016100ac565b3360009081526020819052604090205460ff1615610169576040516393360fbf60e01b81523360048201526024015b60405180910390fd5b5050336000908152602081905260409020805460ff19166001179055565b3360009081526020819052604090205460ff166101b95760405163f91bd6f160e01b8152336004820152602401610160565b5050336000908152602081905260409020805460ff19169055565b600080610206836020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9050600061025861021b6101008701876107e8565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250869392505061057f9050565b90506001600160a01b03811615806102d557506040516317aa5fb760e11b81526001600160a01b03821660048201523390632f54bf6e90602401602060405180830381865afa1580156102af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d3919061082f565b155b156102e5576001925050506103a7565b60006102f460608701876107e8565b61030391600491600091610851565b61030c9161087b565b9050600061031d60608801886107e8565b600481811061032e5761032e6108ab565b909101356001600160f81b0319169150369050600061035060608a018a6107e8565b61035e916024908290610851565b9092509050600160f81b6001600160f81b03198416146103a0576001600160f81b031983166103a0576000803660006103978686610610565b50505050505050505b5050505050505b92915050565b6000806103f08585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061057f92505050565b6040516317aa5fb760e11b81526001600160a01b03821660048201529091503390632f54bf6e90602401602060405180830381865afa158015610437573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045b919061082f565b156104705750630b135d3f60e11b9050610577565b60006104a1866020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b905060006104e58287878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061057f92505050565b6040516317aa5fb760e11b81526001600160a01b03821660048201529091503390632f54bf6e90602401602060405180830381865afa15801561052c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610550919061082f565b156105685750630b135d3f60e11b9250610577915050565b506001600160e01b0319925050505b949350505050565b60405160019083600052602083015160405260408351036105bb57604083015160ff81901c601b016020526001600160ff1b03166060526105e1565b60418351036105dc57606083015160001a60205260408301516060526105e1565b600091505b6020600160806000855afa5191503d61060257638baa579f6000526004601cfd5b600060605260405292915050565b60008036816106226014828789610851565b61062b916108c1565b60601c935061063e603460148789610851565b610647916108f4565b92506106568560348189610851565b949793965094505050565b60008083601f84011261067357600080fd5b50813567ffffffffffffffff81111561068b57600080fd5b6020830191508360208285010111156106a357600080fd5b9250929050565b600080602083850312156106bd57600080fd5b823567ffffffffffffffff8111156106d457600080fd5b6106e085828601610661565b90969095509350505050565b600080604083850312156106ff57600080fd5b823567ffffffffffffffff81111561071657600080fd5b8301610120818603121561072957600080fd5b946020939093013593505050565b80356001600160a01b038116811461074e57600080fd5b919050565b60006020828403121561076557600080fd5b61076e82610737565b9392505050565b60006020828403121561078757600080fd5b5035919050565b600080600080606085870312156107a457600080fd5b6107ad85610737565b935060208501359250604085013567ffffffffffffffff8111156107d057600080fd5b6107dc87828801610661565b95989497509550505050565b6000808335601e198436030181126107ff57600080fd5b83018035915067ffffffffffffffff82111561081a57600080fd5b6020019150368190038213156106a357600080fd5b60006020828403121561084157600080fd5b8151801515811461076e57600080fd5b6000808585111561086157600080fd5b8386111561086e57600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156108a35780818660040360031b1b83161692505b505092915050565b634e487b7160e01b600052603260045260246000fd5b6bffffffffffffffffffffffff1981358181169160148510156108a35760149490940360031b84901b1690921692915050565b803560208310156103a757600019602084900360031b1b169291505056fea2646970667358221220cf50a432d078d95e4c4634ecba8b551dafcfbcd111305e547d4efbad316f8e9264736f6c63430008170033" export const ETHERSPOT_WALLET_FACTORY_CREATECALL = "0x4d6f64756c6172457468657273706f7457616c6c65743a437265617465323a7360a060405234801561001057600080fd5b50604051610b0e380380610b0e83398101604081905261002f916100a4565b806100398161004c565b50506001600160a01b03166080526100d7565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b80516001600160a01b038116811461009f57600080fd5b919050565b600080604083850312156100b757600080fd5b6100c083610088565b91506100ce60208401610088565b90509250929050565b608051610a0e6101006000396000818161016c0152818161050401526105b30152610a0e6000f3fe6080604052600436106100dd5760003560e01c80638da5cb5b1161007f578063f04e283e11610059578063f04e283e14610207578063f2fde38b1461021a578063f8a593701461022d578063fee81cf41461024057600080fd5b80638da5cb5b146101ae578063b36f9705146101c7578063d959fd0e146101e757600080fd5b806354d1f13d116100bb57806354d1f13d1461011f57806356c717f5146101275780635c60da1b1461015a578063715018a6146101a657600080fd5b806325692962146100e257806345171159146100ec5780634a1ce599146100ff575b600080fd5b6100ea610273565b005b6100ea6100fa36600461087f565b6102c3565b34801561010b57600080fd5b506100ea61011a3660046108c1565b610356565b6100ea6103db565b34801561013357600080fd5b506101476101423660046108e5565b610417565b6040519081526020015b60405180910390f35b34801561016657600080fd5b5061018e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610151565b6100ea61044d565b3480156101ba57600080fd5b50638b78c6d8195461018e565b3480156101d357600080fd5b506100ea6101e2366004610961565b610461565b3480156101f357600080fd5b5061018e6102023660046108e5565b6104ef565b6100ea6102153660046108c1565b610533565b6100ea6102283660046108c1565b610573565b61018e61023b3660046108e5565b61059a565b34801561024c57600080fd5b5061014761025b3660046108c1565b63389a75e1600c908152600091909152602090205490565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6102cb610682565b6001600160a01b0382166102f2576040516301650c7760e51b815260040160405180910390fd5b604051621cb65b60e51b815263ffffffff821660048201526001600160a01b03831690630396cb609034906024016000604051808303818588803b15801561033957600080fd5b505af115801561034d573d6000803e3d6000fd5b50505050505050565b61035e610682565b6001600160a01b038116610385576040516301650c7760e51b815260040160405180910390fd5b806001600160a01b031663bb9fe6bf6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156103c057600080fd5b505af11580156103d4573d6000803e3d6000fd5b5050505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b600083838360405160200161042e9392919061098f565b6040516020818303038152906040528051906020012090509392505050565b610455610682565b61045f600061069d565b565b610469610682565b6001600160a01b038216610490576040516301650c7760e51b815260040160405180910390fd5b60405163611d2e7560e11b81526001600160a01b03828116600483015283169063c23a5cea90602401600060405180830381600087803b1580156104d357600080fd5b505af11580156104e7573d6000803e3d6000fd5b505050505050565b6000806104fd858585610417565b905061052a7f000000000000000000000000000000000000000000000000000000000000000082306106db565b95945050505050565b61053b610682565b63389a75e1600c52806000526020600c20805442111561056357636f5e88186000526004601cfd5b600090556105708161069d565b50565b61057b610682565b8060601b61059157637448fbae6000526004601cfd5b6105708161069d565b6000806105a8858585610417565b90506000806105d8347f000000000000000000000000000000000000000000000000000000000000000085610764565b915091508161067857604051634b6a141960e01b81526001600160a01b03821690634b6a14199061060f90899089906004016109a9565b600060405180830381600087803b15801561062957600080fd5b505af115801561063d573d6000803e3d6000fd5b50506040513392506001600160a01b03841691507f1637bbe505dfa57dd508725e4a807eafc818ed7f588e2bae3e57f195ea53ad7090600090a35b9695505050505050565b638b78c6d81954331461045f576382b429006000526004601cfd5b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008061075785604080517fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f360609081527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e20768352616009602052601e9390935268603d3d8160223d3973600a52605f6021209152600090915290565b905061052a818585610848565b6000806040517fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e207660405261600960205284601e5268603d3d8160223d3973600a52605f60212060358201523060581b815260ff8153836015820152605581209150813b6108105783605f602188f591508161080b5763301164256000526004601cfd5b610836565b6001925085156108365760003860003889865af16108365763b12d13eb6000526004601cfd5b80604052506000606052935093915050565b600060ff60005350603592835260601b60015260155260556000908120915290565b6001600160a01b038116811461057057600080fd5b6000806040838503121561089257600080fd5b823561089d8161086a565b9150602083013563ffffffff811681146108b657600080fd5b809150509250929050565b6000602082840312156108d357600080fd5b81356108de8161086a565b9392505050565b6000806000604084860312156108fa57600080fd5b83359250602084013567ffffffffffffffff8082111561091957600080fd5b818601915086601f83011261092d57600080fd5b81358181111561093c57600080fd5b87602082850101111561094e57600080fd5b6020830194508093505050509250925092565b6000806040838503121561097457600080fd5b823561097f8161086a565b915060208301356108b68161086a565b838152818360208301376000910160200190815292915050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f1916010191905056fea26469706673582212204c4bf9d68187fb7cd2fde5d6423e331a1970029a223f4658090d1ff58ff83f7964736f6c63430008170033000000000000000000000000202a5598bdba2ce62bffa13ecccb04969719fad900000000000000000000000009fd4f6088f2025427ab1e89257a44747081ed59" diff --git a/packages/permissionless-test/mock-aa-infra/alto/index.ts b/packages/permissionless-test/mock-aa-infra/alto/index.ts index c8ab2574..2a3c4b25 100644 --- a/packages/permissionless-test/mock-aa-infra/alto/index.ts +++ b/packages/permissionless-test/mock-aa-infra/alto/index.ts @@ -499,7 +499,7 @@ export const setupContracts = async (rpc: string) => { "0xc98B026383885F41d9a995f85FC480E9bb8bB891", // ERC7579 Test Module "0x93FB56A4a0B7160fbf8903d251Cc7A3fb9bA0933", // Etherspot Factory "0x1baCB2F1ef4fD02f02e32cCF70888D9Caeb5f066", // Etherspot Bootstrap - "0x0261c9625d598c91188969537e6f01e13b466553", // Etherspot Multiple Owner ECDSA Validator + "0x7aCEE15c9FFc1e8f287C26E0f4C8244A0729F557", // Etherspot Multiple Owner ECDSA Validator "0x202A5598bDba2cE62bFfA13EcccB04969719Fad9" // Etherspot implementation ]) } diff --git a/packages/permissionless/accounts/etherspot/constants.ts b/packages/permissionless/accounts/etherspot/constants.ts index ffcd4a59..55fb1f34 100644 --- a/packages/permissionless/accounts/etherspot/constants.ts +++ b/packages/permissionless/accounts/etherspot/constants.ts @@ -35,5 +35,5 @@ export type NetworkAddresses = { export const DEFAULT_CONTRACT_ADDRESS: NetworkAddresses = { metaFactoryAddress: "0x93FB56A4a0B7160fbf8903d251Cc7A3fb9bA0933", // modularEtherspotWalletFactory bootstrapAddress: "0x1baCB2F1ef4fD02f02e32cCF70888D9Caeb5f066", - validatorAddress: "0x0261c9625d598c91188969537e6f01e13b466553" // multipleOwnerECDSAValidator + validatorAddress: "0x7aCEE15c9FFc1e8f287C26E0f4C8244A0729F557" // multipleOwnerECDSAValidator } From c719e8d07a79b80e069eb734e35d975012d99df7 Mon Sep 17 00:00:00 2001 From: Garvit Khatri Date: Thu, 12 Dec 2024 23:08:40 +0000 Subject: [PATCH 07/13] Remove not related code --- .../mock-aa-infra/alto/constants.ts | 2 +- .../permissionless/accounts/biconomy/index.ts | 13 ------------- .../permissionless/accounts/etherspot/index.ts | 3 --- packages/permissionless/accounts/kernel/index.ts | 15 --------------- packages/permissionless/accounts/light/index.ts | 15 --------------- packages/permissionless/accounts/safe/index.ts | 15 --------------- packages/permissionless/accounts/simple/index.ts | 13 ------------- packages/permissionless/accounts/trust/index.ts | 13 ------------- 8 files changed, 1 insertion(+), 88 deletions(-) delete mode 100644 packages/permissionless/accounts/biconomy/index.ts delete mode 100644 packages/permissionless/accounts/etherspot/index.ts delete mode 100644 packages/permissionless/accounts/kernel/index.ts delete mode 100644 packages/permissionless/accounts/light/index.ts delete mode 100644 packages/permissionless/accounts/safe/index.ts delete mode 100644 packages/permissionless/accounts/simple/index.ts delete mode 100644 packages/permissionless/accounts/trust/index.ts diff --git a/packages/permissionless-test/mock-aa-infra/alto/constants.ts b/packages/permissionless-test/mock-aa-infra/alto/constants.ts index f07d28eb..a6c5ee90 100644 --- a/packages/permissionless-test/mock-aa-infra/alto/constants.ts +++ b/packages/permissionless-test/mock-aa-infra/alto/constants.ts @@ -187,7 +187,7 @@ export const TRUST_DEFAULT_FALLBACK_HANDLER: Hex = "0x00000000000000000000000000000000000000000000000000000000000000006080604052604051620020183803806200201883398101604081905262000026916200156b565b60408051600480825260a08201909252600091816020015b604080516060808201835260008083526020830152918101919091528152602001906001900390816200003e5750506040805160018082528183019092529192506000919060208083019080368337019050509050631f931c1c60e01b81600081518110620000b157620000b1620015c8565b6001600160e01b03199290921660209283029190910182015260408051600580825260c08201909252600092909190820160a08036833701905050905063b61d27f660e01b816000815181106200010c576200010c620015c8565b6001600160e01b03199092166020928302919091019091015280516323f0ed1560e11b9082906001908110620001465762000146620015c8565b6001600160e01b0319909216602092830291909101909101528051633a871cdd60e01b9082906002908110620001805762000180620015c8565b6001600160e01b0319909216602092830291909101909101528051631a10fa5160e31b9082906003908110620001ba57620001ba620015c8565b6001600160e01b031990921660209283029190910190910152805163586b48ff60e11b9082906004908110620001f457620001f4620015c8565b6001600160e01b03199290921660209283029190910182015260408051600580825260c08201909252600092909190820160a08036833701905050905063150b7a0260e01b816000815181106200024f576200024f620015c8565b6001600160e01b031990921660209283029190910190910152805163f23a6e6160e01b9082906001908110620002895762000289620015c8565b6001600160e01b031990921660209283029190910190910152805163bc197c8160e01b9082906002908110620002c357620002c3620015c8565b6001600160e01b03199092166020928302919091019091015280516223de2960e01b9082906003908110620002fc57620002fc620015c8565b6001600160e01b0319909216602092830291909101909101528051635260769b60e11b9082906004908110620003365762000336620015c8565b6001600160e01b0319929092166020928302919091018201526040805160098082526101408201909252600092909190820161012080368337019050509050637a0ed62760e01b81600081518110620003935762000393620015c8565b6001600160e01b03199092166020928302919091019091015280516356fe50af60e11b9082906001908110620003cd57620003cd620015c8565b6001600160e01b03199092166020928302919091019091015280516314bbdacb60e21b9082906002908110620004075762000407620015c8565b6001600160e01b03199092166020928302919091019091015280516366ffd66360e11b9082906003908110620004415762000441620015c8565b6001600160e01b03199092166020928302919091019091015280516301ffc9a760e01b90829060049081106200047b576200047b620015c8565b6001600160e01b031990921660209283029190910190910152805163f9796ccf60e01b9082906005908110620004b557620004b5620015c8565b6001600160e01b031990921660209283029190910190910152805162d2a81160e11b9082906006908110620004ee57620004ee620015c8565b6001600160e01b031990921660209283029190910190910152805163d42139a960e01b9082906007908110620005285762000528620015c8565b6001600160e01b03199092166020928302919091019091015280516371d17b7f60e11b9082906008908110620005625762000562620015c8565b6001600160e01b031990921660209283029190910182015260408051606081019091526001600160a01b038b168152908101600081526020018581525085600081518110620005b557620005b5620015c8565b60200260200101819052506040518060600160405280896001600160a01b0316815260200160006002811115620005f057620005f0620015de565b815260200184815250856001815181106200060f576200060f620015c8565b60200260200101819052506040518060600160405280886001600160a01b03168152602001600060028111156200064a576200064a620015de565b81526020018381525085600281518110620006695762000669620015c8565b60200260200101819052506040518060600160405280876001600160a01b0316815260200160006002811115620006a457620006a4620015de565b81526020018281525085600381518110620006c357620006c3620015c8565b6020026020010181905250620006f1856000604051806020016040528060008152506200070060201b60201c565b5050505050505050506200184c565b60005b83518110156200090c576000848281518110620007245762000724620015c8565b602002602001015160200151905060006002811115620007485762000748620015de565b8160028111156200075d576200075d620015de565b03620007bb57620007b58583815181106200077c576200077c620015c8565b6020026020010151600001518684815181106200079d576200079d620015c8565b6020026020010151604001516200095b60201b60201c565b620008f6565b6001816002811115620007d257620007d2620015de565b036200082a57620007b5858381518110620007f157620007f1620015c8565b602002602001015160000151868481518110620008125762000812620015c8565b60200260200101516040015162000bf760201b60201c565b6002816002811115620008415762000841620015de565b036200089957620007b5858381518110620008605762000860620015c8565b602002602001015160000151868481518110620008815762000881620015c8565b60200260200101516040015162000ea160201b60201c565b60405162461bcd60e51b815260206004820152602760248201527f4c69624469616d6f6e644375743a20496e636f727265637420466163657443756044820152663a20b1ba34b7b760c91b60648201526084015b60405180910390fd5b508062000903816200160a565b91505062000703565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb67383838360405162000942939291906200167a565b60405180910390a162000956828262001005565b505050565b805180620009af5760405162461bcd60e51b815260206004820152602b602482015260008051602062001ff883398151915260448201526a1858d95d081d1bc818dd5d60aa1b6064820152608401620008ed565b60008051602062001f8c8339815191526001600160a01b03841662000a2c5760405162461bcd60e51b815260206004820152602c60248201527f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260448201526b65206164647265737328302960a01b6064820152608401620008ed565b6001600160a01b0384166000908152600182016020526040812054906001600160601b038216900362000a655762000a658286620010dd565b60005b8381101562000bef57600085828151811062000a885762000a88620015c8565b6020908102919091018101516001600160e01b031981166000908152918690526040909120549091506001600160a01b0316801562000b305760405162461bcd60e51b815260206004820152603560248201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60448201527f6e207468617420616c72656164792065786973747300000000000000000000006064820152608401620008ed565b6001600160e01b0319821660008181526020878152604080832080546001600160a01b03908116600160a01b6001600160601b038c16021782558d168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281546001600160a01b0319161790558362000bd48162001781565b9450505050808062000be6906200160a565b91505062000a68565b505050505050565b80518062000c4b5760405162461bcd60e51b815260206004820152602b602482015260008051602062001ff883398151915260448201526a1858d95d081d1bc818dd5d60aa1b6064820152608401620008ed565b60008051602062001f8c8339815191526001600160a01b03841662000ccc5760405162461bcd60e51b815260206004820152603060248201527f4c69624469616d6f6e644375743a205265706c6163652066616365742063616e60448201526f2774206265206164647265737328302960801b6064820152608401620008ed565b6001600160a01b0384166000908152600182016020526040812054906001600160601b038216900362000d055762000d058286620010dd565b60005b8381101562000bef57600085828151811062000d285762000d28620015c8565b6020908102919091018101516001600160e01b031981166000908152918690526040909120549091506001600160a01b03908116908816810362000dd55760405162461bcd60e51b815260206004820152603560248201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60448201527f6374696f6e20776974682073616d6520666163657400000000000000000000006064820152608401620008ed565b62000de28582846200114a565b6001600160e01b0319821660008181526020878152604080832080546001600160a01b03908116600160a01b6001600160601b038c16021782558d168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281546001600160a01b0319161790558362000e868162001781565b9450505050808062000e98906200160a565b91505062000d08565b80518062000ef55760405162461bcd60e51b815260206004820152602b602482015260008051602062001ff883398151915260448201526a1858d95d081d1bc818dd5d60aa1b6064820152608401620008ed565b60008051602062001f8c8339815191526001600160a01b0384161562000f845760405162461bcd60e51b815260206004820152603660248201527f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260448201527f657373206d7573742062652061646472657373283029000000000000000000006064820152608401620008ed565b60005b8281101562000ffe57600084828151811062000fa75762000fa7620015c8565b6020908102919091018101516001600160e01b031981166000908152918590526040909120549091506001600160a01b031662000fe68482846200114a565b5050808062000ff5906200160a565b91505062000f87565b5050505050565b6001600160a01b03821662001018575050565b6200103d8260405180606001604052806028815260200162001fac602891396200152a565b600080836001600160a01b0316836040516200105a9190620017b2565b600060405180830381855af49150503d806000811462001097576040519150601f19603f3d011682016040523d82523d6000602084013e6200109c565b606091505b509150915081620010d757805115620010b85780518082602001fd5b838360405163192105d760e01b8152600401620008ed929190620017d0565b50505050565b620011028160405180606001604052806024815260200162001fd4602491396200152a565b6002820180546001600160a01b0390921660008181526001948501602090815260408220860185905594840183559182529290200180546001600160a01b0319169091179055565b6001600160a01b038216620011c85760405162461bcd60e51b815260206004820152603760248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360448201527f74696f6e207468617420646f65736e27742065786973740000000000000000006064820152608401620008ed565b306001600160a01b03831603620012395760405162461bcd60e51b815260206004820152602e60248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560448201526d3a30b1363290333ab731ba34b7b760911b6064820152608401620008ed565b6001600160e01b03198116600090815260208481526040808320546001600160a01b0386168452600180880190935290832054600160a01b9091046001600160601b031692916200128a91620017fe565b905080821462001383576001600160a01b03841660009081526001860160205260408120805483908110620012c357620012c3620015c8565b600091825260208083206008830401546001600160a01b038916845260018a019091526040909220805460079092166004026101000a90920460e01b925082919085908110620013175762001317620015c8565b600091825260208083206008830401805463ffffffff60079094166004026101000a938402191660e09590951c929092029390931790556001600160e01b03199290921682528690526040902080546001600160a01b0316600160a01b6001600160601b038516021790555b6001600160a01b03841660009081526001860160205260409020805480620013af57620013af6200181a565b60008281526020808220600860001990940193840401805463ffffffff600460078716026101000a0219169055919092556001600160e01b0319851682528690526040812081905581900362000ffe5760028501546000906200141590600190620017fe565b6001600160a01b0386166000908152600180890160205260409091200154909150808214620014cb576000876002018381548110620014585762001458620015c8565b6000918252602090912001546002890180546001600160a01b0390921692508291849081106200148c576200148c620015c8565b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055929091168152600189810190925260409020018190555b86600201805480620014e157620014e16200181a565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b0388168252600189810190915260408220015550505050505050565b813b8181620010d75760405162461bcd60e51b8152600401620008ed919062001830565b80516001600160a01b03811681146200156657600080fd5b919050565b600080600080608085870312156200158257600080fd5b6200158d856200154e565b93506200159d602086016200154e565b9250620015ad604086016200154e565b9150620015bd606086016200154e565b905092959194509250565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016200161f576200161f620015f4565b5060010190565b60005b838110156200164357818101518382015260200162001629565b50506000910152565b600081518084526200166681602086016020860162001626565b601f01601f19169290920160200192915050565b60006060808301818452808751808352608092508286019150828160051b8701016020808b0160005b848110156200174f57898403607f19018652815180516001600160a01b03168552838101518986019060038110620016eb57634e487b7160e01b600052602160045260246000fd5b868601526040918201519186018a905281519081905290840190600090898701905b80831015620017395783516001600160e01b03191682529286019260019290920191908601906200170d565b50978501979550505090820190600101620016a3565b50506001600160a01b038a169088015286810360408801526200177381896200164c565b9a9950505050505050505050565b60006001600160601b038281166002600160601b03198101620017a857620017a8620015f4565b6001019392505050565b60008251620017c681846020870162001626565b9190910192915050565b6001600160a01b0383168152604060208201819052600090620017f6908301846200164c565b949350505050565b81810381811115620018145762001814620015f4565b92915050565b634e487b7160e01b600052603160045260246000fd5b6020815260006200184560208301846200164c565b9392505050565b610730806200185c6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806352ef6b2c146100515780637a0ed6271461006f578063adfca15e14610084578063cdffacc6146100a4575b600080fd5b610059610140565b60405161006691906104ab565b60405180910390f35b6100776101d1565b6040516100669190610562565b61009761009236600461060a565b6103d1565b6040516100669190610647565b61011b6100b236600461065a565b7fffffffff000000000000000000000000000000000000000000000000000000001660009081527f183cde5d4f6bb7b445b8fc2f7f15d0fd1d162275aded24183babbffee7cd491f602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610066565b60607f183cde5d4f6bb7b445b8fc2f7f15d0fd1d162275aded24183babbffee7cd491f6002018054806020026020016040519081016040528092919081815260200182805480156101c757602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161019c575b5050505050905090565b7f183cde5d4f6bb7b445b8fc2f7f15d0fd1d162275aded24183babbffee7cd4921546060907f183cde5d4f6bb7b445b8fc2f7f15d0fd1d162275aded24183babbffee7cd491f908067ffffffffffffffff8111156102315761023161069c565b60405190808252806020026020018201604052801561027757816020015b60408051808201909152600081526060602082015281526020019060019003908161024f5790505b50925060005b818110156103cb57600083600201828154811061029c5761029c6106cb565b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050808583815181106102dc576102dc6106cb565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff928316905290821660009081526001860182526040908190208054825181850281018501909352808352919290919083018282801561039d57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001906004019060208260030104928301926001038202915080841161034a5790505b50505050508583815181106103b4576103b46106cb565b60209081029190910181015101525060010161027d565b50505090565b73ffffffffffffffffffffffffffffffffffffffff811660009081527f183cde5d4f6bb7b445b8fc2f7f15d0fd1d162275aded24183babbffee7cd4920602090815260409182902080548351818402810184019094528084526060939283018282801561049f57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001906004019060208260030104928301926001038202915080841161044c5790505b50505050509050919050565b6020808252825182820181905260009190848201906040850190845b818110156104f957835173ffffffffffffffffffffffffffffffffffffffff16835292840192918401916001016104c7565b50909695505050505050565b600081518084526020808501945080840160005b838110156105575781517fffffffff000000000000000000000000000000000000000000000000000000001687529582019590820190600101610519565b509495945050505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b838110156105fc578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805173ffffffffffffffffffffffffffffffffffffffff1684528701518784018790526105e987850182610505565b9588019593505090860190600101610589565b509098975050505050505050565b60006020828403121561061c57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461064057600080fd5b9392505050565b6020815260006106406020830184610505565b60006020828403121561066c57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461064057600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea264697066735822122024a872696a5ad50024326567061c50adea63ff0d49edf0ac60339459d33d571664736f6c63430008150033183cde5d4f6bb7b445b8fc2f7f15d0fd1d162275aded24183babbffee7cd491f4c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f64654c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e20660000000000000000000000000b9504140771c3688ff041917192277d2f52e1e0000000000000000000000000fde53272dcd7938d16e031a6989753c3217283320000000000000000000000003143e1c0af0cdc153423863923cf4e3818e34daa000000000000000000000000ce36b85d12d81cd619c745c7717f3396e184ac7c" export const ERC_7579_TEST_MODULE_CREATECALL = - "0x00000000000000000000000000000000000000000000000000000000000000006080604052348015600f57600080fd5b50610f6a8061001f6000396000f3fe6080604052600436106100a75760003560e01c8063d26cdce311610064578063d26cdce3146101c1578063d60b347f146101d4578063e508600314610204578063ecd0596114610217578063fbe5ce0a14610238578063fd8b84b11461025857600080fd5b806306fdde03146100ac57806354fd4d50146100f65780636d61fe70146101245780637065cb48146101465780638a91b0e314610166578063ccfdec8c14610186575b600080fd5b3480156100b857600080fd5b5060408051808201909152600f81526e27bbb730b13632a2bc32b1baba37b960891b60208201525b6040516100ed9190610aca565b60405180910390f35b34801561010257600080fd5b506040805180820190915260058152640312e302e360dc1b60208201526100e0565b34801561013057600080fd5b5061014461013f366004610b46565b610285565b005b34801561015257600080fd5b50610144610161366004610ba4565b610311565b34801561017257600080fd5b50610144610181366004610b46565b6103c9565b34801561019257600080fd5b506101b36101a1366004610ba4565b60016020526000908152604090205481565b6040519081526020016100ed565b6101446101cf366004610bbf565b6103f5565b3480156101e057600080fd5b506101f46101ef366004610ba4565b6104b8565b60405190151581526020016100ed565b610144610212366004610bbf565b6104e8565b34801561022357600080fd5b506101f4610232366004610c12565b60021490565b34801561024457600080fd5b50610144610253366004610c2b565b61053e565b34801561026457600080fd5b50610278610273366004610ba4565b610573565b6040516100ed9190610c5e565b3360006102956014828587610cab565b61029e91610cd5565b60601c90506102cf600080846001600160a01b03166001600160a01b031681526020019081526020016000206105aa565b6001600160a01b03821660009081526020819052604090206102f19082610607565b506001600160a01b03166000908152600160208190526040909120555050565b3361031b816104b8565b6103485760405163f91bd6f160e01b81526001600160a01b03821660048201526024015b60405180910390fd5b6001600160a01b03821661037a5760405163b20f76e360e01b81526001600160a01b038316600482015260240161033f565b6001600160a01b038116600090815260208190526040902061039c9083610607565b6001600160a01b03811660009081526001602052604081208054916103c083610d20565b91905055505050565b3360009081526020819052604090206103e1906106dd565b505033600090815260016020526040812055565b6001600160a01b03831660009081526020819052604090206104179033610758565b61043457604051631a27eac360e11b815260040160405180910390fd5b826001600160a01b031663d691c96461044b610794565b84846040518463ffffffff1660e01b815260040161046b93929190610d39565b6000604051808303816000875af115801561048a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104b29190810190610db6565b50505050565b6001600160a01b038181166000908152602081815260408083206001845290915281205490911615155b92915050565b6001600160a01b038316600090815260208190526040902061050a9033610758565b61052757604051631a27eac360e11b815260040160405180910390fd5b826001600160a01b031663d691c96461044b6107a7565b3360009081526020819052604090206105589083836107b9565b3360009081526001602052604081208054916103c083610ecd565b6001600160a01b038116600090815260016020818152604080842054918490529092206060926105a3929061088e565b5092915050565b60016000908152602082905260409020546001600160a01b0316156105e2576040516329e42f3360e11b815260040160405180910390fd5b60016000818152602092909252604090912080546001600160a01b0319169091179055565b6001600160a01b038116158061062657506001600160a01b0381166001145b1561064f57604051637c84ecfb60e01b81526001600160a01b038216600482015260240161033f565b6001600160a01b03818116600090815260208490526040902054161561069357604051631034f46960e21b81526001600160a01b038216600482015260240161033f565b60016000818152602093909352604080842080546001600160a01b039485168087529286208054959091166001600160a01b03199586161790559190935280549091169091179055565b60016000908152602082905260409020546001600160a01b03165b6001600160a01b03811615610736576001600160a01b03908116600090815260208390526040902080546001600160a01b03198116909155166106f8565b50600160009081526020919091526040902080546001600160a01b0319169055565b600060016001600160a01b0383161480159061078d57506001600160a01b038281166000908152602085905260409020541615155b9392505050565b60006107a281808080610a3b565b905090565b60006107a2600160f81b828080610a3b565b6001600160a01b03811615806107d857506001600160a01b0381166001145b1561080157604051637c84ecfb60e01b81526001600160a01b038316600482015260240161033f565b6001600160a01b0382811660009081526020859052604090205481169082161461084957604051637c84ecfb60e01b81526001600160a01b038216600482015260240161033f565b6001600160a01b0390811660008181526020949094526040808520805494841686529085208054949093166001600160a01b0319948516179092559092528154169055565b606060006001600160a01b0384166001148015906108b357506108b18585610758565b155b156108dc57604051637c84ecfb60e01b81526001600160a01b038516600482015260240161033f565b826000036108fd5760405163f725081760e01b815260040160405180910390fd5b8267ffffffffffffffff81111561091657610916610d6f565b60405190808252806020026020018201604052801561093f578160200160208202803683370190505b506001600160a01b03808616600090815260208890526040812054929450911691505b6001600160a01b0382161580159061098457506001600160a01b038216600114155b801561098f57508381105b156109e957818382815181106109a7576109a7610ee4565b6001600160a01b0392831660209182029290920181019190915292811660009081529287905260409092205490911690806109e181610d20565b915050610962565b6001600160a01b038216600114801590610a035750600081115b15610a2f5782610a14600183610efa565b81518110610a2457610a24610ee4565b602002602001015191505b80835250935093915050565b604080516001600160f81b03198087166020830152851660218201526000602282018190526001600160e01b03198516602683015269ffffffffffffffffffff198416602a8301529101604051602081830303815290604052610a9d90610f0d565b95945050505050565b60005b83811015610ac1578181015183820152602001610aa9565b50506000910152565b6020815260008251806020840152610ae9816040850160208701610aa6565b601f01601f19169190910160400192915050565b60008083601f840112610b0f57600080fd5b50813567ffffffffffffffff811115610b2757600080fd5b602083019150836020828501011115610b3f57600080fd5b9250929050565b60008060208385031215610b5957600080fd5b823567ffffffffffffffff811115610b7057600080fd5b610b7c85828601610afd565b90969095509350505050565b80356001600160a01b0381168114610b9f57600080fd5b919050565b600060208284031215610bb657600080fd5b61078d82610b88565b600080600060408486031215610bd457600080fd5b610bdd84610b88565b9250602084013567ffffffffffffffff811115610bf957600080fd5b610c0586828701610afd565b9497909650939450505050565b600060208284031215610c2457600080fd5b5035919050565b60008060408385031215610c3e57600080fd5b610c4783610b88565b9150610c5560208401610b88565b90509250929050565b6020808252825182820181905260009190848201906040850190845b81811015610c9f5783516001600160a01b031683529284019291840191600101610c7a565b50909695505050505050565b60008085851115610cbb57600080fd5b83861115610cc857600080fd5b5050820193919092039150565b6bffffffffffffffffffffffff198135818116916014851015610d025780818660140360031b1b83161692505b505092915050565b634e487b7160e01b600052601160045260246000fd5b600060018201610d3257610d32610d0a565b5060010190565b83815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f1916010192915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610dae57610dae610d6f565b604052919050565b60006020808385031215610dc957600080fd5b825167ffffffffffffffff80821115610de157600080fd5b8185019150601f86601f840112610df757600080fd5b825182811115610e0957610e09610d6f565b8060051b610e18868201610d85565b918252848101860191868101908a841115610e3257600080fd5b87870192505b83831015610ebf57825186811115610e505760008081fd5b8701603f81018c13610e625760008081fd5b88810151604088821115610e7857610e78610d6f565b610e89828901601f19168c01610d85565b8281528e82848601011115610e9e5760008081fd5b610ead838d8301848701610aa6565b85525050509187019190870190610e38565b9a9950505050505050505050565b600081610edc57610edc610d0a565b506000190190565b634e487b7160e01b600052603260045260246000fd5b818103818111156104e2576104e2610d0a565b80516020808301519190811015610f2e576000198160200360031b1b821691505b5091905056fea2646970667358221220c65136fce0b201208eef061080f14f2bd4c40a5b6bc536237b6b4ff59f86c2aa64736f6c63430008190033" + "0x03b79c840000000000000000000000000000000000000000000000000000000000001337dbca873b13c783c0c9c6ddfc4280e505580bf6cc3dac83f8a0f7b44acaafca4f00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000010c000000000000000000000000000000000000000000000000000000000000010e00000000000000000000000000000000000000000000000000000000000000ffb6080604052348015600e575f80fd5b50610fdf8061001c5f395ff3fe6080604052600436106100a5575f3560e01c8063d26cdce311610062578063d26cdce3146101b7578063d60b347f146101ca578063e5086003146101f9578063ecd059611461020c578063fbe5ce0a1461022c578063fd8b84b11461024b575f80fd5b806306fdde03146100a957806354fd4d50146100f25780636d61fe701461011f5780637065cb48146101405780638a91b0e31461015f578063ccfdec8c1461017e575b5f80fd5b3480156100b4575f80fd5b5060408051808201909152600f81526e27bbb730b13632a2bc32b1baba37b960891b60208201525b6040516100e99190610b67565b60405180910390f35b3480156100fd575f80fd5b506040805180820190915260058152640312e302e360dc1b60208201526100dc565b34801561012a575f80fd5b5061013e610139366004610be1565b610277565b005b34801561014b575f80fd5b5061013e61015a366004610c3b565b61036a565b34801561016a575f80fd5b5061013e610179366004610be1565b61045c565b348015610189575f80fd5b506101a9610198366004610c3b565b60016020525f908152604090205481565b6040519081526020016100e9565b61013e6101c5366004610c54565b6104ae565b3480156101d5575f80fd5b506101e96101e4366004610c3b565b61056d565b60405190151581526020016100e9565b61013e610207366004610c54565b61059c565b348015610217575f80fd5b506101e9610226366004610ca3565b60021490565b348015610237575f80fd5b5061013e610246366004610cba565b6105f2565b348015610256575f80fd5b5061026a610265366004610c3b565b610665565b6040516100e99190610ceb565b335f6102866014828587610d37565b61028f91610d5e565b60601c9050806102c25760405163b20f76e360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b6001600160a01b0382165f9081526020819052604090206102e29061069b565b6001600160a01b0382165f90815260208190526040902061030390826106f6565b6001600160a01b0382165f8181526001602081905260409182902055517f1cd4a6da6e6a6f4dc754cedd54ead3b9cd0e2f5804cda2ba60506c2899fb29df9061035c9084906001600160a01b0391909116815260200190565b60405180910390a250505050565b336103748161056d565b61039c5760405163f91bd6f160e01b81526001600160a01b03821660048201526024016102b9565b6001600160a01b0382166103ce5760405163b20f76e360e01b81526001600160a01b03831660048201526024016102b9565b6001600160a01b0381165f9081526020819052604090206103ef90836106f6565b6001600160a01b0381165f90815260016020526040812080549161041283610da7565b90915550506040516001600160a01b0383811682528216907fc82bdbbf677a2462f2a7e22e4ba9abd209496b69cd7b868b3b1d28f76e09a40a906020015b60405180910390a25050565b335f908152602081905260409020610473906107ca565b335f81815260016020526040808220829055517f9d00629762554452d03c3b45626436df6ca1c3795d05d04df882f6db481b1be09190a25050565b6001600160a01b0383165f9081526020819052604090206104cf9033610825565b6104ec57604051631a27eac360e11b815260040160405180910390fd5b826001600160a01b031663d691c9643461050461085f565b85856040518563ffffffff1660e01b815260040161052493929190610dbf565b5f6040518083038185885af115801561053f573d5f803e3d5ffd5b50505050506040513d5f823e601f3d908101601f191682016040526105679190810190610e39565b50505050565b6001600160a01b038181165f908152602081815260408083206001845290915281205490911615155b92915050565b6001600160a01b0383165f9081526020819052604090206105bd9033610825565b6105da57604051631a27eac360e11b815260040160405180910390fd5b826001600160a01b031663d691c96434610504610871565b335f90815260208190526040902061060b908383610882565b335f90815260016020526040812080549161062583610f47565b90915550506040516001600160a01b038216815233907fe594d081b4382713733fe631966432c9cea5199afb2db5c3c1931f9f9300367990602001610450565b6001600160a01b0381165f90815260016020818152604080842054918490529092206060926106949290610955565b5092915050565b60015f908152602082905260409020546001600160a01b0316156106d2576040516329e42f3360e11b815260040160405180910390fd5b60015f818152602092909252604090912080546001600160a01b0319169091179055565b6001600160a01b038116158061071557506001600160a01b0381166001145b1561073e57604051637c84ecfb60e01b81526001600160a01b03821660048201526024016102b9565b6001600160a01b038181165f90815260208490526040902054161561078157604051631034f46960e21b81526001600160a01b03821660048201526024016102b9565b60015f818152602093909352604080842080546001600160a01b039485168087529286208054959091166001600160a01b03199586161790559190935280549091169091179055565b60015f908152602082905260409020546001600160a01b03165b6001600160a01b03811615610821576001600160a01b039081165f90815260208390526040902080546001600160a01b03198116909155166107e4565b5050565b5f60016001600160a01b0383161480159061085857506001600160a01b038281165f908152602085905260409020541615155b9392505050565b5f61086c81808080610afd565b905090565b5f61086c600160f81b828080610afd565b6001600160a01b03811615806108a157506001600160a01b0381166001145b156108ca57604051637c84ecfb60e01b81526001600160a01b03831660048201526024016102b9565b6001600160a01b038281165f9081526020859052604090205481169082161461091157604051637c84ecfb60e01b81526001600160a01b03821660048201526024016102b9565b6001600160a01b039081165f8181526020949094526040808520805494841686529085208054949093166001600160a01b0319948516179092559092528154169055565b60605f6001600160a01b03841660011480159061097957506109778585610825565b155b156109a257604051637c84ecfb60e01b81526001600160a01b03851660048201526024016102b9565b825f036109c25760405163f725081760e01b815260040160405180910390fd5b8267ffffffffffffffff8111156109db576109db610df4565b604051908082528060200260200182016040528015610a04578160200160208202803683370190505b506001600160a01b038086165f90815260208890526040812054929450911691505b6001600160a01b03821615801590610a4857506001600160a01b038216600114155b8015610a5357508381105b15610aac5781838281518110610a6b57610a6b610f5c565b6001600160a01b039283166020918202929092018101919091529281165f908152928790526040909220549091169080610aa481610da7565b915050610a26565b6001600160a01b038216600114801590610ac557505f81115b15610af15782610ad6600183610f70565b81518110610ae657610ae6610f5c565b602002602001015191505b80835250935093915050565b604080516001600160f81b03198087166020830152851660218201525f602282018190526001600160e01b03198516602683015269ffffffffffffffffffff198416602a8301529101604051602081830303815290604052610b5e90610f83565b95945050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112610bac575f80fd5b50813567ffffffffffffffff811115610bc3575f80fd5b602083019150836020828501011115610bda575f80fd5b9250929050565b5f8060208385031215610bf2575f80fd5b823567ffffffffffffffff811115610c08575f80fd5b610c1485828601610b9c565b90969095509350505050565b80356001600160a01b0381168114610c36575f80fd5b919050565b5f60208284031215610c4b575f80fd5b61085882610c20565b5f805f60408486031215610c66575f80fd5b610c6f84610c20565b9250602084013567ffffffffffffffff811115610c8a575f80fd5b610c9686828701610b9c565b9497909650939450505050565b5f60208284031215610cb3575f80fd5b5035919050565b5f8060408385031215610ccb575f80fd5b610cd483610c20565b9150610ce260208401610c20565b90509250929050565b602080825282518282018190525f9190848201906040850190845b81811015610d2b5783516001600160a01b031683529284019291840191600101610d06565b50909695505050505050565b5f8085851115610d45575f80fd5b83861115610d51575f80fd5b5050820193919092039150565b6bffffffffffffffffffffffff198135818116916014851015610d8b5780818660140360031b1b83161692505b505092915050565b634e487b7160e01b5f52601160045260245ffd5b5f60018201610db857610db8610d93565b5060010190565b83815260406020820152816040820152818360608301375f818301606090810191909152601f909201601f1916010192915050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610e3157610e31610df4565b604052919050565b5f6020808385031215610e4a575f80fd5b825167ffffffffffffffff80821115610e61575f80fd5b8185019150601f86601f840112610e76575f80fd5b825182811115610e8857610e88610df4565b8060051b610e97868201610e08565b918252848101860191868101908a841115610eb0575f80fd5b87870192505b83831015610f3957825186811115610ecc575f80fd5b8701603f81018c13610edc575f80fd5b88810151604088821115610ef257610ef2610df4565b610f03828901601f19168c01610e08565b8281528e82848601011115610f16575f80fd5b828285018d83015e5f9281018c0192909252508352509187019190870190610eb6565b9a9950505050505050505050565b5f81610f5557610f55610d93565b505f190190565b634e487b7160e01b5f52603260045260245ffd5b8181038181111561059657610596610d93565b80516020808301519190811015610fa3575f198160200360031b1b821691505b5091905056fea2646970667358221220fd20c30d790f9e29c7fee691f54ed598408181fcc342f8f909eaa9478dfd384a64736f6c63430008190033000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" export const ETHERSPOT_BOOTSTRAP_CREATECALL = "0x4d6f64756c6172457468657273706f7457616c6c65743a437265617465323a73608060405234801561001057600080fd5b5061158c806100206000396000f3fe60806040526004361061007f5760003560e01c8063855713681161004e578063855713681461025a578063b0d691fe14610288578063ea5f61d0146102ab578063eac9b20d146102cb57610086565b80630a664dba146101bb5780635e87556d146101ed578063642219af1461021a5780636b0d5cc41461023a57610086565b3661008657005b61009b6000356001600160e01b0319166102f8565b600080356001600160e01b03191681526000805160206115378339815191526020526040902080546001600160a01b03811690600160a01b900460f81b8161010957604051632464e76d60e11b81526001600160e01b03196000351660048201526024015b60405180910390fd5b61011781607f60f91b6103ac565b1561016b5760408051368101909152366000823760408051601481019091523360601b90526000803660140183865afa90506101593d60408051918201905290565b3d6000823e81610167573d81fd5b3d81f35b6101768160006103ac565b156101b95760408051368101909152366000823760408051601481019091523360601b9052600080366014018382875af190506101593d60408051918201905290565b005b3480156101c757600080fd5b506101d06103c3565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101f957600080fd5b5061020d610208366004610fab565b6103f2565b6040516101e491906110b8565b34801561022657600080fd5b506101b9610235366004610fab565b61047b565b34801561024657600080fd5b506101b96102553660046110e3565b6106c7565b34801561026657600080fd5b5061027a610275366004611168565b6106d7565b6040516101e4929190611194565b34801561029457600080fd5b506f71727de22e5e9d8baf0edac6f37da0326101d0565b3480156102b757600080fd5b5061027a6102c6366004611168565b610714565b3480156102d757600080fd5b506102eb6102e63660046111f7565b610744565b6040516101e49190611221565b6001600160e01b031981166000908152600080516020611537833981519152602090815260408083206001018054825181850281018501909352808352919290919083018282801561037357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610355575b505050505090506103848133610817565b15156000036103a8576040516332cf492b60e11b8152336004820152602401610100565b5050565b6001600160f81b0319828116908216145b92915050565b60006103ed7f36e05829dd1b9a4411d96a3549582172d7f071c1c0db5c573fcf94eb284316085490565b905090565b606030306001600160a01b031663642219af8a8a8a8a8a8a8a60405160240161042197969594939291906113a6565b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505060405160200161045f929190611404565b6040516020818303038152906040529050979650505050505050565b60005b868110156104fa576104f288888381811061049b5761049b611430565b90506020028101906104ad9190611446565b6104bb906020810190611466565b8989848181106104cd576104cd611430565b90506020028101906104df9190611446565b6104ed906020810190611483565b61082d565b60010161047e565b5060005b848110156105bc57600086868381811061051a5761051a611430565b905060200281019061052c9190611446565b61053a906020810190611466565b6001600160a01b0316146105b4576105b486868381811061055d5761055d611430565b905060200281019061056f9190611446565b61057d906020810190611466565b87878481811061058f5761058f611430565b90506020028101906105a19190611446565b6105af906020810190611483565b6108b4565b6001016104fe565b5060006105cc6020850185611466565b6001600160a01b0316146105fc576105fc6105ea6020850185611466565b6105f76020860186611483565b6108df565b60005b818110156106bd57600083838381811061061b5761061b611430565b905060200281019061062d9190611446565b61063b906020810190611466565b6001600160a01b0316146106b5576106b583838381811061065e5761065e611430565b90506020028101906106709190611446565b61067e906020810190611466565b84848481811061069057610690611430565b90506020028101906106a29190611446565b6106b0906020810190611483565b610966565b6001016105ff565b5050505050505050565b6106d283838361082d565b505050565b606060007ff88ce1fdb7fb1cbd3282e49729100fa3f2d6ee9f797961fe4fb1871cea89ea02610707818686610bd7565b92509250505b9250929050565b606060007ff88ce1fdb7fb1cbd3282e49729100fa3f2d6ee9f797961fe4fb1871cea89ea03610707818686610bd7565b6040805160608082018352600080835260208084018290528385018390526001600160e01b0319861682526000805160206115378339815191528152908490208451928301855280546001600160a01b0381168452600160a01b900460f81b6001600160f81b03191683830152600181018054865181850281018501885281815295969495929486019383018282801561080757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116107e9575b5050505050815250509050919050565b6000806108248484610d74565b95945050505050565b7ff88ce1fdb7fb1cbd3282e49729100fa3f2d6ee9f797961fe4fb1871cea89ea026108588185610dda565b6040516306d61fe760e41b81526001600160a01b03851690636d61fe709061088690869086906004016114ca565b600060405180830381600087803b1580156108a057600080fd5b505af11580156106bd573d6000803e3d6000fd5b7ff88ce1fdb7fb1cbd3282e49729100fa3f2d6ee9f797961fe4fb1871cea89ea036108588185610dda565b60006109097f36e05829dd1b9a4411d96a3549582172d7f071c1c0db5c573fcf94eb284316085490565b90506001600160a01b0381161561093e5760405163741cbe0360e01b81526001600160a01b0382166004820152602401610100565b610858847f36e05829dd1b9a4411d96a3549582172d7f071c1c0db5c573fcf94eb2843160855565b600082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051818a01356020818102601f01601f19168301909352969750893596918a018035965090945060609350915b818110156109e8576020810283810160600135908601526001016109c9565b505060408101356020818301033560608181528183850160208301379350610a1e92508591506001600160f81b031990506103ac565b15610a3c57604051633accf26360e11b815260040160405180910390fd5b6001600160e01b03198416600090815260008051602061153783398151915260205260409020546001600160a01b031615610ab95760405162461bcd60e51b815260206004820152601e60248201527f46756e6374696f6e2073656c6563746f7220616c7265616479207573656400006044820152606401610100565b604080516060810182526001600160a01b038a1681526001600160f81b0319851660208201529081018390527ff88ce1fdb7fb1cbd3282e49729100fa3f2d6ee9f797961fe4fb1871cea89ea026001600160e01b0319861660009081526002919091016020908152604091829020835181548584015160f81c600160a01b026001600160a81b03199091166001600160a01b0390921691909117178155918301518051610b6c9260018501920190610eec565b50506040516306d61fe760e41b81526001600160a01b038a169150636d61fe7090610b9b9084906004016110b8565b600060405180830381600087803b158015610bb557600080fd5b505af1158015610bc9573d6000803e3d6000fd5b505050505050505050505050565b606060006001600160a01b038416600114801590610bfa5750610bfa8585610eb0565b15610c2357604051637c84ecfb60e01b81526001600160a01b0385166004820152602401610100565b82600003610c445760405163f725081760e01b815260040160405180910390fd5b8267ffffffffffffffff811115610c5d57610c5d6114de565b604051908082528060200260200182016040528015610c86578160200160208202803683370190505b506001600160a01b03808616600090815260208890526040812054929450911691505b6001600160a01b03821615801590610ccb57506001600160a01b038216600114155b8015610cd657508381105b15610d305781838281518110610cee57610cee611430565b6001600160a01b039283166020918202929092018101919091529281166000908152928790526040909220549091169080610d288161150a565b915050610ca9565b6001600160a01b038216600114610d685782610d4d600183611523565b81518110610d5d57610d5d611430565b602002602001015191505b80835250935093915050565b81516000908190815b81811015610dcc57846001600160a01b0316868281518110610da157610da1611430565b60200260200101516001600160a01b031603610dc45792506001915061070d9050565b600101610d7d565b506000958695509350505050565b6001600160a01b0381161580610df957506001600160a01b0381166001145b15610e2257604051637c84ecfb60e01b81526001600160a01b0382166004820152602401610100565b6001600160a01b038181166000908152602084905260409020541615610e6657604051631034f46960e21b81526001600160a01b0382166004820152602401610100565b60016000818152602093909352604080842080546001600160a01b039485168087529286208054959091166001600160a01b03199586161790559190935280549091169091179055565b600060016001600160a01b03831614801590610ee557506001600160a01b038281166000908152602085905260409020541615155b9392505050565b828054828255906000526020600020908101928215610f41579160200282015b82811115610f4157825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190610f0c565b50610f4d929150610f51565b5090565b5b80821115610f4d5760008155600101610f52565b60008083601f840112610f7857600080fd5b50813567ffffffffffffffff811115610f9057600080fd5b6020830191508360208260051b850101111561070d57600080fd5b60008060008060008060006080888a031215610fc657600080fd5b873567ffffffffffffffff80821115610fde57600080fd5b610fea8b838c01610f66565b909950975060208a013591508082111561100357600080fd5b61100f8b838c01610f66565b909750955060408a013591508082111561102857600080fd5b908901906040828c03121561103c57600080fd5b9093506060890135908082111561105257600080fd5b5061105f8a828b01610f66565b989b979a50959850939692959293505050565b6000815180845260005b818110156110985760208185018101518683018201520161107c565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610ee56020830184611072565b6001600160a01b03811681146110e057600080fd5b50565b6000806000604084860312156110f857600080fd5b8335611103816110cb565b9250602084013567ffffffffffffffff8082111561112057600080fd5b818601915086601f83011261113457600080fd5b81358181111561114357600080fd5b87602082850101111561115557600080fd5b6020830194508093505050509250925092565b6000806040838503121561117b57600080fd5b8235611186816110cb565b946020939093013593505050565b604080825283519082018190526000906020906060840190828701845b828110156111d65781516001600160a01b0316845292840192908401906001016111b1565b5050506001600160a01b039490941660209390930192909252509092915050565b60006020828403121561120957600080fd5b81356001600160e01b031981168114610ee557600080fd5b602080825282516001600160a01b0390811683830152838201516001600160f81b031916604080850191909152840151606080850152805160808501819052600093929183019190849060a08701905b8083101561129357845184168252938501936001929092019190850190611271565b50979650505050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600081356112d5816110cb565b6001600160a01b03168352602082013536839003601e190181126112f857600080fd5b820160208101903567ffffffffffffffff81111561131557600080fd5b80360382131561132457600080fd5b6040602086015261082460408601828461129f565b6000838385526020808601955060208560051b830101846000805b8881101561139857858403601f19018a52823536899003603e19018112611379578283fd5b611385858a83016112c8565b9a86019a94505091840191600101611354565b509198975050505050505050565b6080815260006113ba60808301898b611339565b82810360208401526113cd81888a611339565b905082810360408401526113e181876112c8565b905082810360608401526113f6818587611339565b9a9950505050505050505050565b6001600160a01b038316815260406020820181905260009061142890830184611072565b949350505050565b634e487b7160e01b600052603260045260246000fd5b60008235603e1983360301811261145c57600080fd5b9190910192915050565b60006020828403121561147857600080fd5b8135610ee5816110cb565b6000808335601e1984360301811261149a57600080fd5b83018035915067ffffffffffffffff8211156114b557600080fd5b60200191503681900382131561070d57600080fd5b60208152600061142860208301848661129f565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161151c5761151c6114f4565b5060010190565b818103818111156103bd576103bd6114f456fef88ce1fdb7fb1cbd3282e49729100fa3f2d6ee9f797961fe4fb1871cea89ea04a2646970667358221220876ac0e3ce11f73be9184d4db171ae8b1071fbe27610263c00fe879ede1ae83264736f6c63430008170033" diff --git a/packages/permissionless/accounts/biconomy/index.ts b/packages/permissionless/accounts/biconomy/index.ts deleted file mode 100644 index 4de4d3fb..00000000 --- a/packages/permissionless/accounts/biconomy/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { - type BiconomySmartAccountImplementation, - type ToBiconomySmartAccountParameters, - type ToBiconomySmartAccountReturnType, - toBiconomySmartAccount -} from "./toBiconomySmartAccount" - -export { - type ToBiconomySmartAccountReturnType, - type ToBiconomySmartAccountParameters, - type BiconomySmartAccountImplementation, - toBiconomySmartAccount -} diff --git a/packages/permissionless/accounts/etherspot/index.ts b/packages/permissionless/accounts/etherspot/index.ts deleted file mode 100644 index 7c747ebd..00000000 --- a/packages/permissionless/accounts/etherspot/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -const a = 5 - -export { a } diff --git a/packages/permissionless/accounts/kernel/index.ts b/packages/permissionless/accounts/kernel/index.ts deleted file mode 100644 index 7f6cdc84..00000000 --- a/packages/permissionless/accounts/kernel/index.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { - type EcdsaKernelSmartAccountImplementation, - type KernelVersion, - type ToEcdsaKernelSmartAccountParameters, - type ToEcdsaKernelSmartAccountReturnType, - toEcdsaKernelSmartAccount -} from "./toEcdsaKernelSmartAccount" - -export { - type ToEcdsaKernelSmartAccountParameters, - type EcdsaKernelSmartAccountImplementation, - type ToEcdsaKernelSmartAccountReturnType, - type KernelVersion, - toEcdsaKernelSmartAccount -} diff --git a/packages/permissionless/accounts/light/index.ts b/packages/permissionless/accounts/light/index.ts deleted file mode 100644 index 609b2b27..00000000 --- a/packages/permissionless/accounts/light/index.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { - type LightAccountVersion, - type LightSmartAccountImplementation, - type ToLightSmartAccountParameters, - type ToLightSmartAccountReturnType, - toLightSmartAccount -} from "./toLightSmartAccount" - -export { - type LightAccountVersion, - type ToLightSmartAccountParameters, - type LightSmartAccountImplementation, - type ToLightSmartAccountReturnType, - toLightSmartAccount -} diff --git a/packages/permissionless/accounts/safe/index.ts b/packages/permissionless/accounts/safe/index.ts deleted file mode 100644 index ea313e32..00000000 --- a/packages/permissionless/accounts/safe/index.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { - type SafeSmartAccountImplementation, - type SafeVersion, - type ToSafeSmartAccountParameters, - type ToSafeSmartAccountReturnType, - toSafeSmartAccount -} from "./toSafeSmartAccount" - -export { - type ToSafeSmartAccountParameters, - type SafeSmartAccountImplementation, - type ToSafeSmartAccountReturnType, - type SafeVersion, - toSafeSmartAccount -} diff --git a/packages/permissionless/accounts/simple/index.ts b/packages/permissionless/accounts/simple/index.ts deleted file mode 100644 index 20d47677..00000000 --- a/packages/permissionless/accounts/simple/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { - type SimpleSmartAccountImplementation, - type ToSimpleSmartAccountParameters, - type ToSimpleSmartAccountReturnType, - toSimpleSmartAccount -} from "./toSimpleSmartAccount" - -export { - type ToSimpleSmartAccountParameters, - type SimpleSmartAccountImplementation, - type ToSimpleSmartAccountReturnType, - toSimpleSmartAccount -} diff --git a/packages/permissionless/accounts/trust/index.ts b/packages/permissionless/accounts/trust/index.ts deleted file mode 100644 index e9d4e1d5..00000000 --- a/packages/permissionless/accounts/trust/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { - type ToTrustSmartAccountParameters, - type ToTrustSmartAccountReturnType, - type TrustSmartAccountImplementation, - toTrustSmartAccount -} from "./toTrustSmartAccount" - -export { - type ToTrustSmartAccountParameters, - type TrustSmartAccountImplementation, - type ToTrustSmartAccountReturnType, - toTrustSmartAccount -} From f13b35b3d9486a77c083b55307611975f3be5df4 Mon Sep 17 00:00:00 2001 From: Garvit Khatri Date: Thu, 12 Dec 2024 23:13:13 +0000 Subject: [PATCH 08/13] revert exports and pimlico changes --- packages/permissionless/clients/pimlico.ts | 18 +++++++++++-- packages/permissionless/package.json | 30 ---------------------- 2 files changed, 16 insertions(+), 32 deletions(-) diff --git a/packages/permissionless/clients/pimlico.ts b/packages/permissionless/clients/pimlico.ts index df8dcedb..5f41552b 100644 --- a/packages/permissionless/clients/pimlico.ts +++ b/packages/permissionless/clients/pimlico.ts @@ -25,11 +25,17 @@ export type PimlicoClient< transport extends Transport = Transport, chain extends Chain | undefined = Chain | undefined, account extends SmartAccount | undefined = SmartAccount | undefined, + client extends Client | undefined = Client | undefined, rpcSchema extends RpcSchema | undefined = undefined > = Prettify< Client< transport, - chain extends Chain ? chain : undefined, + chain extends Chain + ? chain + : // biome-ignore lint/suspicious/noExplicitAny: We need any to infer the chain type + client extends Client + ? chain + : undefined, account, rpcSchema extends RpcSchema ? [...BundlerRpcSchema, ...PimlicoRpcSchema, ...rpcSchema] @@ -70,6 +76,7 @@ export function createPimlicoClient< transport extends Transport = Transport, chain extends Chain | undefined = undefined, account extends SmartAccount | undefined = SmartAccount | undefined, + client extends Client | undefined = undefined, rpcSchema extends RpcSchema | undefined = undefined >( parameters: PimlicoClientConfig< @@ -79,7 +86,14 @@ export function createPimlicoClient< account, rpcSchema > -): PimlicoClient +): PimlicoClient< + entryPointVersion, + transport, + chain, + account, + client, + rpcSchema +> export function createPimlicoClient( parameters: PimlicoClientConfig diff --git a/packages/permissionless/package.json b/packages/permissionless/package.json index 3315b0b7..bf1f1d03 100644 --- a/packages/permissionless/package.json +++ b/packages/permissionless/package.json @@ -24,36 +24,6 @@ "import": "./_esm/accounts/index.js", "default": "./_cjs/accounts/index.js" }, - "./accounts/kernel": { - "types": "./_types/accounts/kernel/index.d.ts", - "import": "./_esm/accounts/kernel/index.js", - "default": "./_cjs/accounts/kernel/index.js" - }, - "./accounts/light": { - "types": "./_types/accounts/light/index.d.ts", - "import": "./_esm/accounts/light/index.js", - "default": "./_cjs/accounts/light/index.js" - }, - "./accounts/safe": { - "types": "./_types/accounts/safe/index.d.ts", - "import": "./_esm/accounts/safe/index.js", - "default": "./_cjs/accounts/safe/index.js" - }, - "./accounts/simple": { - "types": "./_types/accounts/simple/index.d.ts", - "import": "./_esm/accounts/simple/index.js", - "default": "./_cjs/accounts/simple/index.js" - }, - "./accounts/trust": { - "types": "./_types/accounts/trust/index.d.ts", - "import": "./_esm/accounts/trust/index.js", - "default": "./_cjs/accounts/trust/index.js" - }, - "./accounts/etherspot": { - "types": "./_types/accounts/etherspot/index.d.ts", - "import": "./_esm/accounts/etherspot/index.js", - "default": "./_cjs/accounts/etherspot/index.js" - }, "./actions": { "types": "./_types/actions/index.d.ts", "import": "./_esm/actions/index.js", From 74824a4659df6531a219d7f91c4b5ea5a47272fb Mon Sep 17 00:00:00 2001 From: Garvit Khatri Date: Thu, 12 Dec 2024 23:16:36 +0000 Subject: [PATCH 09/13] Remove etherspot client for now --- .../clients/decorators/etherspot.ts | 15 --- packages/permissionless/clients/etherspot.ts | 93 ------------------- packages/permissionless/package.json | 5 + 3 files changed, 5 insertions(+), 108 deletions(-) delete mode 100644 packages/permissionless/clients/decorators/etherspot.ts delete mode 100644 packages/permissionless/clients/etherspot.ts diff --git a/packages/permissionless/clients/decorators/etherspot.ts b/packages/permissionless/clients/decorators/etherspot.ts deleted file mode 100644 index 4b1bf220..00000000 --- a/packages/permissionless/clients/decorators/etherspot.ts +++ /dev/null @@ -1,15 +0,0 @@ -import type { Client } from "viem" -import { - type GetGasPriceResponseReturnType, - getUserOperationGasPrice -} from "../../actions/etherspot/getUserOperationGasPrice" - -export type EtherspotBundlerActions = { - getUserOperationGasPrice: () => Promise -} - -export const etherspotBundlerActions = - () => - (client: Client): EtherspotBundlerActions => ({ - getUserOperationGasPrice: () => getUserOperationGasPrice(client) - }) diff --git a/packages/permissionless/clients/etherspot.ts b/packages/permissionless/clients/etherspot.ts deleted file mode 100644 index 3d230ddd..00000000 --- a/packages/permissionless/clients/etherspot.ts +++ /dev/null @@ -1,93 +0,0 @@ -import type { - Address, - BundlerRpcSchema, - Chain, - Client, - ClientConfig, - Prettify, - RpcSchema, - Transport -} from "viem" -import { createClient } from "viem" -import { - type BundlerActions, - type SmartAccount, - bundlerActions -} from "viem/account-abstraction" -import type { EtherspotBundlerRpcSchema } from "../types/etherspot" -import { - type EtherspotBundlerActions, - etherspotBundlerActions -} from "./decorators/etherspot" - -export type EtherspotBundlerClient< - transport extends Transport = Transport, - chain extends Chain | undefined = Chain | undefined, - account extends SmartAccount | undefined = SmartAccount | undefined, - rpcSchema extends RpcSchema | undefined = undefined -> = Prettify< - Client< - transport, - chain extends Chain ? chain : undefined, - account, - rpcSchema extends RpcSchema - ? [...BundlerRpcSchema, ...EtherspotBundlerRpcSchema, ...rpcSchema] - : [...BundlerRpcSchema, ...EtherspotBundlerRpcSchema], - BundlerActions & EtherspotBundlerActions - > -> - -export type EtherspotClientConfig< - entryPointVersion extends "0.6" | "0.7" = "0.7" | "0.6", - transport extends Transport = Transport, - chain extends Chain | undefined = Chain | undefined, - account extends SmartAccount | undefined = SmartAccount | undefined, - rpcSchema extends RpcSchema | undefined = undefined -> = Prettify< - Pick< - ClientConfig, - | "account" - | "cacheTime" - | "chain" - | "key" - | "name" - | "pollingInterval" - | "rpcSchema" - | "transport" - > -> & { - entryPoint?: { - address: Address - version: entryPointVersion - } -} - -export function createEtherspotBundlerClient< - entryPointVersion extends "0.6" | "0.7" = "0.7", - transport extends Transport = Transport, - chain extends Chain | undefined = undefined, - account extends SmartAccount | undefined = SmartAccount | undefined, - rpcSchema extends RpcSchema | undefined = undefined ->( - parameters: EtherspotClientConfig< - entryPointVersion, - transport, - chain, - account, - rpcSchema - > -): EtherspotBundlerClient - -export function createEtherspotBundlerClient( - parameters: EtherspotClientConfig -): EtherspotBundlerClient { - const { key = "public", name = "Etherspot Bundler Client" } = parameters - const client = createClient({ - ...parameters, - key, - name, - type: "etherspotBundlerClient" - }).extend(bundlerActions) - - return client.extend(etherspotBundlerActions()) as EtherspotBundlerClient -} diff --git a/packages/permissionless/package.json b/packages/permissionless/package.json index bf1f1d03..69b767af 100644 --- a/packages/permissionless/package.json +++ b/packages/permissionless/package.json @@ -39,6 +39,11 @@ "import": "./_esm/actions/pimlico.js", "default": "./_cjs/actions/pimlico.js" }, + "./actions/etherspot": { + "types": "./_types/actions/etherspot.d.ts", + "import": "./_esm/actions/etherspot.js", + "default": "./_cjs/actions/etherspot.js" + }, "./actions/smartAccount": { "types": "./_types/actions/smartAccount.d.ts", "import": "./_esm/actions/smartAccount.js", From c8e77a445974f97bb294788174152a2b436e0936 Mon Sep 17 00:00:00 2001 From: Garvit Khatri Date: Thu, 12 Dec 2024 23:19:23 +0000 Subject: [PATCH 10/13] Fix build --- .../etherspot/toEtherspotSmartAccount.ts | 22 +++++++------------ .../etherspot/utils/getInitMSAData.ts | 2 +- .../accounts/etherspot/utils/getNonceKey.ts | 2 +- packages/permissionless/actions/etherspot.ts | 2 +- .../etherspot/getUserOperationGasPrice.ts | 2 +- 5 files changed, 12 insertions(+), 18 deletions(-) diff --git a/packages/permissionless/accounts/etherspot/toEtherspotSmartAccount.ts b/packages/permissionless/accounts/etherspot/toEtherspotSmartAccount.ts index 88252a19..8f7e1cff 100644 --- a/packages/permissionless/accounts/etherspot/toEtherspotSmartAccount.ts +++ b/packages/permissionless/accounts/etherspot/toEtherspotSmartAccount.ts @@ -10,7 +10,6 @@ import { type OneOf, type Transport, type WalletClient, - concatHex, encodeAbiParameters, encodeFunctionData, encodePacked, @@ -28,18 +27,17 @@ import { } from "viem/account-abstraction" import { getChainId } from "viem/actions" import { getAction } from "viem/utils" -import { getAccountNonce } from "../../actions/public/getAccountNonce" -import { getSenderAddress } from "../../actions/public/getSenderAddress" -import { toOwner } from "../../utils" -import { encode7579Calls } from "../../utils/encode7579Calls" +import { getAccountNonce } from "../../actions/public/getAccountNonce.js" +import { getSenderAddress } from "../../actions/public/getSenderAddress.js" +import { encode7579Calls } from "../../utils/encode7579Calls.js" +import { toOwner } from "../../utils/index.js" import { DEFAULT_CONTRACT_ADDRESS, DUMMY_ECDSA_SIGNATURE, - type NetworkAddresses, - VALIDATOR_TYPE -} from "./constants" -import { getInitMSAData } from "./utils/getInitMSAData" -import { getNonceKeyWithEncoding } from "./utils/getNonceKey" + type NetworkAddresses +} from "./constants.js" +import { getInitMSAData } from "./utils/getInitMSAData.js" +import { getNonceKeyWithEncoding } from "./utils/getNonceKey.js" /** * The account creation ABI for a modular etherspot smart account @@ -98,10 +96,6 @@ const getDefaultAddresses = ({ } } -const getEcdsaValidatorIdentifier = (validatorAddress: Address) => { - return concatHex([VALIDATOR_TYPE.VALIDATOR, validatorAddress]) -} - /** * Get the initialization data for a etherspot smart account * @param entryPoint diff --git a/packages/permissionless/accounts/etherspot/utils/getInitMSAData.ts b/packages/permissionless/accounts/etherspot/utils/getInitMSAData.ts index 988ddb9b..bc582841 100644 --- a/packages/permissionless/accounts/etherspot/utils/getInitMSAData.ts +++ b/packages/permissionless/accounts/etherspot/utils/getInitMSAData.ts @@ -2,7 +2,7 @@ import { encodeFunctionData, zeroAddress } from "viem" import { EtherspotBootstrapAbi, EtherspotOnInstallAbi -} from "../abi/EtherspotBootstrapAbi" +} from "../abi/EtherspotBootstrapAbi.js" export const getInitMSAData = (ecdsaValidatorAddress: `0x${string}`) => { const validators = makeBootstrapConfig(ecdsaValidatorAddress, "0x") diff --git a/packages/permissionless/accounts/etherspot/utils/getNonceKey.ts b/packages/permissionless/accounts/etherspot/utils/getNonceKey.ts index cd3114f6..c1e828f7 100644 --- a/packages/permissionless/accounts/etherspot/utils/getNonceKey.ts +++ b/packages/permissionless/accounts/etherspot/utils/getNonceKey.ts @@ -1,5 +1,5 @@ import { type Address, concatHex, pad, toHex } from "viem" -import { VALIDATOR_MODE, VALIDATOR_TYPE } from "../constants" +import { VALIDATOR_MODE, VALIDATOR_TYPE } from "../constants.js" export const getNonceKeyWithEncoding = ( validatorAddress: Address, diff --git a/packages/permissionless/actions/etherspot.ts b/packages/permissionless/actions/etherspot.ts index 80bd5afe..de7d9e47 100644 --- a/packages/permissionless/actions/etherspot.ts +++ b/packages/permissionless/actions/etherspot.ts @@ -1,6 +1,6 @@ import { type GetGasPriceResponseReturnType, getUserOperationGasPrice -} from "./etherspot/getUserOperationGasPrice" +} from "./etherspot/getUserOperationGasPrice.js" export { type GetGasPriceResponseReturnType, getUserOperationGasPrice } diff --git a/packages/permissionless/actions/etherspot/getUserOperationGasPrice.ts b/packages/permissionless/actions/etherspot/getUserOperationGasPrice.ts index cb2c5bf0..a66c7c8f 100644 --- a/packages/permissionless/actions/etherspot/getUserOperationGasPrice.ts +++ b/packages/permissionless/actions/etherspot/getUserOperationGasPrice.ts @@ -1,5 +1,5 @@ import type { Account, Chain, Client, Transport } from "viem" -import type { EtherspotBundlerRpcSchema } from "../../types/etherspot" +import type { EtherspotBundlerRpcSchema } from "../../types/etherspot.js" export type GetGasPriceResponseReturnType = { maxFeePerGas: bigint From 4c968241284382c975704ae8a8456d9c1b5afada Mon Sep 17 00:00:00 2001 From: Garvit Khatri Date: Thu, 12 Dec 2024 23:24:35 +0000 Subject: [PATCH 11/13] cleanup --- .../permissionless/accounts/etherspot/constants.ts | 12 ------------ .../accounts/etherspot/utils/getInitMSAData.ts | 4 ++-- 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/packages/permissionless/accounts/etherspot/constants.ts b/packages/permissionless/accounts/etherspot/constants.ts index 55fb1f34..92b4139b 100644 --- a/packages/permissionless/accounts/etherspot/constants.ts +++ b/packages/permissionless/accounts/etherspot/constants.ts @@ -2,18 +2,6 @@ import type { Address } from "viem" export const DUMMY_ECDSA_SIGNATURE = "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c" -export const ROOT_MODE_KERNEL_V2 = "0x00000000" - -export enum CALL_TYPE { - SINGLE = "0x00", - BATCH = "0x01", - DELEGATE_CALL = "0xFF" -} - -export enum EXEC_TYPE { - DEFAULT = "0x00", - TRY_EXEC = "0x01" -} export const VALIDATOR_TYPE = { ROOT: "0x00", diff --git a/packages/permissionless/accounts/etherspot/utils/getInitMSAData.ts b/packages/permissionless/accounts/etherspot/utils/getInitMSAData.ts index bc582841..8ad162d1 100644 --- a/packages/permissionless/accounts/etherspot/utils/getInitMSAData.ts +++ b/packages/permissionless/accounts/etherspot/utils/getInitMSAData.ts @@ -1,10 +1,10 @@ -import { encodeFunctionData, zeroAddress } from "viem" +import { type Address, encodeFunctionData, zeroAddress } from "viem" import { EtherspotBootstrapAbi, EtherspotOnInstallAbi } from "../abi/EtherspotBootstrapAbi.js" -export const getInitMSAData = (ecdsaValidatorAddress: `0x${string}`) => { +export const getInitMSAData = (ecdsaValidatorAddress: Address) => { const validators = makeBootstrapConfig(ecdsaValidatorAddress, "0x") const executors = makeBootstrapConfig(zeroAddress, "0x") const hook = _makeBootstrapConfig(zeroAddress, "0x") From 282d6828931c352ddf9f001d0333bc09d4894d26 Mon Sep 17 00:00:00 2001 From: Garvit Khatri Date: Thu, 12 Dec 2024 23:29:37 +0000 Subject: [PATCH 12/13] Remove unused file --- .../abi/EtherspotWalletFactoryAbi.ts | 26 ------------------- 1 file changed, 26 deletions(-) delete mode 100644 packages/permissionless/accounts/etherspot/abi/EtherspotWalletFactoryAbi.ts diff --git a/packages/permissionless/accounts/etherspot/abi/EtherspotWalletFactoryAbi.ts b/packages/permissionless/accounts/etherspot/abi/EtherspotWalletFactoryAbi.ts deleted file mode 100644 index 81fd1f30..00000000 --- a/packages/permissionless/accounts/etherspot/abi/EtherspotWalletFactoryAbi.ts +++ /dev/null @@ -1,26 +0,0 @@ -export const EtherspotWalletFactoryAbi = [ - { - inputs: [ - { - internalType: "bytes32", - name: "salt", - type: "bytes32" - }, - { - internalType: "bytes", - name: "initcode", - type: "bytes" - } - ], - name: "getAddress", - outputs: [ - { - internalType: "address", - name: "", - type: "address" - } - ], - stateMutability: "view", - type: "function" - } -] as const From aa7850385a016a1f964639e292f8844929fc16a9 Mon Sep 17 00:00:00 2001 From: Garvit Khatri Date: Thu, 12 Dec 2024 23:48:50 +0000 Subject: [PATCH 13/13] Add changeset --- .changeset/ninety-forks-eat.md | 5 +++++ .size-limit.json | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 .changeset/ninety-forks-eat.md diff --git a/.changeset/ninety-forks-eat.md b/.changeset/ninety-forks-eat.md new file mode 100644 index 00000000..ac168d61 --- /dev/null +++ b/.changeset/ninety-forks-eat.md @@ -0,0 +1,5 @@ +--- +"permissionless": patch +--- + +Added support for Etherspot Smart Account diff --git a/.size-limit.json b/.size-limit.json index b05e258b..5ec3d468 100644 --- a/.size-limit.json +++ b/.size-limit.json @@ -2,7 +2,7 @@ { "name": "permissionless (esm)", "path": "./packages/permissionless/_esm/index.js", - "limit": "50 kB", + "limit": "55 kB", "import": "*" }, {