diff --git a/.turbo/cookies/10.cookie b/.turbo/cookies/10.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/11.cookie b/.turbo/cookies/11.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/12.cookie b/.turbo/cookies/12.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/13.cookie b/.turbo/cookies/13.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/14.cookie b/.turbo/cookies/14.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/15.cookie b/.turbo/cookies/15.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/16.cookie b/.turbo/cookies/16.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/17.cookie b/.turbo/cookies/17.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/18.cookie b/.turbo/cookies/18.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/19.cookie b/.turbo/cookies/19.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/2.cookie b/.turbo/cookies/2.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/20.cookie b/.turbo/cookies/20.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/21.cookie b/.turbo/cookies/21.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/22.cookie b/.turbo/cookies/22.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/23.cookie b/.turbo/cookies/23.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/24.cookie b/.turbo/cookies/24.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/25.cookie b/.turbo/cookies/25.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/26.cookie b/.turbo/cookies/26.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/27.cookie b/.turbo/cookies/27.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/28.cookie b/.turbo/cookies/28.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/29.cookie b/.turbo/cookies/29.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/3.cookie b/.turbo/cookies/3.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/30.cookie b/.turbo/cookies/30.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/31.cookie b/.turbo/cookies/31.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/32.cookie b/.turbo/cookies/32.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/33.cookie b/.turbo/cookies/33.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/34.cookie b/.turbo/cookies/34.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/35.cookie b/.turbo/cookies/35.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/36.cookie b/.turbo/cookies/36.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/37.cookie b/.turbo/cookies/37.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/38.cookie b/.turbo/cookies/38.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/39.cookie b/.turbo/cookies/39.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/4.cookie b/.turbo/cookies/4.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/40.cookie b/.turbo/cookies/40.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/41.cookie b/.turbo/cookies/41.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/42.cookie b/.turbo/cookies/42.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/43.cookie b/.turbo/cookies/43.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/44.cookie b/.turbo/cookies/44.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/45.cookie b/.turbo/cookies/45.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/46.cookie b/.turbo/cookies/46.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/47.cookie b/.turbo/cookies/47.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/48.cookie b/.turbo/cookies/48.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/49.cookie b/.turbo/cookies/49.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/5.cookie b/.turbo/cookies/5.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/50.cookie b/.turbo/cookies/50.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/51.cookie b/.turbo/cookies/51.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/52.cookie b/.turbo/cookies/52.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/53.cookie b/.turbo/cookies/53.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/54.cookie b/.turbo/cookies/54.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/55.cookie b/.turbo/cookies/55.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/56.cookie b/.turbo/cookies/56.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/57.cookie b/.turbo/cookies/57.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/58.cookie b/.turbo/cookies/58.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/59.cookie b/.turbo/cookies/59.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/6.cookie b/.turbo/cookies/6.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/60.cookie b/.turbo/cookies/60.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/61.cookie b/.turbo/cookies/61.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/62.cookie b/.turbo/cookies/62.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/63.cookie b/.turbo/cookies/63.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/64.cookie b/.turbo/cookies/64.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/65.cookie b/.turbo/cookies/65.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/66.cookie b/.turbo/cookies/66.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/67.cookie b/.turbo/cookies/67.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/68.cookie b/.turbo/cookies/68.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/69.cookie b/.turbo/cookies/69.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/7.cookie b/.turbo/cookies/7.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/70.cookie b/.turbo/cookies/70.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/71.cookie b/.turbo/cookies/71.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/72.cookie b/.turbo/cookies/72.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/73.cookie b/.turbo/cookies/73.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/74.cookie b/.turbo/cookies/74.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/75.cookie b/.turbo/cookies/75.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/76.cookie b/.turbo/cookies/76.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/77.cookie b/.turbo/cookies/77.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/78.cookie b/.turbo/cookies/78.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/79.cookie b/.turbo/cookies/79.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/8.cookie b/.turbo/cookies/8.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/80.cookie b/.turbo/cookies/80.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/81.cookie b/.turbo/cookies/81.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/82.cookie b/.turbo/cookies/82.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/83.cookie b/.turbo/cookies/83.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/84.cookie b/.turbo/cookies/84.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/85.cookie b/.turbo/cookies/85.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/86.cookie b/.turbo/cookies/86.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/87.cookie b/.turbo/cookies/87.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/88.cookie b/.turbo/cookies/88.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/89.cookie b/.turbo/cookies/89.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/9.cookie b/.turbo/cookies/9.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/90.cookie b/.turbo/cookies/90.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/91.cookie b/.turbo/cookies/91.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/92.cookie b/.turbo/cookies/92.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/93.cookie b/.turbo/cookies/93.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/94.cookie b/.turbo/cookies/94.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/cookies/95.cookie b/.turbo/cookies/95.cookie new file mode 100644 index 0000000000..e69de29bb2 diff --git a/.turbo/daemon/24e27c0712364aca-turbo.log.2025-11-20 b/.turbo/daemon/24e27c0712364aca-turbo.log.2025-11-20 new file mode 100644 index 0000000000..874c9da74a --- /dev/null +++ b/.turbo/daemon/24e27c0712364aca-turbo.log.2025-11-20 @@ -0,0 +1 @@ +2025-11-20T13:32:11.927116Z WARN daemon_server: turborepo_lib::commands::daemon: daemon already running diff --git a/.turbo/daemon/24e27c0712364aca-turbo.log.2025-11-24 b/.turbo/daemon/24e27c0712364aca-turbo.log.2025-11-24 new file mode 100644 index 0000000000..744094b986 --- /dev/null +++ b/.turbo/daemon/24e27c0712364aca-turbo.log.2025-11-24 @@ -0,0 +1,2 @@ +2025-11-24T07:52:52.595130Z WARN daemon_server: turborepo_lib::commands::daemon: daemon already running +2025-11-24T19:58:40.029804Z WARN daemon_server: turborepo_lib::commands::daemon: daemon already running diff --git a/.turbo/daemon/358f015c34996b37-turbo.log.2025-11-20 b/.turbo/daemon/358f015c34996b37-turbo.log.2025-11-20 new file mode 100644 index 0000000000..d57479cc28 --- /dev/null +++ b/.turbo/daemon/358f015c34996b37-turbo.log.2025-11-20 @@ -0,0 +1,3 @@ +2025-11-20T15:26:07.535251Z WARN turborepo_filewatch: failed to wait for initial filesystem cookie: filewatching failed to start: waiting for cookie timed out: deadline has elapsed +2025-11-20T15:27:28.469069Z INFO turborepo_lib::daemon::server: triggering shutdown +2025-11-20T15:28:22.012074Z WARN turborepo_filewatch: failed to wait for initial filesystem cookie: filewatching failed to start: waiting for cookie timed out: deadline has elapsed diff --git a/.turbo/preferences/tui.json b/.turbo/preferences/tui.json new file mode 100644 index 0000000000..6efc75e0e6 --- /dev/null +++ b/.turbo/preferences/tui.json @@ -0,0 +1,4 @@ +{ + "is_task_list_visible": true, + "active_task": null +} \ No newline at end of file diff --git a/extras/docs/.turbo/turbo-build.log b/extras/docs/.turbo/turbo-build.log new file mode 100644 index 0000000000..d1c02a6bf9 --- /dev/null +++ b/extras/docs/.turbo/turbo-build.log @@ -0,0 +1,9 @@ +[?25l> docs@0.1.0 build C:\Users\Legion\sequence.js\extras\docs +> next build]0;C:\Windows\system32\cmd.exe[?25h[?25l ⚠ Warning: Next.js inferred your workspace root, but it may not be correct. + We detected multiple lockfiles and selected the directory of C:\Users\Legion\pnpm-lock.yaml as the root directory. + To silence this warning, set `outputFileTracingRoot` in your Next.js config, or consider removing one of the lockfiles if it's not needed. + See https://nextjs.org/docs/app/api-reference/config/next-config-js/output#caveats for more information. + Detected additional lockfiles: + * C:\Users\Legion\sequence.js\pnpm-lock.yaml[?25h[?25l ▲ Next.js 15.5.6[?25h   Creating an optimized production build ... + ✓ Compiled successfully in 26.8s +[?25l   Linting and checking validity of types .    Linting and checking validity of types ..    Linting and checking validity of types ...    Linting and checking validity of types .    Linting and checking validity of types ..    Linting and checking validity of types ...    Linting and checking validity of types .    Linting and checking validity of types ..    Linting and checking validity of types ...    Linting and checking validity of types .    Linting and checking validity of types ..    Linting and checking validity of types ...    Linting and checking validity of types .    Linting and checking validity of types ..    Linting and checking validity of types ...    Linting and checking validity of types .    Linting and checking validity of types ..    Linting and checking validity of types ...[?25h diff --git a/extras/docs/.turbo/turbo-lint.log b/extras/docs/.turbo/turbo-lint.log new file mode 100644 index 0000000000..3d529fe583 --- /dev/null +++ b/extras/docs/.turbo/turbo-lint.log @@ -0,0 +1,11 @@ +[?25l> docs@0.1.0 lint C:\Users\Legion\sequence.js\extras\docs +> next lint --max-warnings 0]0;C:\Windows\system32\cmd.exe[?25h[?25l`next lint` is deprecated and will be removed in Next.js 16. +For new projects, use create-next-app to choose your preferred linter. +For existing projects, migrate to the ESLint CLI: +npx @next/codemod@canary next-lint-to-eslint-cli .[?25h[?25l ⚠ Warning: Next.js inferred your workspace root, but it may not be correct. + We detected multiple lockfiles and selected the directory of C:\Users\Legion\pnpm-lock.yaml as the root directory. + To silence this warning, set `outputFileTracingRoot` in your Next.js config, or consider removing one of the lockfiles if it's not needed. + See https://nextjs.org/docs/app/api-reference/config/next-config-js/output#caveats for more information. + Detected additional lockfiles: + * C:\Users\Legion\sequence.js\pnpm-lock.yaml[?25h✔ No ESLint warnings or errors + diff --git a/extras/docs/.turbo/turbo-typecheck.log b/extras/docs/.turbo/turbo-typecheck.log new file mode 100644 index 0000000000..2448197d05 --- /dev/null +++ b/extras/docs/.turbo/turbo-typecheck.log @@ -0,0 +1,2 @@ +[?25l> docs@0.1.0 typecheck C:\Users\Legion\sequence.js\extras\docs +> tsc --noEmit]0;C:\Windows\system32\cmd.exe[?25h diff --git a/extras/web/.turbo/turbo-build.log b/extras/web/.turbo/turbo-build.log new file mode 100644 index 0000000000..390cb26e85 --- /dev/null +++ b/extras/web/.turbo/turbo-build.log @@ -0,0 +1,9 @@ +[?25l> web@0.1.0 build C:\Users\Legion\sequence.js\extras\web +> next build]0;C:\Windows\system32\cmd.exe[?25h[?25l ⚠ Warning: Next.js inferred your workspace root, but it may not be correct. + We detected multiple lockfiles and selected the directory of C:\Users\Legion\pnpm-lock.yaml as the root directory. + To silence this warning, set `outputFileTracingRoot` in your Next.js config, or consider removing one of the lockfiles if it's not needed. + See https://nextjs.org/docs/app/api-reference/config/next-config-js/output#caveats for more information. + Detected additional lockfiles: + * C:\Users\Legion\sequence.js\pnpm-lock.yaml[?25h[?25l ▲ Next.js 15.5.6[?25h   Creating an optimized production build ... + ✓ Compiled successfully in 26.8s[?25l +   Linting and checking validity of types .    Linting and checking validity of types ..    Linting and checking validity of types ...    Linting and checking validity of types .    Linting and checking validity of types ..    Linting and checking validity of types ...    Linting and checking validity of types .    Linting and checking validity of types ..   Linting and checking validity of types ...   Linting and checking validity of types .   Linting and checking validity of types ..   Linting and checking validity of types ...   Linting and checking validity of types .   Linting and checking validity of types ..   Linting and checking validity of types ...   Linting and checking validity of types .   Linting and checking validity of types ..    Linting and checking validity of types ...   Linting and checking validity of types .   Linting and checking validity of types ..   Linting and checking validity of types ...   Linting and checking validity of types .   Linting and checking validity of types ..[?25h diff --git a/extras/web/.turbo/turbo-lint.log b/extras/web/.turbo/turbo-lint.log new file mode 100644 index 0000000000..d549636dec --- /dev/null +++ b/extras/web/.turbo/turbo-lint.log @@ -0,0 +1,11 @@ +[?25l> web@0.1.0 lint C:\Users\Legion\sequence.js\extras\web +> next lint --max-warnings 0]0;C:\Windows\system32\cmd.exe[?25h[?25l`next lint` is deprecated and will be removed in Next.js 16. +For new projects, use create-next-app to choose your preferred linter. +For existing projects, migrate to the ESLint CLI: +npx @next/codemod@canary next-lint-to-eslint-cli .[?25h[?25l ⚠ Warning: Next.js inferred your workspace root, but it may not be correct. + We detected multiple lockfiles and selected the directory of C:\Users\Legion\pnpm-lock.yaml as the root directory. + To silence this warning, set `outputFileTracingRoot` in your Next.js config, or consider removing one of the lockfiles if it's not needed. + See https://nextjs.org/docs/app/api-reference/config/next-config-js/output#caveats for more information. + Detected additional lockfiles: + * C:\Users\Legion\sequence.js\pnpm-lock.yaml[?25h✔ No ESLint warnings or errors + diff --git a/extras/web/.turbo/turbo-typecheck.log b/extras/web/.turbo/turbo-typecheck.log new file mode 100644 index 0000000000..6e4193bcf8 --- /dev/null +++ b/extras/web/.turbo/turbo-typecheck.log @@ -0,0 +1,2 @@ +[?25l> web@0.1.0 typecheck C:\Users\Legion\sequence.js\extras\web +> tsc --noEmit]0;C:\Windows\system32\cmd.exe[?25h diff --git a/lib/signals-implicit-mode/out/Attestation.sol/LibAttestation.json b/lib/signals-implicit-mode/out/Attestation.sol/LibAttestation.json new file mode 100644 index 0000000000..3a56db14ae --- /dev/null +++ b/lib/signals-implicit-mode/out/Attestation.sol/LibAttestation.json @@ -0,0 +1 @@ +{"abi":[],"bytecode":{"object":"0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220e4bfbe1afc49c34591a3639623af5f86d0425e18dd291860b505431a223a71d664736f6c634300081c0033","sourceMap":"1023:3579:21:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1023:3579:21;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220e4bfbe1afc49c34591a3639623af5f86d0425e18dd291860b505431a223a71d664736f6c634300081c0033","sourceMap":"1023:3579:21:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Michael Standen\",\"kind\":\"dev\",\"methods\":{},\"title\":\"LibAttestation\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Library for attestation management\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/sequence-v3/src/extensions/sessions/implicit/Attestation.sol\":\"LibAttestation\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/sequence-v3/src/extensions/sessions/implicit/Attestation.sol\":{\"keccak256\":\"0xcaa44022b5eb4bc7ab487b3b1a0125da67e2e891cee983ef6cdb6814f045efc8\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://94829782b6dcb482d7c002511c590d1ad8de3b21e5e72575df18be73565b3638\",\"dweb:/ipfs/QmZ4u9FxALzMzKR7auW8FmFkhGVw8kRDeDRJ1PKwKaWNWF\"]},\"lib/sequence-v3/src/extensions/sessions/implicit/ISignalsImplicitMode.sol\":{\"keccak256\":\"0x6cb48f50c49bcb3c7071306fe9fac6c102bc9eabf73d9909e19ab3b9a835d0a8\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://15297e969f64fc1152654d1cefbe276c15a0ecfc11f86b4c276bb0b454fe700a\",\"dweb:/ipfs/QmeehNFYBPPtJePwUcqiYCgiuFotur4VVVCV1KvegdCCZ4\"]},\"lib/sequence-v3/src/modules/Payload.sol\":{\"keccak256\":\"0x03b3dc2a4a556d3007671e910813dc4703ecb16f5bc2c6645e4c0d8512f2d76a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://9b41263156d5a310a48038e8c3871e9acdb806c018bc952d1a56efed62954e17\",\"dweb:/ipfs/QmaiuTbQgaiCvtN2V6roe4RTi6hHV85mNZpWKqvKA8ofqw\"]},\"lib/sequence-v3/src/utils/LibBytes.sol\":{\"keccak256\":\"0x4fe0b4786b2157e12384b90ae9daa1009b74b2547a8a24b800a8b998278c874b\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://065129e32d1a318e89fb7587e136c33177a7848393f9055c0ac601b84741cd8c\",\"dweb:/ipfs/QmVWucfHSHRJriRFNoJqoeDcVB4fDfqbccM8KPBmwcxVu3\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/sequence-v3/src/extensions/sessions/implicit/Attestation.sol":"LibAttestation"},"evmVersion":"prague","libraries":{}},"sources":{"lib/sequence-v3/src/extensions/sessions/implicit/Attestation.sol":{"keccak256":"0xcaa44022b5eb4bc7ab487b3b1a0125da67e2e891cee983ef6cdb6814f045efc8","urls":["bzz-raw://94829782b6dcb482d7c002511c590d1ad8de3b21e5e72575df18be73565b3638","dweb:/ipfs/QmZ4u9FxALzMzKR7auW8FmFkhGVw8kRDeDRJ1PKwKaWNWF"],"license":"Apache-2.0"},"lib/sequence-v3/src/extensions/sessions/implicit/ISignalsImplicitMode.sol":{"keccak256":"0x6cb48f50c49bcb3c7071306fe9fac6c102bc9eabf73d9909e19ab3b9a835d0a8","urls":["bzz-raw://15297e969f64fc1152654d1cefbe276c15a0ecfc11f86b4c276bb0b454fe700a","dweb:/ipfs/QmeehNFYBPPtJePwUcqiYCgiuFotur4VVVCV1KvegdCCZ4"],"license":"Apache-2.0"},"lib/sequence-v3/src/modules/Payload.sol":{"keccak256":"0x03b3dc2a4a556d3007671e910813dc4703ecb16f5bc2c6645e4c0d8512f2d76a","urls":["bzz-raw://9b41263156d5a310a48038e8c3871e9acdb806c018bc952d1a56efed62954e17","dweb:/ipfs/QmaiuTbQgaiCvtN2V6roe4RTi6hHV85mNZpWKqvKA8ofqw"],"license":"Apache-2.0"},"lib/sequence-v3/src/utils/LibBytes.sol":{"keccak256":"0x4fe0b4786b2157e12384b90ae9daa1009b74b2547a8a24b800a8b998278c874b","urls":["bzz-raw://065129e32d1a318e89fb7587e136c33177a7848393f9055c0ac601b84741cd8c","dweb:/ipfs/QmVWucfHSHRJriRFNoJqoeDcVB4fDfqbccM8KPBmwcxVu3"],"license":"Apache-2.0"}},"version":1},"id":21} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/Base.sol/CommonBase.json b/lib/signals-implicit-mode/out/Base.sol/CommonBase.json new file mode 100644 index 0000000000..cad4a59e73 --- /dev/null +++ b/lib/signals-implicit-mode/out/Base.sol/CommonBase.json @@ -0,0 +1 @@ +{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"CONSOLE\":{\"details\":\"console.sol and console2.sol work by executing a staticcall to this address. Calculated as `address(uint160(uint88(bytes11(\\\"console.log\\\"))))`.\"},\"CREATE2_FACTORY\":{\"details\":\"Used when deploying with create2. Taken from https://github.com/Arachnid/deterministic-deployment-proxy.\"},\"DEFAULT_SENDER\":{\"details\":\"The default address for tx.origin and msg.sender. Calculated as `address(uint160(uint256(keccak256(\\\"foundry default caller\\\"))))`.\"},\"DEFAULT_TEST_CONTRACT\":{\"details\":\"The address of the first contract `CREATE`d by a running test contract. When running tests, each test contract is `CREATE`d by `DEFAULT_SENDER` with nonce 1. Calculated as `VM.computeCreateAddress(VM.computeCreateAddress(DEFAULT_SENDER, 1), 1)`.\"},\"MULTICALL3_ADDRESS\":{\"details\":\"Deterministic deployment address of the Multicall3 contract. Taken from https://www.multicall3.com.\"},\"SECP256K1_ORDER\":{\"details\":\"The order of the secp256k1 curve.\"},\"VM_ADDRESS\":{\"details\":\"Cheat code address. Calculated as `address(uint160(uint256(keccak256(\\\"hevm cheat code\\\"))))`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Base.sol\":\"CommonBase\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9\",\"dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/Base.sol":"CommonBase"},"evmVersion":"prague","libraries":{}},"sources":{"lib/forge-std/src/Base.sol":{"keccak256":"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf","urls":["bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d","dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd","urls":["bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc","dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39","urls":["bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9","dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB"],"license":"MIT OR Apache-2.0"}},"version":1},"id":0} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/Base.sol/ScriptBase.json b/lib/signals-implicit-mode/out/Base.sol/ScriptBase.json new file mode 100644 index 0000000000..3ce27015fa --- /dev/null +++ b/lib/signals-implicit-mode/out/Base.sol/ScriptBase.json @@ -0,0 +1 @@ +{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Base.sol\":\"ScriptBase\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9\",\"dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/Base.sol":"ScriptBase"},"evmVersion":"prague","libraries":{}},"sources":{"lib/forge-std/src/Base.sol":{"keccak256":"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf","urls":["bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d","dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd","urls":["bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc","dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39","urls":["bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9","dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB"],"license":"MIT OR Apache-2.0"}},"version":1},"id":0} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/Base.sol/TestBase.json b/lib/signals-implicit-mode/out/Base.sol/TestBase.json new file mode 100644 index 0000000000..acaa026f22 --- /dev/null +++ b/lib/signals-implicit-mode/out/Base.sol/TestBase.json @@ -0,0 +1 @@ +{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Base.sol\":\"TestBase\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9\",\"dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/Base.sol":"TestBase"},"evmVersion":"prague","libraries":{}},"sources":{"lib/forge-std/src/Base.sol":{"keccak256":"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf","urls":["bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d","dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd","urls":["bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc","dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39","urls":["bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9","dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB"],"license":"MIT OR Apache-2.0"}},"version":1},"id":0} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/Deploy.s.sol/Deploy.json b/lib/signals-implicit-mode/out/Deploy.s.sol/Deploy.json new file mode 100644 index 0000000000..a08f6b5906 --- /dev/null +++ b/lib/signals-implicit-mode/out/Deploy.s.sol/Deploy.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"run","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"error","name":"DeploymentFailed","inputs":[{"name":"reason","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x6080604052600c805462ff00ff191662010001179055348015601f575f5ffd5b5061250c8061002d5f395ff3fe608060405234801561000f575f5ffd5b5060043610610034575f3560e01c8063c040622614610038578063f8ccbf4714610042575b5f5ffd5b610040610069565b005b600c546100559062010000900460ff1681565b604051901515815260200160405180910390f35b6040517fc1978d1f00000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f505249564154455f4b455900000000000000000000000000000000000000000060448201525f90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c1978d1f90606401602060405180830381865afa1580156100ff573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101239190610a5c565b6040519091505f90819061013960208201610a4f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082820381018352601f9091011660408190526101799190602001610a73565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828201909152601782527f496d706c6963697450726f6a6563745265676973747279000000000000000000602083015291506101e2908284866101e8565b50505050565b5f6101f282610544565b6101fc84846107eb565b905060028173ffffffffffffffffffffffffffffffffffffffff163b116104fc5761025d856040518060400160405280600c81526020017f6465706c6f79696e6720746f000000000000000000000000000000000000000081525083610870565b6040517fce817d4700000000000000000000000000000000000000000000000000000000815260048101839052737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ce817d47906024015f604051808303815f87803b1580156102c0575f5ffd5b505af11580156102d2573d5f5f3e3d5ffd5b50506040517f4af63f020000000000000000000000000000000000000000000000000000000081525f925073ce0042b868300000d44a59004da54a005ffdcf9f9150634af63f029061032a9088908890600401610ad5565b6020604051808303815f875af1158015610346573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061036a9190610af6565b9050737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff166376eadd366040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156103c5575f5ffd5b505af11580156103d7573d5f5f3e3d5ffd5b505050508073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610475576040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4465706c6f7965642061646472657373206d69736d617463680000000000000060448201526064015b60405180910390fd5b60028273ffffffffffffffffffffffffffffffffffffffff163b116104f6576040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4465706c6f796d656e74206661696c6564000000000000000000000000000000604482015260640161046c565b5061053c565b61053c856040518060400160405280601381526020017f616c7265616479206465706c6f79656420746f0000000000000000000000000081525083610870565b949350505050565b600273ce0042b868300000d44a59004da54a005ffdcf9f3b116107e8576657c084e5f3c00073bb6e024b9cffacb947a71991e386681b1cd1477d3110156106ff576105c36040518060400160405280601d81526020017f46756e64696e672053696e676c65746f6e20466163746f727920454f41000000815250610908565b6040517fce817d4700000000000000000000000000000000000000000000000000000000815260048101829052737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ce817d47906024015f604051808303815f87803b158015610626575f5ffd5b505af1158015610638573d5f5f3e3d5ffd5b5073bb6e024b9cffacb947a71991e386681b1cd1477d92506108fc9150610669905082316657c084e5f3c000610b30565b6040518115909202915f818181858888f1935050505015801561068e573d5f5f3e3d5ffd5b50737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff166376eadd366040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156106e8575f5ffd5b505af11580156106fa573d5f5f3e3d5ffd5b505050505b6107526040518060400160405280601e81526020017f4465706c6f79696e672053696e676c65746f6e20466163746f727920746f000081525073ce0042b868300000d44a59004da54a005ffdcf9f610997565b737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff16638c0c72e0604051806101a0016040528061016f815260200161236861016f91396040518263ffffffff1660e01b81526004016107ba9190610b68565b5f604051808303815f87803b1580156107d1575f5ffd5b505af11580156107e3573d5f5f3e3d5ffd5b505050505b50565b8151602080840191909120604080517fff00000000000000000000000000000000000000000000000000000000000000818501527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218201526035810185905260558082019390935281518082039093018352607501905280519101205b92915050565b61090383838360405160240161088893929190610b7a565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f95ed019500000000000000000000000000000000000000000000000000000000179052610a2c565b505050565b6107e88160405160240161091c9190610b68565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052610a2c565b610a2882826040516024016109ad929190610bc5565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f319af33300000000000000000000000000000000000000000000000000000000179052610a2c565b5050565b6107e8815f6a636f6e736f6c652e6c6f6790505f5f835160208501845afa505050565b61176b80610bfd83390190565b5f60208284031215610a6c575f5ffd5b5051919050565b5f82518060208501845e5f920191825250919050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b604081525f610ae76040830185610a89565b90508260208301529392505050565b5f60208284031215610b06575f5ffd5b815173ffffffffffffffffffffffffffffffffffffffff81168114610b29575f5ffd5b9392505050565b8181038181111561086a577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b602081525f610b296020830184610a89565b606081525f610b8c6060830186610a89565b8281036020840152610b9e8186610a89565b91505073ffffffffffffffffffffffffffffffffffffffff83166040830152949350505050565b604081525f610bd76040830185610a89565b905073ffffffffffffffffffffffffffffffffffffffff83166020830152939250505056fe6080604052348015600e575f5ffd5b5061174f8061001c5f395ff3fe608060405234801561000f575f5ffd5b50600436106100e5575f3560e01c8063a25acb2511610088578063d9acbe6b11610063578063d9acbe6b146101e6578063dac6c587146101f9578063ebc27b821461020c578063f4364de614610266575f5ffd5b8063a25acb2514610183578063d4c9c5c4146101c0578063d4df1018146101d3575f5ffd5b80633808a90b116100c35780633808a90b14610124578063520994f11461014a57806356cd2b921461015d5780639630aff814610170575f5ffd5b8063065d6c69146100e95780631b31f01b146100fe5780632f28c69d14610111575b5f5ffd5b6100fc6100f7366004610ff9565b610286565b005b6100fc61010c36600461103d565b610320565b6100fc61011f3660046110f6565b610389565b610137610132366004611158565b6103fe565b6040519081526020015b60405180910390f35b6100fc6101583660046111b0565b6104cb565b6100fc61016b3660046111d0565b610533565b6100fc61017e36600461128d565b6105ca565b6101b06101913660046111b0565b600160209081525f928352604080842090915290825290205460ff1681565b6040519015158152602001610141565b6100fc6101ce3660046112b7565b6106f3565b6101376101e136600461137d565b610879565b6101376101f43660046111b0565b610a00565b6100fc6102073660046110f6565b610a2b565b61024161021a3660046113bc565b5f6020819052908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610141565b6102796102743660046113bc565b610b22565b60405161014191906113d3565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff1633146102e4576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b825181101561031a576103128484838151811061030557610305611415565b6020026020010151610b81565b6001016102e6565b50505050565b5f83815260208190526040902054839073ffffffffffffffffffffffffffffffffffffffff16331461037e576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61031a848484610c5d565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff1633146103e7576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103f9836103f484610ddc565b610b81565b505050565b5f8061045361041060a0860186611442565b61041a908061147e565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610ddc92505050565b5f84815260016020908152604080832084845290915290205490915060ff16156104925761048a856104848661159a565b90610e0b565b9150506104c4565b6040517fd7abef4e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9392505050565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163314610529576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103f98383610b81565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163314610591576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b825181101561031a576105c2846103f48584815181106105b5576105b5611415565b6020026020010151610ddc565b600101610593565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163314610628576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216610675576040517fff7d580d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8381526020819052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff86169081179091559051909185917f7869f0fa3d7efaa83c69bf6de987567787178b8d7e41fea0cadfea68a2e27de59190a3505050565b5f83815260208190526040902054839073ffffffffffffffffffffffffffffffffffffffff163314610751576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815183511461078c576040517f526c768700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b6001835161079c919061166b565b81101561082157826107af82600161167e565b815181106107bf576107bf611415565b60200260200101518382815181106107d9576107d9611415565b60200260200101511015610819576040517f526c768700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60010161078e565b505f5b83518110156108725761086a8585838151811061084357610843611415565b602002602001015185848151811061085d5761085d611415565b6020026020010151610c5d565b600101610824565b5050505050565b5f33806108b2576040517fff7d580d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080517fffffffffffffffffffffffff0000000000000000000000000000000000000000851660208201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606084901b16602c8201520160405160208183030381529060405261092390611691565b5f8181526020819052604090205490925073ffffffffffffffffffffffffffffffffffffffff1615610981576040517ffeabeb4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8281526020819052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff85169081179091559051909184917f0f01cd0734cc8ed416ac6ca25cb4fe02dbab63f1236af3858deb14a5666362389190a350919050565b6002602052815f5260405f208181548110610a19575f80fd5b905f5260205f20015f91509150505481565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163314610a89576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610a9383610ddc565b90505f5b5f85815260026020526040902054811015610aef575f858152600260205260409020805483919083908110610ace57610ace611415565b905f5260205f20015403610ae757610872858383610c5d565b600101610a97565b506040517f4745a4ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81815260026020908152604091829020805483518184028101840190945280845260609392830182828015610b7557602002820191905f5260205f20905b815481526020019060010190808311610b61575b50505050509050919050565b5f82815260016020908152604080832084845290915290205460ff1615610bd4576040517f2d86c03a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f828152600160208181526040808420858552825280842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016841790558584526002825280842080549384018155845290832090910183905551829184917fceac3080d7874c4bba80ceae14b6aa96e0df9d4f673d9e5a352d66444f5020679190a35050565b5f8381526002602052604090205481101580610ca257505f838152600260205260409020805483919083908110610c9657610c96611415565b905f5260205f20015414155b15610cd9576040517f526c768700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f838152600160208181526040808420868552825280842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055868452600290915290912080549091610d2f9161166b565b81548110610d3f57610d3f611415565b905f5260205f20015460025f8581526020019081526020015f208281548110610d6a57610d6a611415565b905f5260205f20018190555060025f8481526020019081526020015f20805480610d9657610d966116d6565b600190038181905f5260205f20015f9055905581837f13d94de535e503661de3c84adf637590f269f37c8d4ed5daabae98376a442a6a60405160405180910390a3505050565b5f81604051602001610dee9190611703565b604051602081830303815290604052805190602001209050919050565b6040517f616363657074496d706c6963697452657175657374000000000000000000000060208201525f90603501604051602081830303815290604052805190602001208284606001518560400151604051602001610ea8949392919093845260609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208401526034830152605482015260740190565b6040516020818303038152906040528051906020012090505b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60405160c0810167ffffffffffffffff81118282101715610f1757610f17610ec7565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610f6457610f64610ec7565b604052919050565b5f67ffffffffffffffff821115610f8557610f85610ec7565b5060051b60200190565b5f82601f830112610f9e575f5ffd5b8135610fb1610fac82610f6c565b610f1d565b8082825260208201915060208360051b860101925085831115610fd2575f5ffd5b602085015b83811015610fef578035835260209283019201610fd7565b5095945050505050565b5f5f6040838503121561100a575f5ffd5b82359150602083013567ffffffffffffffff811115611027575f5ffd5b61103385828601610f8f565b9150509250929050565b5f5f5f6060848603121561104f575f5ffd5b505081359360208301359350604090920135919050565b5f82601f830112611075575f5ffd5b8135602083015f5f67ffffffffffffffff84111561109557611095610ec7565b50601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0166020016110c881610f1d565b9150508281528583830111156110dc575f5ffd5b828260208301375f92810160200192909252509392505050565b5f5f60408385031215611107575f5ffd5b82359150602083013567ffffffffffffffff811115611124575f5ffd5b61103385828601611066565b803573ffffffffffffffffffffffffffffffffffffffff81168114611153575f5ffd5b919050565b5f5f5f6060848603121561116a575f5ffd5b61117384611130565b9250602084013567ffffffffffffffff81111561118e575f5ffd5b840160c0818703121561119f575f5ffd5b929592945050506040919091013590565b5f5f604083850312156111c1575f5ffd5b50508035926020909101359150565b5f5f604083850312156111e1575f5ffd5b82359150602083013567ffffffffffffffff8111156111fe575f5ffd5b8301601f8101851361120e575f5ffd5b803561121c610fac82610f6c565b8082825260208201915060208360051b85010192508783111561123d575f5ffd5b602084015b8381101561127e57803567ffffffffffffffff811115611260575f5ffd5b61126f8a602083890101611066565b84525060209283019201611242565b50809450505050509250929050565b5f5f6040838503121561129e575f5ffd5b823591506112ae60208401611130565b90509250929050565b5f5f5f606084860312156112c9575f5ffd5b83359250602084013567ffffffffffffffff8111156112e6575f5ffd5b6112f286828701610f8f565b925050604084013567ffffffffffffffff81111561130e575f5ffd5b8401601f8101861361131e575f5ffd5b803561132c610fac82610f6c565b8082825260208201915060208360051b85010192508883111561134d575f5ffd5b6020840193505b8284101561136f578335825260209384019390910190611354565b809450505050509250925092565b5f6020828403121561138d575f5ffd5b81357fffffffffffffffffffffffff0000000000000000000000000000000000000000811681146104c4575f5ffd5b5f602082840312156113cc575f5ffd5b5035919050565b602080825282518282018190525f918401906040840190835b8181101561140a5783518352602093840193909201916001016113ec565b509095945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112611474575f5ffd5b9190910192915050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126114b1575f5ffd5b83018035915067ffffffffffffffff8211156114cb575f5ffd5b6020019150368190038213156114df575f5ffd5b9250929050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114611153575f5ffd5b5f60408284031215611525575f5ffd5b6040805190810167ffffffffffffffff8111828210171561154857611548610ec7565b604052905080823567ffffffffffffffff811115611564575f5ffd5b61157085828601611066565b825250602083013567ffffffffffffffff8116811461158d575f5ffd5b6020919091015292915050565b5f60c082360312156115aa575f5ffd5b6115b2610ef4565b6115bb83611130565b81526115c9602084016114e6565b60208201526040838101359082015260608084013590820152608083013567ffffffffffffffff8111156115fb575f5ffd5b61160736828601611066565b60808301525060a083013567ffffffffffffffff811115611626575f5ffd5b61163236828601611515565b60a08301525092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b81810381811115610ec157610ec161163e565b80820180821115610ec157610ec161163e565b805160208083015191908110156116d0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8160200360031b1b821691505b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b5f82518060208501845e5f92019182525091905056fea2646970667358221220eff7a239b8ebc55f56295f057cc1827136d7f792f7aac5663d6082776f11363064736f6c634300081c0033f9016c8085174876e8008303c4d88080b90154608060405234801561001057600080fd5b50610134806100206000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd5b60cf60048036036040811015604157600080fd5b810190602081018135640100000000811115605b57600080fd5b820183602082011115606c57600080fd5b80359060200191846001830284011164010000000083111715608d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550509135925060eb915050565b604080516001600160a01b039092168252519081900360200190f35b6000818351602085016000f5939250505056fea26469706673582212206b44f8a82cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c634300060200331b83247000822470a2646970667358221220806eb312a6509f3ae0c4878290fe4e3e00e33501d6bfb492b801c5696f70fe4e64736f6c634300081c0033","sourceMap":"240:313:21:-:0;;;3160:44:2;;;-1:-1:-1;;849:28:1;;;;;240:313:21;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f5ffd5b5060043610610034575f3560e01c8063c040622614610038578063f8ccbf4714610042575b5f5ffd5b610040610069565b005b600c546100559062010000900460ff1681565b604051901515815260200160405180910390f35b6040517fc1978d1f00000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f505249564154455f4b455900000000000000000000000000000000000000000060448201525f90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c1978d1f90606401602060405180830381865afa1580156100ff573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101239190610a5c565b6040519091505f90819061013960208201610a4f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082820381018352601f9091011660408190526101799190602001610a73565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828201909152601782527f496d706c6963697450726f6a6563745265676973747279000000000000000000602083015291506101e2908284866101e8565b50505050565b5f6101f282610544565b6101fc84846107eb565b905060028173ffffffffffffffffffffffffffffffffffffffff163b116104fc5761025d856040518060400160405280600c81526020017f6465706c6f79696e6720746f000000000000000000000000000000000000000081525083610870565b6040517fce817d4700000000000000000000000000000000000000000000000000000000815260048101839052737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ce817d47906024015f604051808303815f87803b1580156102c0575f5ffd5b505af11580156102d2573d5f5f3e3d5ffd5b50506040517f4af63f020000000000000000000000000000000000000000000000000000000081525f925073ce0042b868300000d44a59004da54a005ffdcf9f9150634af63f029061032a9088908890600401610ad5565b6020604051808303815f875af1158015610346573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061036a9190610af6565b9050737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff166376eadd366040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156103c5575f5ffd5b505af11580156103d7573d5f5f3e3d5ffd5b505050508073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610475576040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4465706c6f7965642061646472657373206d69736d617463680000000000000060448201526064015b60405180910390fd5b60028273ffffffffffffffffffffffffffffffffffffffff163b116104f6576040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4465706c6f796d656e74206661696c6564000000000000000000000000000000604482015260640161046c565b5061053c565b61053c856040518060400160405280601381526020017f616c7265616479206465706c6f79656420746f0000000000000000000000000081525083610870565b949350505050565b600273ce0042b868300000d44a59004da54a005ffdcf9f3b116107e8576657c084e5f3c00073bb6e024b9cffacb947a71991e386681b1cd1477d3110156106ff576105c36040518060400160405280601d81526020017f46756e64696e672053696e676c65746f6e20466163746f727920454f41000000815250610908565b6040517fce817d4700000000000000000000000000000000000000000000000000000000815260048101829052737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ce817d47906024015f604051808303815f87803b158015610626575f5ffd5b505af1158015610638573d5f5f3e3d5ffd5b5073bb6e024b9cffacb947a71991e386681b1cd1477d92506108fc9150610669905082316657c084e5f3c000610b30565b6040518115909202915f818181858888f1935050505015801561068e573d5f5f3e3d5ffd5b50737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff166376eadd366040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156106e8575f5ffd5b505af11580156106fa573d5f5f3e3d5ffd5b505050505b6107526040518060400160405280601e81526020017f4465706c6f79696e672053696e676c65746f6e20466163746f727920746f000081525073ce0042b868300000d44a59004da54a005ffdcf9f610997565b737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff16638c0c72e0604051806101a0016040528061016f815260200161236861016f91396040518263ffffffff1660e01b81526004016107ba9190610b68565b5f604051808303815f87803b1580156107d1575f5ffd5b505af11580156107e3573d5f5f3e3d5ffd5b505050505b50565b8151602080840191909120604080517fff00000000000000000000000000000000000000000000000000000000000000818501527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218201526035810185905260558082019390935281518082039093018352607501905280519101205b92915050565b61090383838360405160240161088893929190610b7a565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f95ed019500000000000000000000000000000000000000000000000000000000179052610a2c565b505050565b6107e88160405160240161091c9190610b68565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052610a2c565b610a2882826040516024016109ad929190610bc5565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f319af33300000000000000000000000000000000000000000000000000000000179052610a2c565b5050565b6107e8815f6a636f6e736f6c652e6c6f6790505f5f835160208501845afa505050565b61176b80610bfd83390190565b5f60208284031215610a6c575f5ffd5b5051919050565b5f82518060208501845e5f920191825250919050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b604081525f610ae76040830185610a89565b90508260208301529392505050565b5f60208284031215610b06575f5ffd5b815173ffffffffffffffffffffffffffffffffffffffff81168114610b29575f5ffd5b9392505050565b8181038181111561086a577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b602081525f610b296020830184610a89565b606081525f610b8c6060830186610a89565b8281036020840152610b9e8186610a89565b91505073ffffffffffffffffffffffffffffffffffffffff83166040830152949350505050565b604081525f610bd76040830185610a89565b905073ffffffffffffffffffffffffffffffffffffffff83166020830152939250505056fe6080604052348015600e575f5ffd5b5061174f8061001c5f395ff3fe608060405234801561000f575f5ffd5b50600436106100e5575f3560e01c8063a25acb2511610088578063d9acbe6b11610063578063d9acbe6b146101e6578063dac6c587146101f9578063ebc27b821461020c578063f4364de614610266575f5ffd5b8063a25acb2514610183578063d4c9c5c4146101c0578063d4df1018146101d3575f5ffd5b80633808a90b116100c35780633808a90b14610124578063520994f11461014a57806356cd2b921461015d5780639630aff814610170575f5ffd5b8063065d6c69146100e95780631b31f01b146100fe5780632f28c69d14610111575b5f5ffd5b6100fc6100f7366004610ff9565b610286565b005b6100fc61010c36600461103d565b610320565b6100fc61011f3660046110f6565b610389565b610137610132366004611158565b6103fe565b6040519081526020015b60405180910390f35b6100fc6101583660046111b0565b6104cb565b6100fc61016b3660046111d0565b610533565b6100fc61017e36600461128d565b6105ca565b6101b06101913660046111b0565b600160209081525f928352604080842090915290825290205460ff1681565b6040519015158152602001610141565b6100fc6101ce3660046112b7565b6106f3565b6101376101e136600461137d565b610879565b6101376101f43660046111b0565b610a00565b6100fc6102073660046110f6565b610a2b565b61024161021a3660046113bc565b5f6020819052908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610141565b6102796102743660046113bc565b610b22565b60405161014191906113d3565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff1633146102e4576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b825181101561031a576103128484838151811061030557610305611415565b6020026020010151610b81565b6001016102e6565b50505050565b5f83815260208190526040902054839073ffffffffffffffffffffffffffffffffffffffff16331461037e576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61031a848484610c5d565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff1633146103e7576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103f9836103f484610ddc565b610b81565b505050565b5f8061045361041060a0860186611442565b61041a908061147e565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610ddc92505050565b5f84815260016020908152604080832084845290915290205490915060ff16156104925761048a856104848661159a565b90610e0b565b9150506104c4565b6040517fd7abef4e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9392505050565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163314610529576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103f98383610b81565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163314610591576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b825181101561031a576105c2846103f48584815181106105b5576105b5611415565b6020026020010151610ddc565b600101610593565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163314610628576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216610675576040517fff7d580d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8381526020819052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff86169081179091559051909185917f7869f0fa3d7efaa83c69bf6de987567787178b8d7e41fea0cadfea68a2e27de59190a3505050565b5f83815260208190526040902054839073ffffffffffffffffffffffffffffffffffffffff163314610751576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815183511461078c576040517f526c768700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b6001835161079c919061166b565b81101561082157826107af82600161167e565b815181106107bf576107bf611415565b60200260200101518382815181106107d9576107d9611415565b60200260200101511015610819576040517f526c768700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60010161078e565b505f5b83518110156108725761086a8585838151811061084357610843611415565b602002602001015185848151811061085d5761085d611415565b6020026020010151610c5d565b600101610824565b5050505050565b5f33806108b2576040517fff7d580d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080517fffffffffffffffffffffffff0000000000000000000000000000000000000000851660208201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606084901b16602c8201520160405160208183030381529060405261092390611691565b5f8181526020819052604090205490925073ffffffffffffffffffffffffffffffffffffffff1615610981576040517ffeabeb4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8281526020819052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff85169081179091559051909184917f0f01cd0734cc8ed416ac6ca25cb4fe02dbab63f1236af3858deb14a5666362389190a350919050565b6002602052815f5260405f208181548110610a19575f80fd5b905f5260205f20015f91509150505481565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163314610a89576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610a9383610ddc565b90505f5b5f85815260026020526040902054811015610aef575f858152600260205260409020805483919083908110610ace57610ace611415565b905f5260205f20015403610ae757610872858383610c5d565b600101610a97565b506040517f4745a4ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81815260026020908152604091829020805483518184028101840190945280845260609392830182828015610b7557602002820191905f5260205f20905b815481526020019060010190808311610b61575b50505050509050919050565b5f82815260016020908152604080832084845290915290205460ff1615610bd4576040517f2d86c03a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f828152600160208181526040808420858552825280842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016841790558584526002825280842080549384018155845290832090910183905551829184917fceac3080d7874c4bba80ceae14b6aa96e0df9d4f673d9e5a352d66444f5020679190a35050565b5f8381526002602052604090205481101580610ca257505f838152600260205260409020805483919083908110610c9657610c96611415565b905f5260205f20015414155b15610cd9576040517f526c768700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f838152600160208181526040808420868552825280842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055868452600290915290912080549091610d2f9161166b565b81548110610d3f57610d3f611415565b905f5260205f20015460025f8581526020019081526020015f208281548110610d6a57610d6a611415565b905f5260205f20018190555060025f8481526020019081526020015f20805480610d9657610d966116d6565b600190038181905f5260205f20015f9055905581837f13d94de535e503661de3c84adf637590f269f37c8d4ed5daabae98376a442a6a60405160405180910390a3505050565b5f81604051602001610dee9190611703565b604051602081830303815290604052805190602001209050919050565b6040517f616363657074496d706c6963697452657175657374000000000000000000000060208201525f90603501604051602081830303815290604052805190602001208284606001518560400151604051602001610ea8949392919093845260609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208401526034830152605482015260740190565b6040516020818303038152906040528051906020012090505b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60405160c0810167ffffffffffffffff81118282101715610f1757610f17610ec7565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610f6457610f64610ec7565b604052919050565b5f67ffffffffffffffff821115610f8557610f85610ec7565b5060051b60200190565b5f82601f830112610f9e575f5ffd5b8135610fb1610fac82610f6c565b610f1d565b8082825260208201915060208360051b860101925085831115610fd2575f5ffd5b602085015b83811015610fef578035835260209283019201610fd7565b5095945050505050565b5f5f6040838503121561100a575f5ffd5b82359150602083013567ffffffffffffffff811115611027575f5ffd5b61103385828601610f8f565b9150509250929050565b5f5f5f6060848603121561104f575f5ffd5b505081359360208301359350604090920135919050565b5f82601f830112611075575f5ffd5b8135602083015f5f67ffffffffffffffff84111561109557611095610ec7565b50601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0166020016110c881610f1d565b9150508281528583830111156110dc575f5ffd5b828260208301375f92810160200192909252509392505050565b5f5f60408385031215611107575f5ffd5b82359150602083013567ffffffffffffffff811115611124575f5ffd5b61103385828601611066565b803573ffffffffffffffffffffffffffffffffffffffff81168114611153575f5ffd5b919050565b5f5f5f6060848603121561116a575f5ffd5b61117384611130565b9250602084013567ffffffffffffffff81111561118e575f5ffd5b840160c0818703121561119f575f5ffd5b929592945050506040919091013590565b5f5f604083850312156111c1575f5ffd5b50508035926020909101359150565b5f5f604083850312156111e1575f5ffd5b82359150602083013567ffffffffffffffff8111156111fe575f5ffd5b8301601f8101851361120e575f5ffd5b803561121c610fac82610f6c565b8082825260208201915060208360051b85010192508783111561123d575f5ffd5b602084015b8381101561127e57803567ffffffffffffffff811115611260575f5ffd5b61126f8a602083890101611066565b84525060209283019201611242565b50809450505050509250929050565b5f5f6040838503121561129e575f5ffd5b823591506112ae60208401611130565b90509250929050565b5f5f5f606084860312156112c9575f5ffd5b83359250602084013567ffffffffffffffff8111156112e6575f5ffd5b6112f286828701610f8f565b925050604084013567ffffffffffffffff81111561130e575f5ffd5b8401601f8101861361131e575f5ffd5b803561132c610fac82610f6c565b8082825260208201915060208360051b85010192508883111561134d575f5ffd5b6020840193505b8284101561136f578335825260209384019390910190611354565b809450505050509250925092565b5f6020828403121561138d575f5ffd5b81357fffffffffffffffffffffffff0000000000000000000000000000000000000000811681146104c4575f5ffd5b5f602082840312156113cc575f5ffd5b5035919050565b602080825282518282018190525f918401906040840190835b8181101561140a5783518352602093840193909201916001016113ec565b509095945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112611474575f5ffd5b9190910192915050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126114b1575f5ffd5b83018035915067ffffffffffffffff8211156114cb575f5ffd5b6020019150368190038213156114df575f5ffd5b9250929050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114611153575f5ffd5b5f60408284031215611525575f5ffd5b6040805190810167ffffffffffffffff8111828210171561154857611548610ec7565b604052905080823567ffffffffffffffff811115611564575f5ffd5b61157085828601611066565b825250602083013567ffffffffffffffff8116811461158d575f5ffd5b6020919091015292915050565b5f60c082360312156115aa575f5ffd5b6115b2610ef4565b6115bb83611130565b81526115c9602084016114e6565b60208201526040838101359082015260608084013590820152608083013567ffffffffffffffff8111156115fb575f5ffd5b61160736828601611066565b60808301525060a083013567ffffffffffffffff811115611626575f5ffd5b61163236828601611515565b60a08301525092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b81810381811115610ec157610ec161163e565b80820180821115610ec157610ec161163e565b805160208083015191908110156116d0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8160200360031b1b821691505b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b5f82518060208501845e5f92019182525091905056fea2646970667358221220eff7a239b8ebc55f56295f057cc1827136d7f792f7aac5663d6082776f11363064736f6c634300081c0033f9016c8085174876e8008303c4d88080b90154608060405234801561001057600080fd5b50610134806100206000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd5b60cf60048036036040811015604157600080fd5b810190602081018135640100000000811115605b57600080fd5b820183602082011115606c57600080fd5b80359060200191846001830284011164010000000083111715608d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550509135925060eb915050565b604080516001600160a01b039092168252519081900360200190f35b6000818351602085016000f5939250505056fea26469706673582212206b44f8a82cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c634300060200331b83247000822470a2646970667358221220806eb312a6509f3ae0c4878290fe4e3e00e33501d6bfb492b801c5696f70fe4e64736f6c634300081c0033","sourceMap":"240:313:21:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;282:268;;;:::i;:::-;;849:28:1;;;;;;;;;;;;;;;179:14:25;;172:22;154:41;;142:2;127:18;849:28:1;;;;;;;282:268:21;325:25;;;;;408:2:25;325:25:21;;;390:21:25;447:2;427:18;;;420:30;486:13;466:18;;;459:41;312:10:21;;336:42:0;;325:10:21;;517:18:25;;325:25:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;430:42;;312:38;;-1:-1:-1;357:12:21;;;;430:42;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;413:60;;430:42;;413:60;;:::i;:::-;;;;;;;;;;;479:66;;;;;;;;;;413:60;479:66;;;413:60;-1:-1:-1;479:66:21;;413:60;536:4;542:2;479:19;:66::i;:::-;;306:244;;;282:268::o;1191:843:15:-;1325:12;1353:39;1389:2;1353:35;:39::i;:::-;1409:37;1429:9;1440:5;1409:19;:37::i;:::-;1402:44;;1480:1;1460:4;:16;;;:21;1456:551;;1497:39;1509:4;1497:39;;;;;;;;;;;;;;;;;1531:4;1497:11;:39::i;:::-;1550:21;;;;;;;;1187:25:25;;;336:42:0;;1550:17:15;;1160:18:25;;1550:21:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1606:42:15;;;;;1585:18;;-1:-1:-1;107:42:16;;-1:-1:-1;1606:24:15;;:42;;1631:9;;1642:5;;1606:42;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1585:63;;336:42:0;1662:16:15;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1706:10;1698:18;;:4;:18;;;1694:109;;1743:45;;;;;2396:2:25;1743:45:15;;;2378:21:25;2435:2;2415:18;;;2408:30;2474:27;2454:18;;;2447:55;2519:18;;1743:45:15;;;;;;;;1694:109;1840:1;1820:4;:16;;;:21;1816:104;;1868:37;;;;;2750:2:25;1868:37:15;;;2732:21:25;2789:2;2769:18;;;2762:30;2828:19;2808:18;;;2801:47;2865:18;;1868:37:15;2548:341:25;1816:104:15;1483:447;1456:551;;;1950:46;1962:4;1950:46;;;;;;;;;;;;;;;;;1991:4;1950:11;:46::i;:::-;1191:843;;;;;;:::o;490:695::-;608:1;107:42:16;570:34:15;:39;566:613;;274:12:16;189:42;629:26:15;:50;625:360;;;745:44;;;;;;;;;;;;;;;;;;:11;:44::i;:::-;807:21;;;;;;;;1187:25:25;;;336:42:0;;807:17:15;;1160:18:25;;807:21:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;189:42:16;;-1:-1:-1;846:88:15;;-1:-1:-1;883:50:15;;-1:-1:-1;907:26:15;;274:12:16;883:50:15;:::i;:::-;846:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;336:42:0;952:16:15;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;625:360;1038:69;;;;;;;;;;;;;;;;;;107:42:16;1038:11:15;:69::i;:::-;336:42:0;1121:26:15;;;1148:19;;;;;;;;;;;;;;;;;1121:47;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;566:613;490:695;:::o;2040:344::-;2313:20;;;;;;;;;;2247:87;;;2264:12;2247:87;;;3614:92:25;3739:15;3722:11;;;3715:109;3840:12;;;3833:28;;;3877:12;;;;3870:28;;;;2247:87:15;;;;;;;;;;3914:12:25;;2247:87:15;;2237:98;;;;;2040:344;;;;;:::o;12983:174:11:-;13068:82;13138:2;13142;13146;13084:65;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;13068:15;:82::i;:::-;12983:174;;;:::o;6191:121::-;6246:59;6301:2;6262:42;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;6246:15;:59::i;7740:145::-;7807:71;7870:2;7874;7823:54;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;7807:15;:71::i;:::-;7740:145;;:::o;851:129::-;922:51;965:7;265:22;131:42;265:40;;594:1;571;541:7;535:14;510:2;501:7;497:16;461:14;434:5;402:211;381:246;367:270;180:463;:::o;-1:-1:-1:-;;;;;;;;:::o;546:184:25:-;616:6;669:2;657:9;648:7;644:23;640:32;637:52;;;685:1;682;675:12;637:52;-1:-1:-1;708:16:25;;546:184;-1:-1:-1;546:184:25:o;735:301::-;864:3;902:6;896:13;948:6;941:4;933:6;929:17;924:3;918:37;1010:1;974:16;;999:13;;;-1:-1:-1;974:16:25;735:301;-1:-1:-1;735:301:25:o;1223:347::-;1264:3;1302:5;1296:12;1329:6;1324:3;1317:19;1385:6;1378:4;1371:5;1367:16;1360:4;1355:3;1351:14;1345:47;1437:1;1430:4;1421:6;1416:3;1412:16;1408:27;1401:38;1559:4;1489:66;1484:2;1476:6;1472:15;1468:88;1463:3;1459:98;1455:109;1448:116;;;1223:347;;;;:::o;1575:288::-;1750:2;1739:9;1732:21;1713:4;1770:44;1810:2;1799:9;1795:18;1787:6;1770:44;:::i;:::-;1762:52;;1850:6;1845:2;1834:9;1830:18;1823:34;1575:288;;;;;:::o;1868:321::-;1946:6;1999:2;1987:9;1978:7;1974:23;1970:32;1967:52;;;2015:1;2012;2005:12;1967:52;2047:9;2041:16;2097:42;2090:5;2086:54;2079:5;2076:65;2066:93;;2155:1;2152;2145:12;2066:93;2178:5;1868:321;-1:-1:-1;;;1868:321:25:o;2894:282::-;2961:9;;;2982:11;;;2979:191;;;3026:77;3023:1;3016:88;3127:4;3124:1;3117:15;3155:4;3152:1;3145:15;3181:217;3328:2;3317:9;3310:21;3291:4;3348:44;3388:2;3377:9;3373:18;3365:6;3348:44;:::i;3937:501::-;4162:2;4151:9;4144:21;4125:4;4188:44;4228:2;4217:9;4213:18;4205:6;4188:44;:::i;:::-;4280:9;4272:6;4268:22;4263:2;4252:9;4248:18;4241:50;4308:32;4333:6;4325;4308:32;:::i;:::-;4300:40;;;4388:42;4380:6;4376:55;4371:2;4360:9;4356:18;4349:83;3937:501;;;;;;:::o;4667:339::-;4844:2;4833:9;4826:21;4807:4;4864:44;4904:2;4893:9;4889:18;4881:6;4864:44;:::i;:::-;4856:52;;4956:42;4948:6;4944:55;4939:2;4928:9;4924:18;4917:83;4667:339;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"IS_SCRIPT()":"f8ccbf47","run()":"c0406226"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"DeploymentFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"run\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"script/Deploy.s.sol\":\"Deploy\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0xc942e27c7baae499beb01afbbae99f24d42af9a6e4aae675bc6901b704aa8e9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0456008adf68947247f358b62863af4a8e349549d2260f2ff9569ff0e3cf5c98\",\"dweb:/ipfs/QmdviSUj2i7o3TPN5vd2xocqGMFVqjUzaiJTZRYyPxyHPx\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9\",\"dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/sequence-v3/lib/erc2470-libs/script/SingletonDeployer.s.sol\":{\"keccak256\":\"0x3fdec03d51d77fcda6d6c681e26e7c8d4b85f1457eac91e0ec15411a7ab1e1f6\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://a690bf4481a37f3f77acdeecac089462db83f0437307610981b24c04b5202f6e\",\"dweb:/ipfs/QmUA9TSjAkqefNBW8BiRqg8XDJiJxJPxSsZHQwJJAbrYQg\"]},\"lib/sequence-v3/lib/erc2470-libs/src/ISingletonFactory.sol\":{\"keccak256\":\"0x0a17871e1017f36a664b877f5b0db297dc998fdf8b0ab82d00ca50d5bdde88f7\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://160bc0d890492792f85dfea939160290d90562b27154f64c39c2a615243518a6\",\"dweb:/ipfs/QmbxmqPpTAH7X45G75UjmLh3RSTDj7trMtmkGU6RXmRyEJ\"]},\"lib/sequence-v3/src/extensions/sessions/implicit/Attestation.sol\":{\"keccak256\":\"0xcaa44022b5eb4bc7ab487b3b1a0125da67e2e891cee983ef6cdb6814f045efc8\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://94829782b6dcb482d7c002511c590d1ad8de3b21e5e72575df18be73565b3638\",\"dweb:/ipfs/QmZ4u9FxALzMzKR7auW8FmFkhGVw8kRDeDRJ1PKwKaWNWF\"]},\"lib/sequence-v3/src/extensions/sessions/implicit/ISignalsImplicitMode.sol\":{\"keccak256\":\"0x6cb48f50c49bcb3c7071306fe9fac6c102bc9eabf73d9909e19ab3b9a835d0a8\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://15297e969f64fc1152654d1cefbe276c15a0ecfc11f86b4c276bb0b454fe700a\",\"dweb:/ipfs/QmeehNFYBPPtJePwUcqiYCgiuFotur4VVVCV1KvegdCCZ4\"]},\"lib/sequence-v3/src/modules/Payload.sol\":{\"keccak256\":\"0x03b3dc2a4a556d3007671e910813dc4703ecb16f5bc2c6645e4c0d8512f2d76a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://9b41263156d5a310a48038e8c3871e9acdb806c018bc952d1a56efed62954e17\",\"dweb:/ipfs/QmaiuTbQgaiCvtN2V6roe4RTi6hHV85mNZpWKqvKA8ofqw\"]},\"lib/sequence-v3/src/utils/LibBytes.sol\":{\"keccak256\":\"0x4fe0b4786b2157e12384b90ae9daa1009b74b2547a8a24b800a8b998278c874b\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://065129e32d1a318e89fb7587e136c33177a7848393f9055c0ac601b84741cd8c\",\"dweb:/ipfs/QmVWucfHSHRJriRFNoJqoeDcVB4fDfqbccM8KPBmwcxVu3\"]},\"script/Deploy.s.sol\":{\"keccak256\":\"0x98a1df98ded339567cb5180cf6da767224b46aab3c5322a25bb157c506c30a18\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1ee75bbe1b28e5a5736efc5142a1102fb5b0b324d44c45733ac01bdff2168f0e\",\"dweb:/ipfs/QmcYTg4n8mxVdNrUPf4xGrCSRq11QRE6gRNSx838DSzrWA\"]},\"src/registry/IImplicitProjectRegistry.sol\":{\"keccak256\":\"0xa14fecf045549da52f725265a9ecf08133fc94c61c626ad87d981e4b91cbf203\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://dd92526b0b0038c628295d0ea279871995b998d4f2d2cab92cdcd3fd8535c543\",\"dweb:/ipfs/QmbNuRU7qFEcHsCmEiR6oFpcLH85vFRLpFNiVbUczYDZkH\"]},\"src/registry/IImplicitProjectValidation.sol\":{\"keccak256\":\"0x1e8c305e011aa13d774e0ff3cfd9286af3d8174c4e33ba5ef8f724ea2dd6e5b2\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://057ad8894656688eefb257c02696f37281d3e7610cd3c3db8f1c3954fba9ea9c\",\"dweb:/ipfs/QmbdeFH1XxLyWqdTEmRkGNiebMVAxuREtuLpZXRErCyYM6\"]},\"src/registry/ImplicitProjectRegistry.sol\":{\"keccak256\":\"0x178b0f0a8022f9d5bdc434b9b54a55387b760d44b2783cef86756eafb7911617\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b9720240bade0c56c477f6df7993f6a8f9c6946e1e62d8d9198c2cf2aa2c2a24\",\"dweb:/ipfs/QmXCZmcb4GiUytzy3uPgXwmPYf8VcVy3YmcmgVMwKnncdt\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"reason","type":"string"}],"type":"error","name":"DeploymentFailed"},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_SCRIPT","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"run"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"script/Deploy.s.sol":"Deploy"},"evmVersion":"prague","libraries":{}},"sources":{"lib/forge-std/src/Base.sol":{"keccak256":"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf","urls":["bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d","dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs"],"license":"MIT"},"lib/forge-std/src/Script.sol":{"keccak256":"0xc942e27c7baae499beb01afbbae99f24d42af9a6e4aae675bc6901b704aa8e9b","urls":["bzz-raw://0456008adf68947247f358b62863af4a8e349549d2260f2ff9569ff0e3cf5c98","dweb:/ipfs/QmdviSUj2i7o3TPN5vd2xocqGMFVqjUzaiJTZRYyPxyHPx"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa","urls":["bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2","dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746","urls":["bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41","dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK"],"license":"MIT"},"lib/forge-std/src/StdConstants.sol":{"keccak256":"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534","urls":["bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc","dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500","urls":["bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974","dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd","urls":["bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc","dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8","urls":["bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a","dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39","urls":["bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9","dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5","urls":["bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57","dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f","urls":["bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d","dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11","urls":["bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab","dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3"],"license":"MIT"},"lib/sequence-v3/lib/erc2470-libs/script/SingletonDeployer.s.sol":{"keccak256":"0x3fdec03d51d77fcda6d6c681e26e7c8d4b85f1457eac91e0ec15411a7ab1e1f6","urls":["bzz-raw://a690bf4481a37f3f77acdeecac089462db83f0437307610981b24c04b5202f6e","dweb:/ipfs/QmUA9TSjAkqefNBW8BiRqg8XDJiJxJPxSsZHQwJJAbrYQg"],"license":"UNLICENSED"},"lib/sequence-v3/lib/erc2470-libs/src/ISingletonFactory.sol":{"keccak256":"0x0a17871e1017f36a664b877f5b0db297dc998fdf8b0ab82d00ca50d5bdde88f7","urls":["bzz-raw://160bc0d890492792f85dfea939160290d90562b27154f64c39c2a615243518a6","dweb:/ipfs/QmbxmqPpTAH7X45G75UjmLh3RSTDj7trMtmkGU6RXmRyEJ"],"license":"UNLICENSED"},"lib/sequence-v3/src/extensions/sessions/implicit/Attestation.sol":{"keccak256":"0xcaa44022b5eb4bc7ab487b3b1a0125da67e2e891cee983ef6cdb6814f045efc8","urls":["bzz-raw://94829782b6dcb482d7c002511c590d1ad8de3b21e5e72575df18be73565b3638","dweb:/ipfs/QmZ4u9FxALzMzKR7auW8FmFkhGVw8kRDeDRJ1PKwKaWNWF"],"license":"Apache-2.0"},"lib/sequence-v3/src/extensions/sessions/implicit/ISignalsImplicitMode.sol":{"keccak256":"0x6cb48f50c49bcb3c7071306fe9fac6c102bc9eabf73d9909e19ab3b9a835d0a8","urls":["bzz-raw://15297e969f64fc1152654d1cefbe276c15a0ecfc11f86b4c276bb0b454fe700a","dweb:/ipfs/QmeehNFYBPPtJePwUcqiYCgiuFotur4VVVCV1KvegdCCZ4"],"license":"Apache-2.0"},"lib/sequence-v3/src/modules/Payload.sol":{"keccak256":"0x03b3dc2a4a556d3007671e910813dc4703ecb16f5bc2c6645e4c0d8512f2d76a","urls":["bzz-raw://9b41263156d5a310a48038e8c3871e9acdb806c018bc952d1a56efed62954e17","dweb:/ipfs/QmaiuTbQgaiCvtN2V6roe4RTi6hHV85mNZpWKqvKA8ofqw"],"license":"Apache-2.0"},"lib/sequence-v3/src/utils/LibBytes.sol":{"keccak256":"0x4fe0b4786b2157e12384b90ae9daa1009b74b2547a8a24b800a8b998278c874b","urls":["bzz-raw://065129e32d1a318e89fb7587e136c33177a7848393f9055c0ac601b84741cd8c","dweb:/ipfs/QmVWucfHSHRJriRFNoJqoeDcVB4fDfqbccM8KPBmwcxVu3"],"license":"Apache-2.0"},"script/Deploy.s.sol":{"keccak256":"0x98a1df98ded339567cb5180cf6da767224b46aab3c5322a25bb157c506c30a18","urls":["bzz-raw://1ee75bbe1b28e5a5736efc5142a1102fb5b0b324d44c45733ac01bdff2168f0e","dweb:/ipfs/QmcYTg4n8mxVdNrUPf4xGrCSRq11QRE6gRNSx838DSzrWA"],"license":"Apache-2.0"},"src/registry/IImplicitProjectRegistry.sol":{"keccak256":"0xa14fecf045549da52f725265a9ecf08133fc94c61c626ad87d981e4b91cbf203","urls":["bzz-raw://dd92526b0b0038c628295d0ea279871995b998d4f2d2cab92cdcd3fd8535c543","dweb:/ipfs/QmbNuRU7qFEcHsCmEiR6oFpcLH85vFRLpFNiVbUczYDZkH"],"license":"Apache-2.0"},"src/registry/IImplicitProjectValidation.sol":{"keccak256":"0x1e8c305e011aa13d774e0ff3cfd9286af3d8174c4e33ba5ef8f724ea2dd6e5b2","urls":["bzz-raw://057ad8894656688eefb257c02696f37281d3e7610cd3c3db8f1c3954fba9ea9c","dweb:/ipfs/QmbdeFH1XxLyWqdTEmRkGNiebMVAxuREtuLpZXRErCyYM6"],"license":"Apache-2.0"},"src/registry/ImplicitProjectRegistry.sol":{"keccak256":"0x178b0f0a8022f9d5bdc434b9b54a55387b760d44b2783cef86756eafb7911617","urls":["bzz-raw://b9720240bade0c56c477f6df7993f6a8f9c6946e1e62d8d9198c2cf2aa2c2a24","dweb:/ipfs/QmXCZmcb4GiUytzy3uPgXwmPYf8VcVy3YmcmgVMwKnncdt"],"license":"Apache-2.0"}},"version":1},"id":21} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/ERC165.sol/ERC165.json b/lib/signals-implicit-mode/out/ERC165.sol/ERC165.json new file mode 100644 index 0000000000..8bd74daf27 --- /dev/null +++ b/lib/signals-implicit-mode/out/ERC165.sol/ERC165.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC165} interface. Contracts that want to implement ERC-165 should inherit from this contract and override {supportsInterface} to check for the additional interface id that will be supported. For example: ```solidity function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId); } ```\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/sequence-v3/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":\"ERC165\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/sequence-v3/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287\",\"dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p\"]},\"lib/sequence-v3/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/sequence-v3/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":"ERC165"},"evmVersion":"prague","libraries":{}},"sources":{"lib/sequence-v3/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa","urls":["bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287","dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p"],"license":"MIT"},"lib/sequence-v3/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"}},"version":1},"id":19} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/IERC165.sol/IERC165.json b/lib/signals-implicit-mode/out/IERC165.sol/IERC165.json new file mode 100644 index 0000000000..ef4a408012 --- /dev/null +++ b/lib/signals-implicit-mode/out/IERC165.sol/IERC165.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC-165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[ERC]. Implementers can declare support of contract interfaces, which can then be queried by others ({ERC165Checker}). For an implementation, see {ERC165}.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/sequence-v3/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/sequence-v3/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"supportsInterface(bytes4)":{"details":"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/sequence-v3/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":"IERC165"},"evmVersion":"prague","libraries":{}},"sources":{"lib/sequence-v3/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"}},"version":1},"id":20} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/IImplicitProjectRegistry.sol/IImplicitProjectRegistry.json b/lib/signals-implicit-mode/out/IImplicitProjectRegistry.sol/IImplicitProjectRegistry.json new file mode 100644 index 0000000000..6119554fd4 --- /dev/null +++ b/lib/signals-implicit-mode/out/IImplicitProjectRegistry.sol/IImplicitProjectRegistry.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"addProjectUrl","inputs":[{"name":"projectId","type":"bytes32","internalType":"bytes32"},{"name":"projectUrl","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"claimProject","inputs":[{"name":"projectIdUpper","type":"bytes12","internalType":"bytes12"}],"outputs":[{"name":"projectId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"listProjectUrls","inputs":[{"name":"projectId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"removeProjectUrl","inputs":[{"name":"projectId","type":"bytes32","internalType":"bytes32"},{"name":"projectUrl","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferProject","inputs":[{"name":"projectId","type":"bytes32","internalType":"bytes32"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"validateAttestation","inputs":[{"name":"wallet","type":"address","internalType":"address"},{"name":"attestation","type":"tuple","internalType":"struct Attestation","components":[{"name":"approvedSigner","type":"address","internalType":"address"},{"name":"identityType","type":"bytes4","internalType":"bytes4"},{"name":"issuerHash","type":"bytes32","internalType":"bytes32"},{"name":"audienceHash","type":"bytes32","internalType":"bytes32"},{"name":"applicationData","type":"bytes","internalType":"bytes"},{"name":"authData","type":"tuple","internalType":"struct AuthData","components":[{"name":"redirectUrl","type":"string","internalType":"string"},{"name":"issuedAt","type":"uint64","internalType":"uint64"}]}]},{"name":"projectId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"event","name":"ProjectClaimed","inputs":[{"name":"projectId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"owner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProjectOwnerTransferred","inputs":[{"name":"projectId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProjectUrlAdded","inputs":[{"name":"projectId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"urlHash","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"ProjectUrlRemoved","inputs":[{"name":"projectId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"urlHash","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"error","name":"InvalidProjectOwner","inputs":[]},{"type":"error","name":"InvalidProjectUrlIndex","inputs":[]},{"type":"error","name":"InvalidRedirectUrl","inputs":[]},{"type":"error","name":"NotProjectOwner","inputs":[]},{"type":"error","name":"ProjectAlreadyClaimed","inputs":[]},{"type":"error","name":"ProjectUrlAlreadyExists","inputs":[]},{"type":"error","name":"ProjectUrlNotFound","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"addProjectUrl(bytes32,string)":"2f28c69d","claimProject(bytes12)":"d4df1018","listProjectUrls(bytes32)":"f4364de6","removeProjectUrl(bytes32,string)":"dac6c587","transferProject(bytes32,address)":"9630aff8","validateAttestation(address,(address,bytes4,bytes32,bytes32,bytes,(string,uint64)),bytes32)":"3808a90b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidProjectOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidProjectUrlIndex\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRedirectUrl\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotProjectOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProjectAlreadyClaimed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProjectUrlAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProjectUrlNotFound\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"projectId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ProjectClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"projectId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"ProjectOwnerTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"projectId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"urlHash\",\"type\":\"bytes32\"}],\"name\":\"ProjectUrlAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"projectId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"urlHash\",\"type\":\"bytes32\"}],\"name\":\"ProjectUrlRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"projectId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"projectUrl\",\"type\":\"string\"}],\"name\":\"addProjectUrl\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes12\",\"name\":\"projectIdUpper\",\"type\":\"bytes12\"}],\"name\":\"claimProject\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"projectId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"projectId\",\"type\":\"bytes32\"}],\"name\":\"listProjectUrls\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"projectId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"projectUrl\",\"type\":\"string\"}],\"name\":\"removeProjectUrl\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"projectId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferProject\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"wallet\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"approvedSigner\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"identityType\",\"type\":\"bytes4\"},{\"internalType\":\"bytes32\",\"name\":\"issuerHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"audienceHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"applicationData\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"redirectUrl\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"issuedAt\",\"type\":\"uint64\"}],\"internalType\":\"struct AuthData\",\"name\":\"authData\",\"type\":\"tuple\"}],\"internalType\":\"struct Attestation\",\"name\":\"attestation\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"projectId\",\"type\":\"bytes32\"}],\"name\":\"validateAttestation\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Michael Standen\",\"kind\":\"dev\",\"methods\":{\"addProjectUrl(bytes32,string)\":{\"params\":{\"projectId\":\"The project id\",\"projectUrl\":\"The project URL\"}},\"claimProject(bytes12)\":{\"params\":{\"projectIdUpper\":\"The project id upper\"},\"returns\":{\"projectId\":\"The concatenation of the `projectIdUpper` and the `msg.sender`\"}},\"listProjectUrls(bytes32)\":{\"params\":{\"projectId\":\"The project id\"},\"returns\":{\"_0\":\"projectUrls The project URLs\"}},\"removeProjectUrl(bytes32,string)\":{\"params\":{\"projectId\":\"The project id\",\"projectUrl\":\"The project URL\"}},\"transferProject(bytes32,address)\":{\"params\":{\"newOwner\":\"The new owner\",\"projectId\":\"The project id\"}},\"validateAttestation(address,(address,bytes4,bytes32,bytes32,bytes,(string,uint64)),bytes32)\":{\"params\":{\"attestation\":\"The attestation\",\"projectId\":\"The project id\",\"wallet\":\"The wallet address\"},\"returns\":{\"_0\":\"magic The attestation magic bytes for the wallet address\"}}},\"title\":\"IImplicitProjectRegistry\",\"version\":1},\"userdoc\":{\"errors\":{\"InvalidProjectOwner()\":[{\"notice\":\"Invalid project owner error\"}],\"InvalidProjectUrlIndex()\":[{\"notice\":\"Invalid project URL index error\"}],\"InvalidRedirectUrl()\":[{\"notice\":\"Invalid redirect url error\"}],\"NotProjectOwner()\":[{\"notice\":\"Not project owner error\"}],\"ProjectAlreadyClaimed()\":[{\"notice\":\"Project already claimed error\"}],\"ProjectUrlAlreadyExists()\":[{\"notice\":\"Project URL already exists error\"}],\"ProjectUrlNotFound()\":[{\"notice\":\"Project URL not found error\"}]},\"events\":{\"ProjectClaimed(bytes32,address)\":{\"notice\":\"Emitted when a project is claimed\"},\"ProjectOwnerTransferred(bytes32,address)\":{\"notice\":\"Emitted when a project owner is transferred\"},\"ProjectUrlAdded(bytes32,bytes32)\":{\"notice\":\"Emitted when a project URL is added\"},\"ProjectUrlRemoved(bytes32,bytes32)\":{\"notice\":\"Emitted when a project URL is removed\"}},\"kind\":\"user\",\"methods\":{\"addProjectUrl(bytes32,string)\":{\"notice\":\"Add a project URL\"},\"claimProject(bytes12)\":{\"notice\":\"Claim a project\"},\"listProjectUrls(bytes32)\":{\"notice\":\"List project URLs\"},\"removeProjectUrl(bytes32,string)\":{\"notice\":\"Remove a project URL\"},\"transferProject(bytes32,address)\":{\"notice\":\"Transfer a project\"},\"validateAttestation(address,(address,bytes4,bytes32,bytes32,bytes,(string,uint64)),bytes32)\":{\"notice\":\"Check if a project has a code\"}},\"notice\":\"Interface for the registry of projects supporting implicit sessions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/registry/IImplicitProjectRegistry.sol\":\"IImplicitProjectRegistry\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/sequence-v3/src/extensions/sessions/implicit/Attestation.sol\":{\"keccak256\":\"0xcaa44022b5eb4bc7ab487b3b1a0125da67e2e891cee983ef6cdb6814f045efc8\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://94829782b6dcb482d7c002511c590d1ad8de3b21e5e72575df18be73565b3638\",\"dweb:/ipfs/QmZ4u9FxALzMzKR7auW8FmFkhGVw8kRDeDRJ1PKwKaWNWF\"]},\"lib/sequence-v3/src/extensions/sessions/implicit/ISignalsImplicitMode.sol\":{\"keccak256\":\"0x6cb48f50c49bcb3c7071306fe9fac6c102bc9eabf73d9909e19ab3b9a835d0a8\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://15297e969f64fc1152654d1cefbe276c15a0ecfc11f86b4c276bb0b454fe700a\",\"dweb:/ipfs/QmeehNFYBPPtJePwUcqiYCgiuFotur4VVVCV1KvegdCCZ4\"]},\"lib/sequence-v3/src/modules/Payload.sol\":{\"keccak256\":\"0x03b3dc2a4a556d3007671e910813dc4703ecb16f5bc2c6645e4c0d8512f2d76a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://9b41263156d5a310a48038e8c3871e9acdb806c018bc952d1a56efed62954e17\",\"dweb:/ipfs/QmaiuTbQgaiCvtN2V6roe4RTi6hHV85mNZpWKqvKA8ofqw\"]},\"lib/sequence-v3/src/utils/LibBytes.sol\":{\"keccak256\":\"0x4fe0b4786b2157e12384b90ae9daa1009b74b2547a8a24b800a8b998278c874b\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://065129e32d1a318e89fb7587e136c33177a7848393f9055c0ac601b84741cd8c\",\"dweb:/ipfs/QmVWucfHSHRJriRFNoJqoeDcVB4fDfqbccM8KPBmwcxVu3\"]},\"src/registry/IImplicitProjectRegistry.sol\":{\"keccak256\":\"0xa14fecf045549da52f725265a9ecf08133fc94c61c626ad87d981e4b91cbf203\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://dd92526b0b0038c628295d0ea279871995b998d4f2d2cab92cdcd3fd8535c543\",\"dweb:/ipfs/QmbNuRU7qFEcHsCmEiR6oFpcLH85vFRLpFNiVbUczYDZkH\"]},\"src/registry/IImplicitProjectValidation.sol\":{\"keccak256\":\"0x1e8c305e011aa13d774e0ff3cfd9286af3d8174c4e33ba5ef8f724ea2dd6e5b2\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://057ad8894656688eefb257c02696f37281d3e7610cd3c3db8f1c3954fba9ea9c\",\"dweb:/ipfs/QmbdeFH1XxLyWqdTEmRkGNiebMVAxuREtuLpZXRErCyYM6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"InvalidProjectOwner"},{"inputs":[],"type":"error","name":"InvalidProjectUrlIndex"},{"inputs":[],"type":"error","name":"InvalidRedirectUrl"},{"inputs":[],"type":"error","name":"NotProjectOwner"},{"inputs":[],"type":"error","name":"ProjectAlreadyClaimed"},{"inputs":[],"type":"error","name":"ProjectUrlAlreadyExists"},{"inputs":[],"type":"error","name":"ProjectUrlNotFound"},{"inputs":[{"internalType":"bytes32","name":"projectId","type":"bytes32","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":true}],"type":"event","name":"ProjectClaimed","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"projectId","type":"bytes32","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"ProjectOwnerTransferred","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"projectId","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"urlHash","type":"bytes32","indexed":true}],"type":"event","name":"ProjectUrlAdded","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"projectId","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"urlHash","type":"bytes32","indexed":true}],"type":"event","name":"ProjectUrlRemoved","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"projectId","type":"bytes32"},{"internalType":"string","name":"projectUrl","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"addProjectUrl"},{"inputs":[{"internalType":"bytes12","name":"projectIdUpper","type":"bytes12"}],"stateMutability":"nonpayable","type":"function","name":"claimProject","outputs":[{"internalType":"bytes32","name":"projectId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"projectId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"listProjectUrls","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}]},{"inputs":[{"internalType":"bytes32","name":"projectId","type":"bytes32"},{"internalType":"string","name":"projectUrl","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"removeProjectUrl"},{"inputs":[{"internalType":"bytes32","name":"projectId","type":"bytes32"},{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferProject"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"struct Attestation","name":"attestation","type":"tuple","components":[{"internalType":"address","name":"approvedSigner","type":"address"},{"internalType":"bytes4","name":"identityType","type":"bytes4"},{"internalType":"bytes32","name":"issuerHash","type":"bytes32"},{"internalType":"bytes32","name":"audienceHash","type":"bytes32"},{"internalType":"bytes","name":"applicationData","type":"bytes"},{"internalType":"struct AuthData","name":"authData","type":"tuple","components":[{"internalType":"string","name":"redirectUrl","type":"string"},{"internalType":"uint64","name":"issuedAt","type":"uint64"}]}]},{"internalType":"bytes32","name":"projectId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"validateAttestation","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]}],"devdoc":{"kind":"dev","methods":{"addProjectUrl(bytes32,string)":{"params":{"projectId":"The project id","projectUrl":"The project URL"}},"claimProject(bytes12)":{"params":{"projectIdUpper":"The project id upper"},"returns":{"projectId":"The concatenation of the `projectIdUpper` and the `msg.sender`"}},"listProjectUrls(bytes32)":{"params":{"projectId":"The project id"},"returns":{"_0":"projectUrls The project URLs"}},"removeProjectUrl(bytes32,string)":{"params":{"projectId":"The project id","projectUrl":"The project URL"}},"transferProject(bytes32,address)":{"params":{"newOwner":"The new owner","projectId":"The project id"}},"validateAttestation(address,(address,bytes4,bytes32,bytes32,bytes,(string,uint64)),bytes32)":{"params":{"attestation":"The attestation","projectId":"The project id","wallet":"The wallet address"},"returns":{"_0":"magic The attestation magic bytes for the wallet address"}}},"version":1},"userdoc":{"kind":"user","methods":{"addProjectUrl(bytes32,string)":{"notice":"Add a project URL"},"claimProject(bytes12)":{"notice":"Claim a project"},"listProjectUrls(bytes32)":{"notice":"List project URLs"},"removeProjectUrl(bytes32,string)":{"notice":"Remove a project URL"},"transferProject(bytes32,address)":{"notice":"Transfer a project"},"validateAttestation(address,(address,bytes4,bytes32,bytes32,bytes,(string,uint64)),bytes32)":{"notice":"Check if a project has a code"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/registry/IImplicitProjectRegistry.sol":"IImplicitProjectRegistry"},"evmVersion":"prague","libraries":{}},"sources":{"lib/sequence-v3/src/extensions/sessions/implicit/Attestation.sol":{"keccak256":"0xcaa44022b5eb4bc7ab487b3b1a0125da67e2e891cee983ef6cdb6814f045efc8","urls":["bzz-raw://94829782b6dcb482d7c002511c590d1ad8de3b21e5e72575df18be73565b3638","dweb:/ipfs/QmZ4u9FxALzMzKR7auW8FmFkhGVw8kRDeDRJ1PKwKaWNWF"],"license":"Apache-2.0"},"lib/sequence-v3/src/extensions/sessions/implicit/ISignalsImplicitMode.sol":{"keccak256":"0x6cb48f50c49bcb3c7071306fe9fac6c102bc9eabf73d9909e19ab3b9a835d0a8","urls":["bzz-raw://15297e969f64fc1152654d1cefbe276c15a0ecfc11f86b4c276bb0b454fe700a","dweb:/ipfs/QmeehNFYBPPtJePwUcqiYCgiuFotur4VVVCV1KvegdCCZ4"],"license":"Apache-2.0"},"lib/sequence-v3/src/modules/Payload.sol":{"keccak256":"0x03b3dc2a4a556d3007671e910813dc4703ecb16f5bc2c6645e4c0d8512f2d76a","urls":["bzz-raw://9b41263156d5a310a48038e8c3871e9acdb806c018bc952d1a56efed62954e17","dweb:/ipfs/QmaiuTbQgaiCvtN2V6roe4RTi6hHV85mNZpWKqvKA8ofqw"],"license":"Apache-2.0"},"lib/sequence-v3/src/utils/LibBytes.sol":{"keccak256":"0x4fe0b4786b2157e12384b90ae9daa1009b74b2547a8a24b800a8b998278c874b","urls":["bzz-raw://065129e32d1a318e89fb7587e136c33177a7848393f9055c0ac601b84741cd8c","dweb:/ipfs/QmVWucfHSHRJriRFNoJqoeDcVB4fDfqbccM8KPBmwcxVu3"],"license":"Apache-2.0"},"src/registry/IImplicitProjectRegistry.sol":{"keccak256":"0xa14fecf045549da52f725265a9ecf08133fc94c61c626ad87d981e4b91cbf203","urls":["bzz-raw://dd92526b0b0038c628295d0ea279871995b998d4f2d2cab92cdcd3fd8535c543","dweb:/ipfs/QmbNuRU7qFEcHsCmEiR6oFpcLH85vFRLpFNiVbUczYDZkH"],"license":"Apache-2.0"},"src/registry/IImplicitProjectValidation.sol":{"keccak256":"0x1e8c305e011aa13d774e0ff3cfd9286af3d8174c4e33ba5ef8f724ea2dd6e5b2","urls":["bzz-raw://057ad8894656688eefb257c02696f37281d3e7610cd3c3db8f1c3954fba9ea9c","dweb:/ipfs/QmbdeFH1XxLyWqdTEmRkGNiebMVAxuREtuLpZXRErCyYM6"],"license":"Apache-2.0"}},"version":1},"id":26} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/IImplicitProjectValidation.sol/IImplicitProjectValidation.json b/lib/signals-implicit-mode/out/IImplicitProjectValidation.sol/IImplicitProjectValidation.json new file mode 100644 index 0000000000..ba484e6713 --- /dev/null +++ b/lib/signals-implicit-mode/out/IImplicitProjectValidation.sol/IImplicitProjectValidation.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"validateAttestation","inputs":[{"name":"wallet","type":"address","internalType":"address"},{"name":"attestation","type":"tuple","internalType":"struct Attestation","components":[{"name":"approvedSigner","type":"address","internalType":"address"},{"name":"identityType","type":"bytes4","internalType":"bytes4"},{"name":"issuerHash","type":"bytes32","internalType":"bytes32"},{"name":"audienceHash","type":"bytes32","internalType":"bytes32"},{"name":"applicationData","type":"bytes","internalType":"bytes"},{"name":"authData","type":"tuple","internalType":"struct AuthData","components":[{"name":"redirectUrl","type":"string","internalType":"string"},{"name":"issuedAt","type":"uint64","internalType":"uint64"}]}]},{"name":"projectId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"error","name":"InvalidRedirectUrl","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"validateAttestation(address,(address,bytes4,bytes32,bytes32,bytes,(string,uint64)),bytes32)":"3808a90b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidRedirectUrl\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"wallet\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"approvedSigner\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"identityType\",\"type\":\"bytes4\"},{\"internalType\":\"bytes32\",\"name\":\"issuerHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"audienceHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"applicationData\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"redirectUrl\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"issuedAt\",\"type\":\"uint64\"}],\"internalType\":\"struct AuthData\",\"name\":\"authData\",\"type\":\"tuple\"}],\"internalType\":\"struct Attestation\",\"name\":\"attestation\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"projectId\",\"type\":\"bytes32\"}],\"name\":\"validateAttestation\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Michael Standen\",\"kind\":\"dev\",\"methods\":{\"validateAttestation(address,(address,bytes4,bytes32,bytes32,bytes,(string,uint64)),bytes32)\":{\"params\":{\"attestation\":\"The attestation\",\"projectId\":\"The project id\",\"wallet\":\"The wallet address\"},\"returns\":{\"_0\":\"magic The attestation magic bytes for the wallet address\"}}},\"title\":\"IImplicitProjectValidation\",\"version\":1},\"userdoc\":{\"errors\":{\"InvalidRedirectUrl()\":[{\"notice\":\"Invalid redirect url error\"}]},\"kind\":\"user\",\"methods\":{\"validateAttestation(address,(address,bytes4,bytes32,bytes32,bytes,(string,uint64)),bytes32)\":{\"notice\":\"Check if a project has a code\"}},\"notice\":\"Interface for contracts supporting validation of implicit sessions for projects\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/registry/IImplicitProjectValidation.sol\":\"IImplicitProjectValidation\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/sequence-v3/src/extensions/sessions/implicit/Attestation.sol\":{\"keccak256\":\"0xcaa44022b5eb4bc7ab487b3b1a0125da67e2e891cee983ef6cdb6814f045efc8\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://94829782b6dcb482d7c002511c590d1ad8de3b21e5e72575df18be73565b3638\",\"dweb:/ipfs/QmZ4u9FxALzMzKR7auW8FmFkhGVw8kRDeDRJ1PKwKaWNWF\"]},\"lib/sequence-v3/src/extensions/sessions/implicit/ISignalsImplicitMode.sol\":{\"keccak256\":\"0x6cb48f50c49bcb3c7071306fe9fac6c102bc9eabf73d9909e19ab3b9a835d0a8\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://15297e969f64fc1152654d1cefbe276c15a0ecfc11f86b4c276bb0b454fe700a\",\"dweb:/ipfs/QmeehNFYBPPtJePwUcqiYCgiuFotur4VVVCV1KvegdCCZ4\"]},\"lib/sequence-v3/src/modules/Payload.sol\":{\"keccak256\":\"0x03b3dc2a4a556d3007671e910813dc4703ecb16f5bc2c6645e4c0d8512f2d76a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://9b41263156d5a310a48038e8c3871e9acdb806c018bc952d1a56efed62954e17\",\"dweb:/ipfs/QmaiuTbQgaiCvtN2V6roe4RTi6hHV85mNZpWKqvKA8ofqw\"]},\"lib/sequence-v3/src/utils/LibBytes.sol\":{\"keccak256\":\"0x4fe0b4786b2157e12384b90ae9daa1009b74b2547a8a24b800a8b998278c874b\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://065129e32d1a318e89fb7587e136c33177a7848393f9055c0ac601b84741cd8c\",\"dweb:/ipfs/QmVWucfHSHRJriRFNoJqoeDcVB4fDfqbccM8KPBmwcxVu3\"]},\"src/registry/IImplicitProjectValidation.sol\":{\"keccak256\":\"0x1e8c305e011aa13d774e0ff3cfd9286af3d8174c4e33ba5ef8f724ea2dd6e5b2\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://057ad8894656688eefb257c02696f37281d3e7610cd3c3db8f1c3954fba9ea9c\",\"dweb:/ipfs/QmbdeFH1XxLyWqdTEmRkGNiebMVAxuREtuLpZXRErCyYM6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"InvalidRedirectUrl"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"struct Attestation","name":"attestation","type":"tuple","components":[{"internalType":"address","name":"approvedSigner","type":"address"},{"internalType":"bytes4","name":"identityType","type":"bytes4"},{"internalType":"bytes32","name":"issuerHash","type":"bytes32"},{"internalType":"bytes32","name":"audienceHash","type":"bytes32"},{"internalType":"bytes","name":"applicationData","type":"bytes"},{"internalType":"struct AuthData","name":"authData","type":"tuple","components":[{"internalType":"string","name":"redirectUrl","type":"string"},{"internalType":"uint64","name":"issuedAt","type":"uint64"}]}]},{"internalType":"bytes32","name":"projectId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"validateAttestation","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]}],"devdoc":{"kind":"dev","methods":{"validateAttestation(address,(address,bytes4,bytes32,bytes32,bytes,(string,uint64)),bytes32)":{"params":{"attestation":"The attestation","projectId":"The project id","wallet":"The wallet address"},"returns":{"_0":"magic The attestation magic bytes for the wallet address"}}},"version":1},"userdoc":{"kind":"user","methods":{"validateAttestation(address,(address,bytes4,bytes32,bytes32,bytes,(string,uint64)),bytes32)":{"notice":"Check if a project has a code"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/registry/IImplicitProjectValidation.sol":"IImplicitProjectValidation"},"evmVersion":"prague","libraries":{}},"sources":{"lib/sequence-v3/src/extensions/sessions/implicit/Attestation.sol":{"keccak256":"0xcaa44022b5eb4bc7ab487b3b1a0125da67e2e891cee983ef6cdb6814f045efc8","urls":["bzz-raw://94829782b6dcb482d7c002511c590d1ad8de3b21e5e72575df18be73565b3638","dweb:/ipfs/QmZ4u9FxALzMzKR7auW8FmFkhGVw8kRDeDRJ1PKwKaWNWF"],"license":"Apache-2.0"},"lib/sequence-v3/src/extensions/sessions/implicit/ISignalsImplicitMode.sol":{"keccak256":"0x6cb48f50c49bcb3c7071306fe9fac6c102bc9eabf73d9909e19ab3b9a835d0a8","urls":["bzz-raw://15297e969f64fc1152654d1cefbe276c15a0ecfc11f86b4c276bb0b454fe700a","dweb:/ipfs/QmeehNFYBPPtJePwUcqiYCgiuFotur4VVVCV1KvegdCCZ4"],"license":"Apache-2.0"},"lib/sequence-v3/src/modules/Payload.sol":{"keccak256":"0x03b3dc2a4a556d3007671e910813dc4703ecb16f5bc2c6645e4c0d8512f2d76a","urls":["bzz-raw://9b41263156d5a310a48038e8c3871e9acdb806c018bc952d1a56efed62954e17","dweb:/ipfs/QmaiuTbQgaiCvtN2V6roe4RTi6hHV85mNZpWKqvKA8ofqw"],"license":"Apache-2.0"},"lib/sequence-v3/src/utils/LibBytes.sol":{"keccak256":"0x4fe0b4786b2157e12384b90ae9daa1009b74b2547a8a24b800a8b998278c874b","urls":["bzz-raw://065129e32d1a318e89fb7587e136c33177a7848393f9055c0ac601b84741cd8c","dweb:/ipfs/QmVWucfHSHRJriRFNoJqoeDcVB4fDfqbccM8KPBmwcxVu3"],"license":"Apache-2.0"},"src/registry/IImplicitProjectValidation.sol":{"keccak256":"0x1e8c305e011aa13d774e0ff3cfd9286af3d8174c4e33ba5ef8f724ea2dd6e5b2","urls":["bzz-raw://057ad8894656688eefb257c02696f37281d3e7610cd3c3db8f1c3954fba9ea9c","dweb:/ipfs/QmbdeFH1XxLyWqdTEmRkGNiebMVAxuREtuLpZXRErCyYM6"],"license":"Apache-2.0"}},"version":1},"id":27} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/IMulticall3.sol/IMulticall3.json b/lib/signals-implicit-mode/out/IMulticall3.sol/IMulticall3.json new file mode 100644 index 0000000000..2376a38891 --- /dev/null +++ b/lib/signals-implicit-mode/out/IMulticall3.sol/IMulticall3.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"aggregate","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"returnData","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"payable"},{"type":"function","name":"aggregate3","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call3[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"aggregate3Value","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call3Value[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"blockAndAggregate","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"getBasefee","inputs":[],"outputs":[{"name":"basefee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBlockHash","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getBlockNumber","inputs":[],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getChainId","inputs":[],"outputs":[{"name":"chainid","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockCoinbase","inputs":[],"outputs":[{"name":"coinbase","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockDifficulty","inputs":[],"outputs":[{"name":"difficulty","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockGasLimit","inputs":[],"outputs":[{"name":"gaslimit","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockTimestamp","inputs":[],"outputs":[{"name":"timestamp","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getEthBalance","inputs":[{"name":"addr","type":"address","internalType":"address"}],"outputs":[{"name":"balance","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLastBlockHash","inputs":[],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"tryAggregate","inputs":[{"name":"requireSuccess","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"tryBlockAndAggregate","inputs":[{"name":"requireSuccess","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"aggregate((address,bytes)[])":"252dba42","aggregate3((address,bool,bytes)[])":"82ad56cb","aggregate3Value((address,bool,uint256,bytes)[])":"174dea71","blockAndAggregate((address,bytes)[])":"c3077fa9","getBasefee()":"3e64a696","getBlockHash(uint256)":"ee82ac5e","getBlockNumber()":"42cbb15c","getChainId()":"3408e470","getCurrentBlockCoinbase()":"a8b0574e","getCurrentBlockDifficulty()":"72425d9d","getCurrentBlockGasLimit()":"86d516e8","getCurrentBlockTimestamp()":"0f28c97d","getEthBalance(address)":"4d2301cc","getLastBlockHash()":"27e86d6e","tryAggregate(bool,(address,bytes)[])":"bce38bd7","tryBlockAndAggregate(bool,(address,bytes)[])":"399542e9"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3Value[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3Value\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"blockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBasefee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"basefee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"chainid\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockCoinbase\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"coinbase\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockDifficulty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"difficulty\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockGasLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gaslimit\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getEthBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryAggregate\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryBlockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/interfaces/IMulticall3.sol\":\"IMulticall3\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"struct IMulticall3.Call[]","name":"calls","type":"tuple[]","components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"payable","type":"function","name":"aggregate","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes[]","name":"returnData","type":"bytes[]"}]},{"inputs":[{"internalType":"struct IMulticall3.Call3[]","name":"calls","type":"tuple[]","components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bool","name":"allowFailure","type":"bool"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"payable","type":"function","name":"aggregate3","outputs":[{"internalType":"struct IMulticall3.Result[]","name":"returnData","type":"tuple[]","components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}]}]},{"inputs":[{"internalType":"struct IMulticall3.Call3Value[]","name":"calls","type":"tuple[]","components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bool","name":"allowFailure","type":"bool"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"payable","type":"function","name":"aggregate3Value","outputs":[{"internalType":"struct IMulticall3.Result[]","name":"returnData","type":"tuple[]","components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}]}]},{"inputs":[{"internalType":"struct IMulticall3.Call[]","name":"calls","type":"tuple[]","components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"payable","type":"function","name":"blockAndAggregate","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes32","name":"blockHash","type":"bytes32"},{"internalType":"struct IMulticall3.Result[]","name":"returnData","type":"tuple[]","components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBasefee","outputs":[{"internalType":"uint256","name":"basefee","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"stateMutability":"view","type":"function","name":"getBlockHash","outputs":[{"internalType":"bytes32","name":"blockHash","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBlockNumber","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getChainId","outputs":[{"internalType":"uint256","name":"chainid","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getCurrentBlockCoinbase","outputs":[{"internalType":"address","name":"coinbase","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getCurrentBlockDifficulty","outputs":[{"internalType":"uint256","name":"difficulty","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getCurrentBlockGasLimit","outputs":[{"internalType":"uint256","name":"gaslimit","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getCurrentBlockTimestamp","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"stateMutability":"view","type":"function","name":"getEthBalance","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getLastBlockHash","outputs":[{"internalType":"bytes32","name":"blockHash","type":"bytes32"}]},{"inputs":[{"internalType":"bool","name":"requireSuccess","type":"bool"},{"internalType":"struct IMulticall3.Call[]","name":"calls","type":"tuple[]","components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"payable","type":"function","name":"tryAggregate","outputs":[{"internalType":"struct IMulticall3.Result[]","name":"returnData","type":"tuple[]","components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}]}]},{"inputs":[{"internalType":"bool","name":"requireSuccess","type":"bool"},{"internalType":"struct IMulticall3.Call[]","name":"calls","type":"tuple[]","components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"payable","type":"function","name":"tryBlockAndAggregate","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes32","name":"blockHash","type":"bytes32"},{"internalType":"struct IMulticall3.Result[]","name":"returnData","type":"tuple[]","components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}]}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/interfaces/IMulticall3.sol":"IMulticall3"},"evmVersion":"prague","libraries":{}},"sources":{"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"}},"version":1},"id":17} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/ISignalsImplicitMode.sol/ISignalsImplicitMode.json b/lib/signals-implicit-mode/out/ISignalsImplicitMode.sol/ISignalsImplicitMode.json new file mode 100644 index 0000000000..5e5801b735 --- /dev/null +++ b/lib/signals-implicit-mode/out/ISignalsImplicitMode.sol/ISignalsImplicitMode.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"acceptImplicitRequest","inputs":[{"name":"wallet","type":"address","internalType":"address"},{"name":"attestation","type":"tuple","internalType":"struct Attestation","components":[{"name":"approvedSigner","type":"address","internalType":"address"},{"name":"identityType","type":"bytes4","internalType":"bytes4"},{"name":"issuerHash","type":"bytes32","internalType":"bytes32"},{"name":"audienceHash","type":"bytes32","internalType":"bytes32"},{"name":"applicationData","type":"bytes","internalType":"bytes"},{"name":"authData","type":"tuple","internalType":"struct AuthData","components":[{"name":"redirectUrl","type":"string","internalType":"string"},{"name":"issuedAt","type":"uint64","internalType":"uint64"}]}]},{"name":"call","type":"tuple","internalType":"struct Payload.Call","components":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"gasLimit","type":"uint256","internalType":"uint256"},{"name":"delegateCall","type":"bool","internalType":"bool"},{"name":"onlyFallback","type":"bool","internalType":"bool"},{"name":"behaviorOnError","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"magic","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"acceptImplicitRequest(address,(address,bytes4,bytes32,bytes32,bytes,(string,uint64)),(address,uint256,bytes,uint256,bool,bool,uint256))":"9d043a66"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"wallet\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"approvedSigner\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"identityType\",\"type\":\"bytes4\"},{\"internalType\":\"bytes32\",\"name\":\"issuerHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"audienceHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"applicationData\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"redirectUrl\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"issuedAt\",\"type\":\"uint64\"}],\"internalType\":\"struct AuthData\",\"name\":\"authData\",\"type\":\"tuple\"}],\"internalType\":\"struct Attestation\",\"name\":\"attestation\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"delegateCall\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"onlyFallback\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"behaviorOnError\",\"type\":\"uint256\"}],\"internalType\":\"struct Payload.Call\",\"name\":\"call\",\"type\":\"tuple\"}],\"name\":\"acceptImplicitRequest\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"magic\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Agustin Aguilar, Michael Standen\",\"kind\":\"dev\",\"methods\":{\"acceptImplicitRequest(address,(address,bytes4,bytes32,bytes32,bytes,(string,uint64)),(address,uint256,bytes,uint256,bool,bool,uint256))\":{\"params\":{\"attestation\":\"The attestation data\",\"call\":\"The call to validate\",\"wallet\":\"The wallet's address\"},\"returns\":{\"magic\":\"The hash of the implicit request if valid\"}}},\"title\":\"ISignalsImplicitMode\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"acceptImplicitRequest(address,(address,bytes4,bytes32,bytes32,bytes,(string,uint64)),(address,uint256,bytes,uint256,bool,bool,uint256))\":{\"notice\":\"Determines if an implicit request is valid\"}},\"notice\":\"Interface for the contracts that support implicit mode validation\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/sequence-v3/src/extensions/sessions/implicit/ISignalsImplicitMode.sol\":\"ISignalsImplicitMode\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/sequence-v3/src/extensions/sessions/implicit/Attestation.sol\":{\"keccak256\":\"0xcaa44022b5eb4bc7ab487b3b1a0125da67e2e891cee983ef6cdb6814f045efc8\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://94829782b6dcb482d7c002511c590d1ad8de3b21e5e72575df18be73565b3638\",\"dweb:/ipfs/QmZ4u9FxALzMzKR7auW8FmFkhGVw8kRDeDRJ1PKwKaWNWF\"]},\"lib/sequence-v3/src/extensions/sessions/implicit/ISignalsImplicitMode.sol\":{\"keccak256\":\"0x6cb48f50c49bcb3c7071306fe9fac6c102bc9eabf73d9909e19ab3b9a835d0a8\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://15297e969f64fc1152654d1cefbe276c15a0ecfc11f86b4c276bb0b454fe700a\",\"dweb:/ipfs/QmeehNFYBPPtJePwUcqiYCgiuFotur4VVVCV1KvegdCCZ4\"]},\"lib/sequence-v3/src/modules/Payload.sol\":{\"keccak256\":\"0x03b3dc2a4a556d3007671e910813dc4703ecb16f5bc2c6645e4c0d8512f2d76a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://9b41263156d5a310a48038e8c3871e9acdb806c018bc952d1a56efed62954e17\",\"dweb:/ipfs/QmaiuTbQgaiCvtN2V6roe4RTi6hHV85mNZpWKqvKA8ofqw\"]},\"lib/sequence-v3/src/utils/LibBytes.sol\":{\"keccak256\":\"0x4fe0b4786b2157e12384b90ae9daa1009b74b2547a8a24b800a8b998278c874b\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://065129e32d1a318e89fb7587e136c33177a7848393f9055c0ac601b84741cd8c\",\"dweb:/ipfs/QmVWucfHSHRJriRFNoJqoeDcVB4fDfqbccM8KPBmwcxVu3\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"struct Attestation","name":"attestation","type":"tuple","components":[{"internalType":"address","name":"approvedSigner","type":"address"},{"internalType":"bytes4","name":"identityType","type":"bytes4"},{"internalType":"bytes32","name":"issuerHash","type":"bytes32"},{"internalType":"bytes32","name":"audienceHash","type":"bytes32"},{"internalType":"bytes","name":"applicationData","type":"bytes"},{"internalType":"struct AuthData","name":"authData","type":"tuple","components":[{"internalType":"string","name":"redirectUrl","type":"string"},{"internalType":"uint64","name":"issuedAt","type":"uint64"}]}]},{"internalType":"struct Payload.Call","name":"call","type":"tuple","components":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"gasLimit","type":"uint256"},{"internalType":"bool","name":"delegateCall","type":"bool"},{"internalType":"bool","name":"onlyFallback","type":"bool"},{"internalType":"uint256","name":"behaviorOnError","type":"uint256"}]}],"stateMutability":"view","type":"function","name":"acceptImplicitRequest","outputs":[{"internalType":"bytes32","name":"magic","type":"bytes32"}]}],"devdoc":{"kind":"dev","methods":{"acceptImplicitRequest(address,(address,bytes4,bytes32,bytes32,bytes,(string,uint64)),(address,uint256,bytes,uint256,bool,bool,uint256))":{"params":{"attestation":"The attestation data","call":"The call to validate","wallet":"The wallet's address"},"returns":{"magic":"The hash of the implicit request if valid"}}},"version":1},"userdoc":{"kind":"user","methods":{"acceptImplicitRequest(address,(address,bytes4,bytes32,bytes32,bytes,(string,uint64)),(address,uint256,bytes,uint256,bool,bool,uint256))":{"notice":"Determines if an implicit request is valid"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/sequence-v3/src/extensions/sessions/implicit/ISignalsImplicitMode.sol":"ISignalsImplicitMode"},"evmVersion":"prague","libraries":{}},"sources":{"lib/sequence-v3/src/extensions/sessions/implicit/Attestation.sol":{"keccak256":"0xcaa44022b5eb4bc7ab487b3b1a0125da67e2e891cee983ef6cdb6814f045efc8","urls":["bzz-raw://94829782b6dcb482d7c002511c590d1ad8de3b21e5e72575df18be73565b3638","dweb:/ipfs/QmZ4u9FxALzMzKR7auW8FmFkhGVw8kRDeDRJ1PKwKaWNWF"],"license":"Apache-2.0"},"lib/sequence-v3/src/extensions/sessions/implicit/ISignalsImplicitMode.sol":{"keccak256":"0x6cb48f50c49bcb3c7071306fe9fac6c102bc9eabf73d9909e19ab3b9a835d0a8","urls":["bzz-raw://15297e969f64fc1152654d1cefbe276c15a0ecfc11f86b4c276bb0b454fe700a","dweb:/ipfs/QmeehNFYBPPtJePwUcqiYCgiuFotur4VVVCV1KvegdCCZ4"],"license":"Apache-2.0"},"lib/sequence-v3/src/modules/Payload.sol":{"keccak256":"0x03b3dc2a4a556d3007671e910813dc4703ecb16f5bc2c6645e4c0d8512f2d76a","urls":["bzz-raw://9b41263156d5a310a48038e8c3871e9acdb806c018bc952d1a56efed62954e17","dweb:/ipfs/QmaiuTbQgaiCvtN2V6roe4RTi6hHV85mNZpWKqvKA8ofqw"],"license":"Apache-2.0"},"lib/sequence-v3/src/utils/LibBytes.sol":{"keccak256":"0x4fe0b4786b2157e12384b90ae9daa1009b74b2547a8a24b800a8b998278c874b","urls":["bzz-raw://065129e32d1a318e89fb7587e136c33177a7848393f9055c0ac601b84741cd8c","dweb:/ipfs/QmVWucfHSHRJriRFNoJqoeDcVB4fDfqbccM8KPBmwcxVu3"],"license":"Apache-2.0"}},"version":1},"id":22} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/ISingletonFactory.sol/ISingletonFactory.json b/lib/signals-implicit-mode/out/ISingletonFactory.sol/ISingletonFactory.json new file mode 100644 index 0000000000..6aa8951135 --- /dev/null +++ b/lib/signals-implicit-mode/out/ISingletonFactory.sol/ISingletonFactory.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"deploy","inputs":[{"name":"_initCode","type":"bytes","internalType":"bytes"},{"name":"_salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"createdContract","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"deploy(bytes,bytes32)":"4af63f02"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"_salt\",\"type\":\"bytes32\"}],\"name\":\"deploy\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"createdContract\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/sequence-v3/lib/erc2470-libs/src/ISingletonFactory.sol\":\"ISingletonFactory\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/sequence-v3/lib/erc2470-libs/src/ISingletonFactory.sol\":{\"keccak256\":\"0x0a17871e1017f36a664b877f5b0db297dc998fdf8b0ab82d00ca50d5bdde88f7\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://160bc0d890492792f85dfea939160290d90562b27154f64c39c2a615243518a6\",\"dweb:/ipfs/QmbxmqPpTAH7X45G75UjmLh3RSTDj7trMtmkGU6RXmRyEJ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes","name":"_initCode","type":"bytes"},{"internalType":"bytes32","name":"_salt","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"deploy","outputs":[{"internalType":"address payable","name":"createdContract","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/sequence-v3/lib/erc2470-libs/src/ISingletonFactory.sol":"ISingletonFactory"},"evmVersion":"prague","libraries":{}},"sources":{"lib/sequence-v3/lib/erc2470-libs/src/ISingletonFactory.sol":{"keccak256":"0x0a17871e1017f36a664b877f5b0db297dc998fdf8b0ab82d00ca50d5bdde88f7","urls":["bzz-raw://160bc0d890492792f85dfea939160290d90562b27154f64c39c2a615243518a6","dweb:/ipfs/QmbxmqPpTAH7X45G75UjmLh3RSTDj7trMtmkGU6RXmRyEJ"],"license":"UNLICENSED"}},"version":1},"id":16} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/ImplicitProjectRegistry.sol/ImplicitProjectRegistry.json b/lib/signals-implicit-mode/out/ImplicitProjectRegistry.sol/ImplicitProjectRegistry.json new file mode 100644 index 0000000000..c36bf12c5a --- /dev/null +++ b/lib/signals-implicit-mode/out/ImplicitProjectRegistry.sol/ImplicitProjectRegistry.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"addProjectUrl","inputs":[{"name":"projectId","type":"bytes32","internalType":"bytes32"},{"name":"projectUrl","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addProjectUrlBatch","inputs":[{"name":"projectId","type":"bytes32","internalType":"bytes32"},{"name":"projectUrls","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addProjectUrlHash","inputs":[{"name":"projectId","type":"bytes32","internalType":"bytes32"},{"name":"projectUrlHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addProjectUrlHashBatch","inputs":[{"name":"projectId","type":"bytes32","internalType":"bytes32"},{"name":"projectUrlHashes","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"claimProject","inputs":[{"name":"projectIdUpper","type":"bytes12","internalType":"bytes12"}],"outputs":[{"name":"projectId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"isProjectUrl","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"},{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"listProjectUrls","inputs":[{"name":"projectId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"projectOwner","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"projectUrlsList","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"removeProjectUrl","inputs":[{"name":"projectId","type":"bytes32","internalType":"bytes32"},{"name":"projectUrl","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeProjectUrlHash","inputs":[{"name":"projectId","type":"bytes32","internalType":"bytes32"},{"name":"projectUrlHash","type":"bytes32","internalType":"bytes32"},{"name":"urlIdx","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeProjectUrlHashBatch","inputs":[{"name":"projectId","type":"bytes32","internalType":"bytes32"},{"name":"projectUrlHashes","type":"bytes32[]","internalType":"bytes32[]"},{"name":"urlIdxs","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferProject","inputs":[{"name":"projectId","type":"bytes32","internalType":"bytes32"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"validateAttestation","inputs":[{"name":"wallet","type":"address","internalType":"address"},{"name":"attestation","type":"tuple","internalType":"struct Attestation","components":[{"name":"approvedSigner","type":"address","internalType":"address"},{"name":"identityType","type":"bytes4","internalType":"bytes4"},{"name":"issuerHash","type":"bytes32","internalType":"bytes32"},{"name":"audienceHash","type":"bytes32","internalType":"bytes32"},{"name":"applicationData","type":"bytes","internalType":"bytes"},{"name":"authData","type":"tuple","internalType":"struct AuthData","components":[{"name":"redirectUrl","type":"string","internalType":"string"},{"name":"issuedAt","type":"uint64","internalType":"uint64"}]}]},{"name":"projectId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"event","name":"ProjectClaimed","inputs":[{"name":"projectId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"owner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProjectOwnerTransferred","inputs":[{"name":"projectId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProjectUrlAdded","inputs":[{"name":"projectId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"urlHash","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"ProjectUrlRemoved","inputs":[{"name":"projectId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"urlHash","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"error","name":"InvalidProjectOwner","inputs":[]},{"type":"error","name":"InvalidProjectUrlIndex","inputs":[]},{"type":"error","name":"InvalidRedirectUrl","inputs":[]},{"type":"error","name":"NotProjectOwner","inputs":[]},{"type":"error","name":"ProjectAlreadyClaimed","inputs":[]},{"type":"error","name":"ProjectUrlAlreadyExists","inputs":[]},{"type":"error","name":"ProjectUrlNotFound","inputs":[]}],"bytecode":{"object":"0x6080604052348015600e575f5ffd5b5061174f8061001c5f395ff3fe608060405234801561000f575f5ffd5b50600436106100e5575f3560e01c8063a25acb2511610088578063d9acbe6b11610063578063d9acbe6b146101e6578063dac6c587146101f9578063ebc27b821461020c578063f4364de614610266575f5ffd5b8063a25acb2514610183578063d4c9c5c4146101c0578063d4df1018146101d3575f5ffd5b80633808a90b116100c35780633808a90b14610124578063520994f11461014a57806356cd2b921461015d5780639630aff814610170575f5ffd5b8063065d6c69146100e95780631b31f01b146100fe5780632f28c69d14610111575b5f5ffd5b6100fc6100f7366004610ff9565b610286565b005b6100fc61010c36600461103d565b610320565b6100fc61011f3660046110f6565b610389565b610137610132366004611158565b6103fe565b6040519081526020015b60405180910390f35b6100fc6101583660046111b0565b6104cb565b6100fc61016b3660046111d0565b610533565b6100fc61017e36600461128d565b6105ca565b6101b06101913660046111b0565b600160209081525f928352604080842090915290825290205460ff1681565b6040519015158152602001610141565b6100fc6101ce3660046112b7565b6106f3565b6101376101e136600461137d565b610879565b6101376101f43660046111b0565b610a00565b6100fc6102073660046110f6565b610a2b565b61024161021a3660046113bc565b5f6020819052908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610141565b6102796102743660046113bc565b610b22565b60405161014191906113d3565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff1633146102e4576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b825181101561031a576103128484838151811061030557610305611415565b6020026020010151610b81565b6001016102e6565b50505050565b5f83815260208190526040902054839073ffffffffffffffffffffffffffffffffffffffff16331461037e576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61031a848484610c5d565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff1633146103e7576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103f9836103f484610ddc565b610b81565b505050565b5f8061045361041060a0860186611442565b61041a908061147e565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610ddc92505050565b5f84815260016020908152604080832084845290915290205490915060ff16156104925761048a856104848661159a565b90610e0b565b9150506104c4565b6040517fd7abef4e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9392505050565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163314610529576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103f98383610b81565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163314610591576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b825181101561031a576105c2846103f48584815181106105b5576105b5611415565b6020026020010151610ddc565b600101610593565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163314610628576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216610675576040517fff7d580d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8381526020819052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff86169081179091559051909185917f7869f0fa3d7efaa83c69bf6de987567787178b8d7e41fea0cadfea68a2e27de59190a3505050565b5f83815260208190526040902054839073ffffffffffffffffffffffffffffffffffffffff163314610751576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815183511461078c576040517f526c768700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b6001835161079c919061166b565b81101561082157826107af82600161167e565b815181106107bf576107bf611415565b60200260200101518382815181106107d9576107d9611415565b60200260200101511015610819576040517f526c768700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60010161078e565b505f5b83518110156108725761086a8585838151811061084357610843611415565b602002602001015185848151811061085d5761085d611415565b6020026020010151610c5d565b600101610824565b5050505050565b5f33806108b2576040517fff7d580d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080517fffffffffffffffffffffffff0000000000000000000000000000000000000000851660208201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606084901b16602c8201520160405160208183030381529060405261092390611691565b5f8181526020819052604090205490925073ffffffffffffffffffffffffffffffffffffffff1615610981576040517ffeabeb4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8281526020819052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff85169081179091559051909184917f0f01cd0734cc8ed416ac6ca25cb4fe02dbab63f1236af3858deb14a5666362389190a350919050565b6002602052815f5260405f208181548110610a19575f80fd5b905f5260205f20015f91509150505481565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163314610a89576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610a9383610ddc565b90505f5b5f85815260026020526040902054811015610aef575f858152600260205260409020805483919083908110610ace57610ace611415565b905f5260205f20015403610ae757610872858383610c5d565b600101610a97565b506040517f4745a4ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81815260026020908152604091829020805483518184028101840190945280845260609392830182828015610b7557602002820191905f5260205f20905b815481526020019060010190808311610b61575b50505050509050919050565b5f82815260016020908152604080832084845290915290205460ff1615610bd4576040517f2d86c03a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f828152600160208181526040808420858552825280842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016841790558584526002825280842080549384018155845290832090910183905551829184917fceac3080d7874c4bba80ceae14b6aa96e0df9d4f673d9e5a352d66444f5020679190a35050565b5f8381526002602052604090205481101580610ca257505f838152600260205260409020805483919083908110610c9657610c96611415565b905f5260205f20015414155b15610cd9576040517f526c768700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f838152600160208181526040808420868552825280842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055868452600290915290912080549091610d2f9161166b565b81548110610d3f57610d3f611415565b905f5260205f20015460025f8581526020019081526020015f208281548110610d6a57610d6a611415565b905f5260205f20018190555060025f8481526020019081526020015f20805480610d9657610d966116d6565b600190038181905f5260205f20015f9055905581837f13d94de535e503661de3c84adf637590f269f37c8d4ed5daabae98376a442a6a60405160405180910390a3505050565b5f81604051602001610dee9190611703565b604051602081830303815290604052805190602001209050919050565b6040517f616363657074496d706c6963697452657175657374000000000000000000000060208201525f90603501604051602081830303815290604052805190602001208284606001518560400151604051602001610ea8949392919093845260609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208401526034830152605482015260740190565b6040516020818303038152906040528051906020012090505b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60405160c0810167ffffffffffffffff81118282101715610f1757610f17610ec7565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610f6457610f64610ec7565b604052919050565b5f67ffffffffffffffff821115610f8557610f85610ec7565b5060051b60200190565b5f82601f830112610f9e575f5ffd5b8135610fb1610fac82610f6c565b610f1d565b8082825260208201915060208360051b860101925085831115610fd2575f5ffd5b602085015b83811015610fef578035835260209283019201610fd7565b5095945050505050565b5f5f6040838503121561100a575f5ffd5b82359150602083013567ffffffffffffffff811115611027575f5ffd5b61103385828601610f8f565b9150509250929050565b5f5f5f6060848603121561104f575f5ffd5b505081359360208301359350604090920135919050565b5f82601f830112611075575f5ffd5b8135602083015f5f67ffffffffffffffff84111561109557611095610ec7565b50601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0166020016110c881610f1d565b9150508281528583830111156110dc575f5ffd5b828260208301375f92810160200192909252509392505050565b5f5f60408385031215611107575f5ffd5b82359150602083013567ffffffffffffffff811115611124575f5ffd5b61103385828601611066565b803573ffffffffffffffffffffffffffffffffffffffff81168114611153575f5ffd5b919050565b5f5f5f6060848603121561116a575f5ffd5b61117384611130565b9250602084013567ffffffffffffffff81111561118e575f5ffd5b840160c0818703121561119f575f5ffd5b929592945050506040919091013590565b5f5f604083850312156111c1575f5ffd5b50508035926020909101359150565b5f5f604083850312156111e1575f5ffd5b82359150602083013567ffffffffffffffff8111156111fe575f5ffd5b8301601f8101851361120e575f5ffd5b803561121c610fac82610f6c565b8082825260208201915060208360051b85010192508783111561123d575f5ffd5b602084015b8381101561127e57803567ffffffffffffffff811115611260575f5ffd5b61126f8a602083890101611066565b84525060209283019201611242565b50809450505050509250929050565b5f5f6040838503121561129e575f5ffd5b823591506112ae60208401611130565b90509250929050565b5f5f5f606084860312156112c9575f5ffd5b83359250602084013567ffffffffffffffff8111156112e6575f5ffd5b6112f286828701610f8f565b925050604084013567ffffffffffffffff81111561130e575f5ffd5b8401601f8101861361131e575f5ffd5b803561132c610fac82610f6c565b8082825260208201915060208360051b85010192508883111561134d575f5ffd5b6020840193505b8284101561136f578335825260209384019390910190611354565b809450505050509250925092565b5f6020828403121561138d575f5ffd5b81357fffffffffffffffffffffffff0000000000000000000000000000000000000000811681146104c4575f5ffd5b5f602082840312156113cc575f5ffd5b5035919050565b602080825282518282018190525f918401906040840190835b8181101561140a5783518352602093840193909201916001016113ec565b509095945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112611474575f5ffd5b9190910192915050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126114b1575f5ffd5b83018035915067ffffffffffffffff8211156114cb575f5ffd5b6020019150368190038213156114df575f5ffd5b9250929050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114611153575f5ffd5b5f60408284031215611525575f5ffd5b6040805190810167ffffffffffffffff8111828210171561154857611548610ec7565b604052905080823567ffffffffffffffff811115611564575f5ffd5b61157085828601611066565b825250602083013567ffffffffffffffff8116811461158d575f5ffd5b6020919091015292915050565b5f60c082360312156115aa575f5ffd5b6115b2610ef4565b6115bb83611130565b81526115c9602084016114e6565b60208201526040838101359082015260608084013590820152608083013567ffffffffffffffff8111156115fb575f5ffd5b61160736828601611066565b60808301525060a083013567ffffffffffffffff811115611626575f5ffd5b61163236828601611515565b60a08301525092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b81810381811115610ec157610ec161163e565b80820180821115610ec157610ec161163e565b805160208083015191908110156116d0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8160200360031b1b821691505b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b5f82518060208501845e5f92019182525091905056fea2646970667358221220eff7a239b8ebc55f56295f057cc1827136d7f792f7aac5663d6082776f11363064736f6c634300081c0033","sourceMap":"454:6451:28:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f5ffd5b50600436106100e5575f3560e01c8063a25acb2511610088578063d9acbe6b11610063578063d9acbe6b146101e6578063dac6c587146101f9578063ebc27b821461020c578063f4364de614610266575f5ffd5b8063a25acb2514610183578063d4c9c5c4146101c0578063d4df1018146101d3575f5ffd5b80633808a90b116100c35780633808a90b14610124578063520994f11461014a57806356cd2b921461015d5780639630aff814610170575f5ffd5b8063065d6c69146100e95780631b31f01b146100fe5780632f28c69d14610111575b5f5ffd5b6100fc6100f7366004610ff9565b610286565b005b6100fc61010c36600461103d565b610320565b6100fc61011f3660046110f6565b610389565b610137610132366004611158565b6103fe565b6040519081526020015b60405180910390f35b6100fc6101583660046111b0565b6104cb565b6100fc61016b3660046111d0565b610533565b6100fc61017e36600461128d565b6105ca565b6101b06101913660046111b0565b600160209081525f928352604080842090915290825290205460ff1681565b6040519015158152602001610141565b6100fc6101ce3660046112b7565b6106f3565b6101376101e136600461137d565b610879565b6101376101f43660046111b0565b610a00565b6100fc6102073660046110f6565b610a2b565b61024161021a3660046113bc565b5f6020819052908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610141565b6102796102743660046113bc565b610b22565b60405161014191906113d3565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff1633146102e4576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b825181101561031a576103128484838151811061030557610305611415565b6020026020010151610b81565b6001016102e6565b50505050565b5f83815260208190526040902054839073ffffffffffffffffffffffffffffffffffffffff16331461037e576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61031a848484610c5d565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff1633146103e7576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103f9836103f484610ddc565b610b81565b505050565b5f8061045361041060a0860186611442565b61041a908061147e565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610ddc92505050565b5f84815260016020908152604080832084845290915290205490915060ff16156104925761048a856104848661159a565b90610e0b565b9150506104c4565b6040517fd7abef4e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9392505050565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163314610529576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103f98383610b81565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163314610591576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b825181101561031a576105c2846103f48584815181106105b5576105b5611415565b6020026020010151610ddc565b600101610593565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163314610628576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216610675576040517fff7d580d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8381526020819052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff86169081179091559051909185917f7869f0fa3d7efaa83c69bf6de987567787178b8d7e41fea0cadfea68a2e27de59190a3505050565b5f83815260208190526040902054839073ffffffffffffffffffffffffffffffffffffffff163314610751576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815183511461078c576040517f526c768700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b6001835161079c919061166b565b81101561082157826107af82600161167e565b815181106107bf576107bf611415565b60200260200101518382815181106107d9576107d9611415565b60200260200101511015610819576040517f526c768700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60010161078e565b505f5b83518110156108725761086a8585838151811061084357610843611415565b602002602001015185848151811061085d5761085d611415565b6020026020010151610c5d565b600101610824565b5050505050565b5f33806108b2576040517fff7d580d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080517fffffffffffffffffffffffff0000000000000000000000000000000000000000851660208201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606084901b16602c8201520160405160208183030381529060405261092390611691565b5f8181526020819052604090205490925073ffffffffffffffffffffffffffffffffffffffff1615610981576040517ffeabeb4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8281526020819052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff85169081179091559051909184917f0f01cd0734cc8ed416ac6ca25cb4fe02dbab63f1236af3858deb14a5666362389190a350919050565b6002602052815f5260405f208181548110610a19575f80fd5b905f5260205f20015f91509150505481565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163314610a89576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610a9383610ddc565b90505f5b5f85815260026020526040902054811015610aef575f858152600260205260409020805483919083908110610ace57610ace611415565b905f5260205f20015403610ae757610872858383610c5d565b600101610a97565b506040517f4745a4ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81815260026020908152604091829020805483518184028101840190945280845260609392830182828015610b7557602002820191905f5260205f20905b815481526020019060010190808311610b61575b50505050509050919050565b5f82815260016020908152604080832084845290915290205460ff1615610bd4576040517f2d86c03a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f828152600160208181526040808420858552825280842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016841790558584526002825280842080549384018155845290832090910183905551829184917fceac3080d7874c4bba80ceae14b6aa96e0df9d4f673d9e5a352d66444f5020679190a35050565b5f8381526002602052604090205481101580610ca257505f838152600260205260409020805483919083908110610c9657610c96611415565b905f5260205f20015414155b15610cd9576040517f526c768700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f838152600160208181526040808420868552825280842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055868452600290915290912080549091610d2f9161166b565b81548110610d3f57610d3f611415565b905f5260205f20015460025f8581526020019081526020015f208281548110610d6a57610d6a611415565b905f5260205f20018190555060025f8481526020019081526020015f20805480610d9657610d966116d6565b600190038181905f5260205f20015f9055905581837f13d94de535e503661de3c84adf637590f269f37c8d4ed5daabae98376a442a6a60405160405180910390a3505050565b5f81604051602001610dee9190611703565b604051602081830303815290604052805190602001209050919050565b6040517f616363657074496d706c6963697452657175657374000000000000000000000060208201525f90603501604051602081830303815290604052805190602001208284606001518560400151604051602001610ea8949392919093845260609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208401526034830152605482015260740190565b6040516020818303038152906040528051906020012090505b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60405160c0810167ffffffffffffffff81118282101715610f1757610f17610ec7565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610f6457610f64610ec7565b604052919050565b5f67ffffffffffffffff821115610f8557610f85610ec7565b5060051b60200190565b5f82601f830112610f9e575f5ffd5b8135610fb1610fac82610f6c565b610f1d565b8082825260208201915060208360051b860101925085831115610fd2575f5ffd5b602085015b83811015610fef578035835260209283019201610fd7565b5095945050505050565b5f5f6040838503121561100a575f5ffd5b82359150602083013567ffffffffffffffff811115611027575f5ffd5b61103385828601610f8f565b9150509250929050565b5f5f5f6060848603121561104f575f5ffd5b505081359360208301359350604090920135919050565b5f82601f830112611075575f5ffd5b8135602083015f5f67ffffffffffffffff84111561109557611095610ec7565b50601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0166020016110c881610f1d565b9150508281528583830111156110dc575f5ffd5b828260208301375f92810160200192909252509392505050565b5f5f60408385031215611107575f5ffd5b82359150602083013567ffffffffffffffff811115611124575f5ffd5b61103385828601611066565b803573ffffffffffffffffffffffffffffffffffffffff81168114611153575f5ffd5b919050565b5f5f5f6060848603121561116a575f5ffd5b61117384611130565b9250602084013567ffffffffffffffff81111561118e575f5ffd5b840160c0818703121561119f575f5ffd5b929592945050506040919091013590565b5f5f604083850312156111c1575f5ffd5b50508035926020909101359150565b5f5f604083850312156111e1575f5ffd5b82359150602083013567ffffffffffffffff8111156111fe575f5ffd5b8301601f8101851361120e575f5ffd5b803561121c610fac82610f6c565b8082825260208201915060208360051b85010192508783111561123d575f5ffd5b602084015b8381101561127e57803567ffffffffffffffff811115611260575f5ffd5b61126f8a602083890101611066565b84525060209283019201611242565b50809450505050509250929050565b5f5f6040838503121561129e575f5ffd5b823591506112ae60208401611130565b90509250929050565b5f5f5f606084860312156112c9575f5ffd5b83359250602084013567ffffffffffffffff8111156112e6575f5ffd5b6112f286828701610f8f565b925050604084013567ffffffffffffffff81111561130e575f5ffd5b8401601f8101861361131e575f5ffd5b803561132c610fac82610f6c565b8082825260208201915060208360051b85010192508883111561134d575f5ffd5b6020840193505b8284101561136f578335825260209384019390910190611354565b809450505050509250925092565b5f6020828403121561138d575f5ffd5b81357fffffffffffffffffffffffff0000000000000000000000000000000000000000811681146104c4575f5ffd5b5f602082840312156113cc575f5ffd5b5035919050565b602080825282518282018190525f918401906040840190835b8181101561140a5783518352602093840193909201916001016113ec565b509095945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112611474575f5ffd5b9190910192915050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126114b1575f5ffd5b83018035915067ffffffffffffffff8211156114cb575f5ffd5b6020019150368190038213156114df575f5ffd5b9250929050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114611153575f5ffd5b5f60408284031215611525575f5ffd5b6040805190810167ffffffffffffffff8111828210171561154857611548610ec7565b604052905080823567ffffffffffffffff811115611564575f5ffd5b61157085828601611066565b825250602083013567ffffffffffffffff8116811461158d575f5ffd5b6020919091015292915050565b5f60c082360312156115aa575f5ffd5b6115b2610ef4565b6115bb83611130565b81526115c9602084016114e6565b60208201526040838101359082015260608084013590820152608083013567ffffffffffffffff8111156115fb575f5ffd5b61160736828601611066565b60808301525060a083013567ffffffffffffffff811115611626575f5ffd5b61163236828601611515565b60a08301525092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b81810381811115610ec157610ec161163e565b80820180821115610ec157610ec161163e565b805160208083015191908110156116d0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8160200360031b1b821691505b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b5f82518060208501845e5f92019182525091905056fea2646970667358221220eff7a239b8ebc55f56295f057cc1827136d7f792f7aac5663d6082776f11363064736f6c634300081c0033","sourceMap":"454:6451:28:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2750:260;;;;;;:::i;:::-;;:::i;:::-;;4348:209;;;;;;:::i;:::-;;:::i;3057:165::-;;;;;;:::i;:::-;;:::i;6375:396::-;;;;;;:::i;:::-;;:::i;:::-;;;4721:25:33;;;4709:2;4694:18;6375:396:28;;;;;;;;2445:163;;;;;;:::i;:::-;;:::i;3347:238::-;;;;;;:::i;:::-;;:::i;1600:323::-;;;;;;:::i;:::-;;:::i;668:64::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6750:14:33;;6743:22;6725:41;;6713:2;6698:18;668:64:28;6585:187:33;4829:701:28;;;;;;:::i;:::-;;:::i;1017:536::-;;;;;;:::i;:::-;;:::i;736:52::-;;;;;;:::i;:::-;;:::i;5656:486::-;;;;;;:::i;:::-;;:::i;589:47::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;9180:42:33;9168:55;;;9150:74;;9138:2;9123:18;589:47:28;9004:226:33;6189:137:28;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2750:260::-;856:12;:23;;;;;;;;;;;2874:9;;856:37;:23;883:10;856:37;852:107;;910:42;;;;;;;;;;;;;;852:107;2896:9:::1;2891:115;2911:16;:23;2907:1;:27;2891:115;;;2949:50;2968:9;2979:16;2996:1;2979:19;;;;;;;;:::i;:::-;;;;;;;2949:18;:50::i;:::-;2936:3;;2891:115;;;;2750:260:::0;;;:::o;4348:209::-;856:12;:23;;;;;;;;;;;4479:9;;856:37;:23;883:10;856:37;852:107;;910:42;;;;;;;;;;;;;;852:107;4496:56:::1;4518:9;4529:14;4545:6;4496:21;:56::i;3057:165::-:0;856:12;:23;;;;;;;;;;;3149:9;;856:37;:23;883:10;856:37;852:107;;910:42;;;;;;;;;;;;;;852:107;3166:51:::1;3185:9;3196:20;3205:10;3196:8;:20::i;:::-;3166:18;:51::i;:::-;3057:165:::0;;;:::o;6375:396::-;6512:7;;6547:42;6556:20;;;;:11;:20;:::i;:::-;:32;;;;:::i;:::-;6547:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6547:8:28;;-1:-1:-1;;;6547:42:28:i;:::-;6600:23;;;;:12;:23;;;;;;;;:34;;;;;;;;;6527:62;;-1:-1:-1;6600:34:28;;6596:110;;;6651:48;6692:6;6651:40;:11;:40;:::i;:::-;;;:48::i;:::-;6644:55;;;;;6596:110;6719:47;;;;;;;;;;;;;;6375:396;;;;;;:::o;2445:163::-;856:12;:23;;;;;;;;;;;2541:9;;856:37;:23;883:10;856:37;852:107;;910:42;;;;;;;;;;;;;;852:107;2558:45:::1;2577:9;2588:14;2558:18;:45::i;3347:238::-:0;856:12;:23;;;;;;;;;;;3449:9;;856:37;:23;883:10;856:37;852:107;;910:42;;;;;;;;;;;;;;852:107;3471:9:::1;3466:115;3486:11;:18;3482:1;:22;3466:115;;;3519:55;3538:9;3549:24;3558:11;3570:1;3558:14;;;;;;;;:::i;:::-;;;;;;;3549:8;:24::i;3519:55::-;3506:3;;3466:115;;1600:323:::0;856:12;:23;;;;;;;;;;;1686:9;;856:37;:23;883:10;856:37;852:107;;910:42;;;;;;;;;;;;;;852:107;1707:22:::1;::::0;::::1;1703:96;;1746:46;;;;;;;;;;;;;;1703:96;1804:12;:23:::0;;;::::1;::::0;;;;;;;:34;;;::::1;;::::0;::::1;::::0;;::::1;::::0;;;1849:69;;1804:34;;:23;;1849:69:::1;::::0;1804:12;1849:69:::1;1600:323:::0;;;:::o;4829:701::-;856:12;:23;;;;;;;;;;;4986:9;;856:37;:23;883:10;856:37;852:107;;910:42;;;;;;;;;;;;;;852:107;5034:7:::1;:14;5007:16;:23;:41;5003:118;;5065:49;;;;;;;;;;;;;;5003:118;5229:9;5224:167;5261:1;5244:7;:14;:18;;;;:::i;:::-;5240:1;:22;5224:167;;;5294:7:::0;5302:5:::1;:1:::0;5306::::1;5302:5;:::i;:::-;5294:14;;;;;;;;:::i;:::-;;;;;;;5281:7;5289:1;5281:10;;;;;;;;:::i;:::-;;;;;;;:27;5277:108;;;5327:49;;;;;;;;;;;;;;5277:108;5264:3;;5224:167;;;;5401:9;5396:130;5416:16;:23;5412:1;:27;5396:130;;;5454:65;5476:9;5487:16;5504:1;5487:19;;;;;;;;:::i;:::-;;;;;;;5508:7;5516:1;5508:10;;;;;;;;:::i;:::-;;;;;;;5454:21;:65::i;:::-;5441:3;;5396:130;;;;4829:701:::0;;;;:::o;1017:536::-;1087:17;1128:10;;1144:93;;1184:46;;;;;;;;;;;;;;1144:93;1262:39;;;13659:66:33;13647:79;;1262:39:28;;;13635:92:33;13778:66;13765:2;13761:15;;;13757:88;13743:12;;;13736:110;13862:12;1262:39:28;;;;;;;;;;;;1254:48;;;:::i;:::-;1347:1;1312:23;;;;;;;;;;;1242:60;;-1:-1:-1;1312:37:28;:23;:37;1308:113;;1366:48;;;;;;;;;;;;;;1308:113;1426:12;:23;;;;;;;;;;;:31;;;;;;;;;;;;;1468:57;;1426:31;;:23;;1468:57;;1426:12;1468:57;1532:16;1017:536;;;:::o;736:52::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5656:486::-;856:12;:23;;;;;;;;;;;5753:9;;856:37;:23;883:10;856:37;852:107;;910:42;;;;;;;;;;;;;;852:107;5816:22:::1;5841:20;5850:10;5841:8;:20::i;:::-;5816:45;;5872:9;5867:213;5887:26;::::0;;;:15:::1;:26;::::0;;;;:33;5883:37;::::1;5867:213;;;5939:26;::::0;;;:15:::1;:26;::::0;;;;:29;;5972:14;;5939:26;5966:1;;5939:29;::::1;;;;;:::i;:::-;;;;;;;;;:47:::0;5935:139:::1;;5998:51;6020:9;6031:14;6047:1;5998:21;:51::i;5935:139::-;5922:3;;5867:213;;;;6092:45;;;;;;;;;;;;;;6189:137:::0;6295:26;;;;:15;:26;;;;;;;;;6288:33;;;;;;;;;;;;;;;;;6264:16;;6288:33;;;6295:26;6288:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6189:137;;;:::o;1927:390::-;2017:23;;;;:12;:23;;;;;;;;:39;;;;;;;;;;;2013:117;;;2073:50;;;;;;;;;;;;;;2013:117;2135:23;;;;2177:4;2135:23;;;;;;;;:39;;;;;;;;:46;;;;;;;;2187:26;;;:15;:26;;;;;:47;;;;;;;;;;;;;;;;;;2245:67;2159:14;;2148:9;;2245:67;;2135:23;2245:67;1927:390;;:::o;3589:564::-;3708:26;;;;:15;:26;;;;;:33;3698:43;;;;:99;;-1:-1:-1;3745:26:28;;;;:15;:26;;;;;:34;;3783:14;;3745:26;3772:6;;3745:34;;;;;;:::i;:::-;;;;;;;;;:52;;3698:99;3694:176;;;3814:49;;;;;;;;;;;;;;3694:176;3917:5;3875:23;;;:12;:23;;;;;;;;:39;;;;;;;;:47;;;;;;3965:26;;;:15;:26;;;;;;3992:33;;3965:26;;3992:37;;;:::i;:::-;3965:65;;;;;;;;:::i;:::-;;;;;;;;;3928:15;:26;3944:9;3928:26;;;;;;;;;;;3955:6;3928:34;;;;;;;;:::i;:::-;;;;;;;;:102;;;;4036:15;:26;4052:9;4036:26;;;;;;;;;;;:32;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;4133:14;4122:9;4079:69;;;;;;;;;;3589:564;;;:::o;6775:127::-;6843:7;6892:3;6875:21;;;;;;;;:::i;:::-;;;;;;;;;;;;;6865:32;;;;;;6858:39;;6775:127;;;:::o;4328:271:21:-;284:41:22;;14958:23:33;284:41:22;;;14946:36:33;4437:7:21;;14998:12:33;;284:41:22;;;;;;;;;;;;274:52;;;;;;4531:6:21;4539:11;:24;;;4565:11;:22;;;4476:112;;;;;;;;;;15234:19:33;;;15291:2;15287:15;;;;15304:66;15283:88;15278:2;15269:12;;15262:110;15397:2;15388:12;;15381:28;15434:2;15425:12;;15418:28;15471:3;15462:13;;15021:460;4476:112:21;;;;;;;;;;;;;4459:135;;;;;;4452:142;;4328:271;;;;;:::o;14:184:33:-;66:77;63:1;56:88;163:4;160:1;153:15;187:4;184:1;177:15;203:253;275:2;269:9;317:4;305:17;;352:18;337:34;;373:22;;;334:62;331:88;;;399:18;;:::i;:::-;435:2;428:22;203:253;:::o;461:334::-;532:2;526:9;588:2;578:13;;593:66;574:86;562:99;;691:18;676:34;;712:22;;;673:62;670:88;;;738:18;;:::i;:::-;774:2;767:22;461:334;;-1:-1:-1;461:334:33:o;800:183::-;860:4;893:18;885:6;882:30;879:56;;;915:18;;:::i;:::-;-1:-1:-1;960:1:33;956:14;972:4;952:25;;800:183::o;988:723::-;1042:5;1095:3;1088:4;1080:6;1076:17;1072:27;1062:55;;1113:1;1110;1103:12;1062:55;1153:6;1140:20;1180:64;1196:47;1236:6;1196:47;:::i;:::-;1180:64;:::i;:::-;1268:3;1292:6;1287:3;1280:19;1324:4;1319:3;1315:14;1308:21;;1385:4;1375:6;1372:1;1368:14;1360:6;1356:27;1352:38;1338:52;;1413:3;1405:6;1402:15;1399:35;;;1430:1;1427;1420:12;1399:35;1466:4;1458:6;1454:17;1480:200;1496:6;1491:3;1488:15;1480:200;;;1588:17;;1618:18;;1665:4;1656:14;;;;1513;1480:200;;;-1:-1:-1;1698:7:33;988:723;-1:-1:-1;;;;;988:723:33:o;1716:462::-;1809:6;1817;1870:2;1858:9;1849:7;1845:23;1841:32;1838:52;;;1886:1;1883;1876:12;1838:52;1931:23;;;-1:-1:-1;2029:2:33;2014:18;;2001:32;2056:18;2045:30;;2042:50;;;2088:1;2085;2078:12;2042:50;2111:61;2164:7;2155:6;2144:9;2140:22;2111:61;:::i;:::-;2101:71;;;1716:462;;;;;:::o;2183:466::-;2260:6;2268;2276;2329:2;2317:9;2308:7;2304:23;2300:32;2297:52;;;2345:1;2342;2335:12;2297:52;-1:-1:-1;;2390:23:33;;;2510:2;2495:18;;2482:32;;-1:-1:-1;2613:2:33;2598:18;;;2585:32;;2183:466;-1:-1:-1;2183:466:33:o;2654:689::-;2697:5;2750:3;2743:4;2735:6;2731:17;2727:27;2717:55;;2768:1;2765;2758:12;2717:55;2808:6;2795:20;2847:4;2839:6;2835:17;2876:1;2898;2922:18;2914:6;2911:30;2908:56;;;2944:18;;:::i;:::-;-1:-1:-1;3001:2:33;2989:15;;3006:66;2985:88;3075:4;2981:99;3100:21;2981:99;3100:21;:::i;:::-;3089:32;;;3146:6;3137:7;3130:23;3186:3;3177:6;3172:3;3168:16;3165:25;3162:45;;;3203:1;3200;3193:12;3162:45;3254:6;3249:3;3242:4;3233:7;3229:18;3216:45;3310:1;3281:20;;;3303:4;3277:31;3270:42;;;;-1:-1:-1;3285:7:33;2654:689;-1:-1:-1;;;2654:689:33:o;3348:436::-;3426:6;3434;3487:2;3475:9;3466:7;3462:23;3458:32;3455:52;;;3503:1;3500;3493:12;3455:52;3548:23;;;-1:-1:-1;3646:2:33;3631:18;;3618:32;3673:18;3662:30;;3659:50;;;3705:1;3702;3695:12;3659:50;3728;3770:7;3761:6;3750:9;3746:22;3728:50;:::i;3789:196::-;3857:20;;3917:42;3906:54;;3896:65;;3886:93;;3975:1;3972;3965:12;3886:93;3789:196;;;:::o;3990:580::-;4099:6;4107;4115;4168:2;4156:9;4147:7;4143:23;4139:32;4136:52;;;4184:1;4181;4174:12;4136:52;4207:29;4226:9;4207:29;:::i;:::-;4197:39;;4287:2;4276:9;4272:18;4259:32;4314:18;4306:6;4303:30;4300:50;;;4346:1;4343;4336:12;4300:50;4369:22;;4425:3;4407:16;;;4403:26;4400:46;;;4442:1;4439;4432:12;4400:46;3990:580;;4465:2;;-1:-1:-1;;;4536:2:33;4521:18;;;;4508:32;;3990:580::o;4757:346::-;4825:6;4833;4886:2;4874:9;4865:7;4861:23;4857:32;4854:52;;;4902:1;4899;4892:12;4854:52;-1:-1:-1;;4947:23:33;;;5067:2;5052:18;;;5039:32;;-1:-1:-1;4757:346:33:o;5108:1167::-;5211:6;5219;5272:2;5260:9;5251:7;5247:23;5243:32;5240:52;;;5288:1;5285;5278:12;5240:52;5333:23;;;-1:-1:-1;5431:2:33;5416:18;;5403:32;5458:18;5447:30;;5444:50;;;5490:1;5487;5480:12;5444:50;5513:22;;5566:4;5558:13;;5554:27;-1:-1:-1;5544:55:33;;5595:1;5592;5585:12;5544:55;5635:2;5622:16;5658:64;5674:47;5714:6;5674:47;:::i;5658:64::-;5744:3;5768:6;5763:3;5756:19;5800:2;5795:3;5791:12;5784:19;;5855:2;5845:6;5842:1;5838:14;5834:2;5830:23;5826:32;5812:46;;5881:7;5873:6;5870:19;5867:39;;;5902:1;5899;5892:12;5867:39;5934:2;5930;5926:11;5946:299;5962:6;5957:3;5954:15;5946:299;;;6048:3;6035:17;6084:18;6071:11;6068:35;6065:55;;;6116:1;6113;6106:12;6065:55;6145:57;6194:7;6189:2;6175:11;6171:2;6167:20;6163:29;6145:57;:::i;:::-;6133:70;;-1:-1:-1;6232:2:33;6223:12;;;;5979;5946:299;;;5950:3;6264:5;6254:15;;;;;;5108:1167;;;;;:::o;6280:300::-;6348:6;6356;6409:2;6397:9;6388:7;6384:23;6380:32;6377:52;;;6425:1;6422;6415:12;6377:52;6470:23;;;-1:-1:-1;6536:38:33;6570:2;6555:18;;6536:38;:::i;:::-;6526:48;;6280:300;;;;;:::o;6777:1302::-;6904:6;6912;6920;6973:2;6961:9;6952:7;6948:23;6944:32;6941:52;;;6989:1;6986;6979:12;6941:52;7034:23;;;-1:-1:-1;7132:2:33;7117:18;;7104:32;7159:18;7148:30;;7145:50;;;7191:1;7188;7181:12;7145:50;7214:61;7267:7;7258:6;7247:9;7243:22;7214:61;:::i;:::-;7204:71;;;7328:2;7317:9;7313:18;7300:32;7357:18;7347:8;7344:32;7341:52;;;7389:1;7386;7379:12;7341:52;7412:24;;7467:4;7459:13;;7455:27;-1:-1:-1;7445:55:33;;7496:1;7493;7486:12;7445:55;7536:2;7523:16;7559:64;7575:47;7615:6;7575:47;:::i;7559:64::-;7645:3;7669:6;7664:3;7657:19;7701:2;7696:3;7692:12;7685:19;;7756:2;7746:6;7743:1;7739:14;7735:2;7731:23;7727:32;7713:46;;7782:7;7774:6;7771:19;7768:39;;;7803:1;7800;7793:12;7768:39;7835:2;7831;7827:11;7816:22;;7847:202;7863:6;7858:3;7855:15;7847:202;;;7957:17;;7987:20;;8036:2;7880:12;;;;8027;;;;7847:202;;;8068:5;8058:15;;;;;;6777:1302;;;;;:::o;8084:333::-;8143:6;8196:2;8184:9;8175:7;8171:23;8167:32;8164:52;;;8212:1;8209;8202:12;8164:52;8251:9;8238:23;8301:66;8294:5;8290:78;8283:5;8280:89;8270:117;;8383:1;8380;8373:12;8773:226;8832:6;8885:2;8873:9;8864:7;8860:23;8856:32;8853:52;;;8901:1;8898;8891:12;8853:52;-1:-1:-1;8946:23:33;;8773:226;-1:-1:-1;8773:226:33:o;9235:611::-;9425:2;9437:21;;;9507:13;;9410:18;;;9529:22;;;9377:4;;9608:15;;;9582:2;9567:18;;;9377:4;9651:169;9665:6;9662:1;9659:13;9651:169;;;9726:13;;9714:26;;9769:2;9795:15;;;;9760:12;;;;9687:1;9680:9;9651:169;;;-1:-1:-1;9837:3:33;;9235:611;-1:-1:-1;;;;;9235:611:33:o;9851:184::-;9903:77;9900:1;9893:88;10000:4;9997:1;9990:15;10024:4;10021:1;10014:15;10040:385;10135:4;10193:11;10180:25;10283:66;10272:8;10256:14;10252:29;10248:102;10228:18;10224:127;10214:155;;10365:1;10362;10355:12;10214:155;10386:33;;;;;10040:385;-1:-1:-1;;10040:385:33:o;10430:581::-;10508:4;10514:6;10574:11;10561:25;10664:66;10653:8;10637:14;10633:29;10629:102;10609:18;10605:127;10595:155;;10746:1;10743;10736:12;10595:155;10773:33;;10825:20;;;-1:-1:-1;10868:18:33;10857:30;;10854:50;;;10900:1;10897;10890:12;10854:50;10933:4;10921:17;;-1:-1:-1;10964:14:33;10960:27;;;10950:38;;10947:58;;;11001:1;10998;10991:12;10947:58;10430:581;;;;;:::o;11016:219::-;11083:20;;11143:66;11132:78;;11122:89;;11112:117;;11225:1;11222;11215:12;11240:738;11295:5;11343:4;11331:9;11326:3;11322:19;11318:30;11315:50;;;11361:1;11358;11351:12;11315:50;11414:4;11408:11;;;11446:17;;11493:18;11478:34;;11514:22;;;11475:62;11472:88;;;11540:18;;:::i;:::-;11576:4;11569:24;11611:6;-1:-1:-1;11611:6:33;11640:23;;11686:18;11675:30;;11672:50;;;11718:1;11715;11708:12;11672:50;11746:46;11788:3;11779:6;11768:9;11764:22;11746:46;:::i;:::-;11738:6;11731:62;;11845:2;11834:9;11830:18;11817:32;11893:18;11884:7;11880:32;11871:7;11868:45;11858:73;;11927:1;11924;11917:12;11858:73;11959:2;11947:15;;;;11940:32;11240:738;;-1:-1:-1;;11240:738:33:o;11983:1038::-;12095:9;12154:4;12146:5;12130:14;12126:26;12122:37;12119:57;;;12172:1;12169;12162:12;12119:57;12200:22;;:::i;:::-;12247:25;12266:5;12247:25;:::i;:::-;12238:7;12231:42;12307:33;12336:2;12329:5;12325:14;12307:33;:::i;:::-;12302:2;12289:16;;12282:59;12410:2;12399:14;;;12386:28;12430:16;;;12423:33;12525:2;12514:14;;;12501:28;12545:16;;;12538:33;12618:3;12607:15;;12594:29;12646:18;12635:30;;12632:50;;;12678:1;12675;12668:12;12632:50;12717:53;12755:14;12746:6;12739:5;12735:18;12717:53;:::i;:::-;12711:3;12702:7;12698:17;12691:80;;12820:3;12813:5;12809:15;12796:29;12850:18;12840:8;12837:32;12834:52;;;12882:1;12879;12872:12;12834:52;12921:64;12970:14;12959:8;12952:5;12948:20;12921:64;:::i;:::-;12915:3;12902:17;;12895:91;-1:-1:-1;12906:7:33;11983:1038;-1:-1:-1;;11983:1038:33:o;13026:184::-;13078:77;13075:1;13068:88;13175:4;13172:1;13165:15;13199:4;13196:1;13189:15;13215:128;13282:9;;;13303:11;;;13300:37;;;13317:18;;:::i;13348:125::-;13413:9;;;13434:10;;;13431:36;;;13447:18;;:::i;13885:357::-;14003:12;;14050:4;14039:16;;;14033:23;;14003:12;14068:16;;14065:171;;;14158:66;14148:6;14142:4;14138:17;14135:1;14131:25;14127:98;14120:5;14116:110;14107:119;;14065:171;;13885:357;;;:::o;14247:184::-;14299:77;14296:1;14289:88;14396:4;14393:1;14386:15;14420:4;14417:1;14410:15;14436:303;14567:3;14605:6;14599:13;14651:6;14644:4;14636:6;14632:17;14627:3;14621:37;14713:1;14677:16;;14702:13;;;-1:-1:-1;14677:16:33;14436:303;-1:-1:-1;14436:303:33:o","linkReferences":{}},"methodIdentifiers":{"addProjectUrl(bytes32,string)":"2f28c69d","addProjectUrlBatch(bytes32,string[])":"56cd2b92","addProjectUrlHash(bytes32,bytes32)":"520994f1","addProjectUrlHashBatch(bytes32,bytes32[])":"065d6c69","claimProject(bytes12)":"d4df1018","isProjectUrl(bytes32,bytes32)":"a25acb25","listProjectUrls(bytes32)":"f4364de6","projectOwner(bytes32)":"ebc27b82","projectUrlsList(bytes32,uint256)":"d9acbe6b","removeProjectUrl(bytes32,string)":"dac6c587","removeProjectUrlHash(bytes32,bytes32,uint256)":"1b31f01b","removeProjectUrlHashBatch(bytes32,bytes32[],uint256[])":"d4c9c5c4","transferProject(bytes32,address)":"9630aff8","validateAttestation(address,(address,bytes4,bytes32,bytes32,bytes,(string,uint64)),bytes32)":"3808a90b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidProjectOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidProjectUrlIndex\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRedirectUrl\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotProjectOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProjectAlreadyClaimed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProjectUrlAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProjectUrlNotFound\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"projectId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ProjectClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"projectId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"ProjectOwnerTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"projectId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"urlHash\",\"type\":\"bytes32\"}],\"name\":\"ProjectUrlAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"projectId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"urlHash\",\"type\":\"bytes32\"}],\"name\":\"ProjectUrlRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"projectId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"projectUrl\",\"type\":\"string\"}],\"name\":\"addProjectUrl\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"projectId\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"projectUrls\",\"type\":\"string[]\"}],\"name\":\"addProjectUrlBatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"projectId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"projectUrlHash\",\"type\":\"bytes32\"}],\"name\":\"addProjectUrlHash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"projectId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"projectUrlHashes\",\"type\":\"bytes32[]\"}],\"name\":\"addProjectUrlHashBatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes12\",\"name\":\"projectIdUpper\",\"type\":\"bytes12\"}],\"name\":\"claimProject\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"projectId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"isProjectUrl\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"projectId\",\"type\":\"bytes32\"}],\"name\":\"listProjectUrls\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"projectOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"projectUrlsList\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"projectId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"projectUrl\",\"type\":\"string\"}],\"name\":\"removeProjectUrl\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"projectId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"projectUrlHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"urlIdx\",\"type\":\"uint256\"}],\"name\":\"removeProjectUrlHash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"projectId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"projectUrlHashes\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"urlIdxs\",\"type\":\"uint256[]\"}],\"name\":\"removeProjectUrlHashBatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"projectId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferProject\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"wallet\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"approvedSigner\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"identityType\",\"type\":\"bytes4\"},{\"internalType\":\"bytes32\",\"name\":\"issuerHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"audienceHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"applicationData\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"redirectUrl\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"issuedAt\",\"type\":\"uint64\"}],\"internalType\":\"struct AuthData\",\"name\":\"authData\",\"type\":\"tuple\"}],\"internalType\":\"struct Attestation\",\"name\":\"attestation\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"projectId\",\"type\":\"bytes32\"}],\"name\":\"validateAttestation\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Michael Standen\",\"kind\":\"dev\",\"methods\":{\"addProjectUrl(bytes32,string)\":{\"params\":{\"projectId\":\"The project id\",\"projectUrl\":\"The project URL\"}},\"addProjectUrlBatch(bytes32,string[])\":{\"params\":{\"projectId\":\"The project id\",\"projectUrls\":\"The project URLs\"}},\"addProjectUrlHash(bytes32,bytes32)\":{\"params\":{\"projectId\":\"The project id\",\"projectUrlHash\":\"The project URL hash\"}},\"addProjectUrlHashBatch(bytes32,bytes32[])\":{\"params\":{\"projectId\":\"The project id\",\"projectUrlHashes\":\"The project URL hashes\"}},\"claimProject(bytes12)\":{\"params\":{\"projectIdUpper\":\"The project id upper\"},\"returns\":{\"projectId\":\"The concatenation of the `projectIdUpper` and the `msg.sender`\"}},\"listProjectUrls(bytes32)\":{\"params\":{\"projectId\":\"The project id\"},\"returns\":{\"_0\":\"projectUrls The project URLs\"}},\"removeProjectUrl(bytes32,string)\":{\"details\":\"This function is not optimized. Prefer to use removeProjectUrlHash.\",\"params\":{\"projectId\":\"The project id\",\"projectUrl\":\"The project URL\"}},\"removeProjectUrlHash(bytes32,bytes32,uint256)\":{\"params\":{\"projectId\":\"The project id\",\"projectUrlHash\":\"The project URL hash\",\"urlIdx\":\"The index of the project URL hash to remove\"}},\"removeProjectUrlHashBatch(bytes32,bytes32[],uint256[])\":{\"details\":\"The urlIdxs must be sorted in descending order\",\"params\":{\"projectId\":\"The project id\",\"projectUrlHashes\":\"The project URL hashes\",\"urlIdxs\":\"The indexes of the project URL hashes to remove\"}},\"transferProject(bytes32,address)\":{\"params\":{\"newOwner\":\"The new owner\",\"projectId\":\"The project id\"}},\"validateAttestation(address,(address,bytes4,bytes32,bytes32,bytes,(string,uint64)),bytes32)\":{\"params\":{\"attestation\":\"The attestation\",\"projectId\":\"The project id\",\"wallet\":\"The wallet address\"},\"returns\":{\"_0\":\"magic The attestation magic bytes for the wallet address\"}}},\"title\":\"ImplicitProjectRegistry\",\"version\":1},\"userdoc\":{\"errors\":{\"InvalidProjectOwner()\":[{\"notice\":\"Invalid project owner error\"}],\"InvalidProjectUrlIndex()\":[{\"notice\":\"Invalid project URL index error\"}],\"InvalidRedirectUrl()\":[{\"notice\":\"Invalid redirect url error\"}],\"NotProjectOwner()\":[{\"notice\":\"Not project owner error\"}],\"ProjectAlreadyClaimed()\":[{\"notice\":\"Project already claimed error\"}],\"ProjectUrlAlreadyExists()\":[{\"notice\":\"Project URL already exists error\"}],\"ProjectUrlNotFound()\":[{\"notice\":\"Project URL not found error\"}]},\"events\":{\"ProjectClaimed(bytes32,address)\":{\"notice\":\"Emitted when a project is claimed\"},\"ProjectOwnerTransferred(bytes32,address)\":{\"notice\":\"Emitted when a project owner is transferred\"},\"ProjectUrlAdded(bytes32,bytes32)\":{\"notice\":\"Emitted when a project URL is added\"},\"ProjectUrlRemoved(bytes32,bytes32)\":{\"notice\":\"Emitted when a project URL is removed\"}},\"kind\":\"user\",\"methods\":{\"addProjectUrl(bytes32,string)\":{\"notice\":\"Add a project URL\"},\"addProjectUrlBatch(bytes32,string[])\":{\"notice\":\"Add a list of project URLs\"},\"addProjectUrlHash(bytes32,bytes32)\":{\"notice\":\"Add a project URL hash\"},\"addProjectUrlHashBatch(bytes32,bytes32[])\":{\"notice\":\"Add a list of project URL hashes\"},\"claimProject(bytes12)\":{\"notice\":\"Claim a project\"},\"isProjectUrl(bytes32,bytes32)\":{\"notice\":\"Project URLs\"},\"listProjectUrls(bytes32)\":{\"notice\":\"List project URLs\"},\"projectOwner(bytes32)\":{\"notice\":\"Project owner\"},\"removeProjectUrl(bytes32,string)\":{\"notice\":\"Remove a project URL\"},\"removeProjectUrlHash(bytes32,bytes32,uint256)\":{\"notice\":\"Remove a project URL hash\"},\"removeProjectUrlHashBatch(bytes32,bytes32[],uint256[])\":{\"notice\":\"Remove a list of project URL hashes\"},\"transferProject(bytes32,address)\":{\"notice\":\"Transfer a project\"},\"validateAttestation(address,(address,bytes4,bytes32,bytes32,bytes,(string,uint64)),bytes32)\":{\"notice\":\"Check if a project has a code\"}},\"notice\":\"Registry of projects supporting implicit sessions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/registry/ImplicitProjectRegistry.sol\":\"ImplicitProjectRegistry\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/sequence-v3/src/extensions/sessions/implicit/Attestation.sol\":{\"keccak256\":\"0xcaa44022b5eb4bc7ab487b3b1a0125da67e2e891cee983ef6cdb6814f045efc8\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://94829782b6dcb482d7c002511c590d1ad8de3b21e5e72575df18be73565b3638\",\"dweb:/ipfs/QmZ4u9FxALzMzKR7auW8FmFkhGVw8kRDeDRJ1PKwKaWNWF\"]},\"lib/sequence-v3/src/extensions/sessions/implicit/ISignalsImplicitMode.sol\":{\"keccak256\":\"0x6cb48f50c49bcb3c7071306fe9fac6c102bc9eabf73d9909e19ab3b9a835d0a8\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://15297e969f64fc1152654d1cefbe276c15a0ecfc11f86b4c276bb0b454fe700a\",\"dweb:/ipfs/QmeehNFYBPPtJePwUcqiYCgiuFotur4VVVCV1KvegdCCZ4\"]},\"lib/sequence-v3/src/modules/Payload.sol\":{\"keccak256\":\"0x03b3dc2a4a556d3007671e910813dc4703ecb16f5bc2c6645e4c0d8512f2d76a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://9b41263156d5a310a48038e8c3871e9acdb806c018bc952d1a56efed62954e17\",\"dweb:/ipfs/QmaiuTbQgaiCvtN2V6roe4RTi6hHV85mNZpWKqvKA8ofqw\"]},\"lib/sequence-v3/src/utils/LibBytes.sol\":{\"keccak256\":\"0x4fe0b4786b2157e12384b90ae9daa1009b74b2547a8a24b800a8b998278c874b\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://065129e32d1a318e89fb7587e136c33177a7848393f9055c0ac601b84741cd8c\",\"dweb:/ipfs/QmVWucfHSHRJriRFNoJqoeDcVB4fDfqbccM8KPBmwcxVu3\"]},\"src/registry/IImplicitProjectRegistry.sol\":{\"keccak256\":\"0xa14fecf045549da52f725265a9ecf08133fc94c61c626ad87d981e4b91cbf203\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://dd92526b0b0038c628295d0ea279871995b998d4f2d2cab92cdcd3fd8535c543\",\"dweb:/ipfs/QmbNuRU7qFEcHsCmEiR6oFpcLH85vFRLpFNiVbUczYDZkH\"]},\"src/registry/IImplicitProjectValidation.sol\":{\"keccak256\":\"0x1e8c305e011aa13d774e0ff3cfd9286af3d8174c4e33ba5ef8f724ea2dd6e5b2\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://057ad8894656688eefb257c02696f37281d3e7610cd3c3db8f1c3954fba9ea9c\",\"dweb:/ipfs/QmbdeFH1XxLyWqdTEmRkGNiebMVAxuREtuLpZXRErCyYM6\"]},\"src/registry/ImplicitProjectRegistry.sol\":{\"keccak256\":\"0x178b0f0a8022f9d5bdc434b9b54a55387b760d44b2783cef86756eafb7911617\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b9720240bade0c56c477f6df7993f6a8f9c6946e1e62d8d9198c2cf2aa2c2a24\",\"dweb:/ipfs/QmXCZmcb4GiUytzy3uPgXwmPYf8VcVy3YmcmgVMwKnncdt\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"InvalidProjectOwner"},{"inputs":[],"type":"error","name":"InvalidProjectUrlIndex"},{"inputs":[],"type":"error","name":"InvalidRedirectUrl"},{"inputs":[],"type":"error","name":"NotProjectOwner"},{"inputs":[],"type":"error","name":"ProjectAlreadyClaimed"},{"inputs":[],"type":"error","name":"ProjectUrlAlreadyExists"},{"inputs":[],"type":"error","name":"ProjectUrlNotFound"},{"inputs":[{"internalType":"bytes32","name":"projectId","type":"bytes32","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":true}],"type":"event","name":"ProjectClaimed","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"projectId","type":"bytes32","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"ProjectOwnerTransferred","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"projectId","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"urlHash","type":"bytes32","indexed":true}],"type":"event","name":"ProjectUrlAdded","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"projectId","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"urlHash","type":"bytes32","indexed":true}],"type":"event","name":"ProjectUrlRemoved","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"projectId","type":"bytes32"},{"internalType":"string","name":"projectUrl","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"addProjectUrl"},{"inputs":[{"internalType":"bytes32","name":"projectId","type":"bytes32"},{"internalType":"string[]","name":"projectUrls","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"addProjectUrlBatch"},{"inputs":[{"internalType":"bytes32","name":"projectId","type":"bytes32"},{"internalType":"bytes32","name":"projectUrlHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"addProjectUrlHash"},{"inputs":[{"internalType":"bytes32","name":"projectId","type":"bytes32"},{"internalType":"bytes32[]","name":"projectUrlHashes","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"addProjectUrlHashBatch"},{"inputs":[{"internalType":"bytes12","name":"projectIdUpper","type":"bytes12"}],"stateMutability":"nonpayable","type":"function","name":"claimProject","outputs":[{"internalType":"bytes32","name":"projectId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function","name":"isProjectUrl","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"projectId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"listProjectUrls","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}]},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function","name":"projectOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"projectUrlsList","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"projectId","type":"bytes32"},{"internalType":"string","name":"projectUrl","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"removeProjectUrl"},{"inputs":[{"internalType":"bytes32","name":"projectId","type":"bytes32"},{"internalType":"bytes32","name":"projectUrlHash","type":"bytes32"},{"internalType":"uint256","name":"urlIdx","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"removeProjectUrlHash"},{"inputs":[{"internalType":"bytes32","name":"projectId","type":"bytes32"},{"internalType":"bytes32[]","name":"projectUrlHashes","type":"bytes32[]"},{"internalType":"uint256[]","name":"urlIdxs","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"removeProjectUrlHashBatch"},{"inputs":[{"internalType":"bytes32","name":"projectId","type":"bytes32"},{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferProject"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"struct Attestation","name":"attestation","type":"tuple","components":[{"internalType":"address","name":"approvedSigner","type":"address"},{"internalType":"bytes4","name":"identityType","type":"bytes4"},{"internalType":"bytes32","name":"issuerHash","type":"bytes32"},{"internalType":"bytes32","name":"audienceHash","type":"bytes32"},{"internalType":"bytes","name":"applicationData","type":"bytes"},{"internalType":"struct AuthData","name":"authData","type":"tuple","components":[{"internalType":"string","name":"redirectUrl","type":"string"},{"internalType":"uint64","name":"issuedAt","type":"uint64"}]}]},{"internalType":"bytes32","name":"projectId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"validateAttestation","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]}],"devdoc":{"kind":"dev","methods":{"addProjectUrl(bytes32,string)":{"params":{"projectId":"The project id","projectUrl":"The project URL"}},"addProjectUrlBatch(bytes32,string[])":{"params":{"projectId":"The project id","projectUrls":"The project URLs"}},"addProjectUrlHash(bytes32,bytes32)":{"params":{"projectId":"The project id","projectUrlHash":"The project URL hash"}},"addProjectUrlHashBatch(bytes32,bytes32[])":{"params":{"projectId":"The project id","projectUrlHashes":"The project URL hashes"}},"claimProject(bytes12)":{"params":{"projectIdUpper":"The project id upper"},"returns":{"projectId":"The concatenation of the `projectIdUpper` and the `msg.sender`"}},"listProjectUrls(bytes32)":{"params":{"projectId":"The project id"},"returns":{"_0":"projectUrls The project URLs"}},"removeProjectUrl(bytes32,string)":{"details":"This function is not optimized. Prefer to use removeProjectUrlHash.","params":{"projectId":"The project id","projectUrl":"The project URL"}},"removeProjectUrlHash(bytes32,bytes32,uint256)":{"params":{"projectId":"The project id","projectUrlHash":"The project URL hash","urlIdx":"The index of the project URL hash to remove"}},"removeProjectUrlHashBatch(bytes32,bytes32[],uint256[])":{"details":"The urlIdxs must be sorted in descending order","params":{"projectId":"The project id","projectUrlHashes":"The project URL hashes","urlIdxs":"The indexes of the project URL hashes to remove"}},"transferProject(bytes32,address)":{"params":{"newOwner":"The new owner","projectId":"The project id"}},"validateAttestation(address,(address,bytes4,bytes32,bytes32,bytes,(string,uint64)),bytes32)":{"params":{"attestation":"The attestation","projectId":"The project id","wallet":"The wallet address"},"returns":{"_0":"magic The attestation magic bytes for the wallet address"}}},"version":1},"userdoc":{"kind":"user","methods":{"addProjectUrl(bytes32,string)":{"notice":"Add a project URL"},"addProjectUrlBatch(bytes32,string[])":{"notice":"Add a list of project URLs"},"addProjectUrlHash(bytes32,bytes32)":{"notice":"Add a project URL hash"},"addProjectUrlHashBatch(bytes32,bytes32[])":{"notice":"Add a list of project URL hashes"},"claimProject(bytes12)":{"notice":"Claim a project"},"isProjectUrl(bytes32,bytes32)":{"notice":"Project URLs"},"listProjectUrls(bytes32)":{"notice":"List project URLs"},"projectOwner(bytes32)":{"notice":"Project owner"},"removeProjectUrl(bytes32,string)":{"notice":"Remove a project URL"},"removeProjectUrlHash(bytes32,bytes32,uint256)":{"notice":"Remove a project URL hash"},"removeProjectUrlHashBatch(bytes32,bytes32[],uint256[])":{"notice":"Remove a list of project URL hashes"},"transferProject(bytes32,address)":{"notice":"Transfer a project"},"validateAttestation(address,(address,bytes4,bytes32,bytes32,bytes,(string,uint64)),bytes32)":{"notice":"Check if a project has a code"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/registry/ImplicitProjectRegistry.sol":"ImplicitProjectRegistry"},"evmVersion":"prague","libraries":{}},"sources":{"lib/sequence-v3/src/extensions/sessions/implicit/Attestation.sol":{"keccak256":"0xcaa44022b5eb4bc7ab487b3b1a0125da67e2e891cee983ef6cdb6814f045efc8","urls":["bzz-raw://94829782b6dcb482d7c002511c590d1ad8de3b21e5e72575df18be73565b3638","dweb:/ipfs/QmZ4u9FxALzMzKR7auW8FmFkhGVw8kRDeDRJ1PKwKaWNWF"],"license":"Apache-2.0"},"lib/sequence-v3/src/extensions/sessions/implicit/ISignalsImplicitMode.sol":{"keccak256":"0x6cb48f50c49bcb3c7071306fe9fac6c102bc9eabf73d9909e19ab3b9a835d0a8","urls":["bzz-raw://15297e969f64fc1152654d1cefbe276c15a0ecfc11f86b4c276bb0b454fe700a","dweb:/ipfs/QmeehNFYBPPtJePwUcqiYCgiuFotur4VVVCV1KvegdCCZ4"],"license":"Apache-2.0"},"lib/sequence-v3/src/modules/Payload.sol":{"keccak256":"0x03b3dc2a4a556d3007671e910813dc4703ecb16f5bc2c6645e4c0d8512f2d76a","urls":["bzz-raw://9b41263156d5a310a48038e8c3871e9acdb806c018bc952d1a56efed62954e17","dweb:/ipfs/QmaiuTbQgaiCvtN2V6roe4RTi6hHV85mNZpWKqvKA8ofqw"],"license":"Apache-2.0"},"lib/sequence-v3/src/utils/LibBytes.sol":{"keccak256":"0x4fe0b4786b2157e12384b90ae9daa1009b74b2547a8a24b800a8b998278c874b","urls":["bzz-raw://065129e32d1a318e89fb7587e136c33177a7848393f9055c0ac601b84741cd8c","dweb:/ipfs/QmVWucfHSHRJriRFNoJqoeDcVB4fDfqbccM8KPBmwcxVu3"],"license":"Apache-2.0"},"src/registry/IImplicitProjectRegistry.sol":{"keccak256":"0xa14fecf045549da52f725265a9ecf08133fc94c61c626ad87d981e4b91cbf203","urls":["bzz-raw://dd92526b0b0038c628295d0ea279871995b998d4f2d2cab92cdcd3fd8535c543","dweb:/ipfs/QmbNuRU7qFEcHsCmEiR6oFpcLH85vFRLpFNiVbUczYDZkH"],"license":"Apache-2.0"},"src/registry/IImplicitProjectValidation.sol":{"keccak256":"0x1e8c305e011aa13d774e0ff3cfd9286af3d8174c4e33ba5ef8f724ea2dd6e5b2","urls":["bzz-raw://057ad8894656688eefb257c02696f37281d3e7610cd3c3db8f1c3954fba9ea9c","dweb:/ipfs/QmbdeFH1XxLyWqdTEmRkGNiebMVAxuREtuLpZXRErCyYM6"],"license":"Apache-2.0"},"src/registry/ImplicitProjectRegistry.sol":{"keccak256":"0x178b0f0a8022f9d5bdc434b9b54a55387b760d44b2783cef86756eafb7911617","urls":["bzz-raw://b9720240bade0c56c477f6df7993f6a8f9c6946e1e62d8d9198c2cf2aa2c2a24","dweb:/ipfs/QmXCZmcb4GiUytzy3uPgXwmPYf8VcVy3YmcmgVMwKnncdt"],"license":"Apache-2.0"}},"version":1},"id":28} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/ImplicitProjectRegistry.t.sol/ImplicitProjectRegistryTest.json b/lib/signals-implicit-mode/out/ImplicitProjectRegistry.t.sol/ImplicitProjectRegistryTest.json new file mode 100644 index 0000000000..86ad31c557 --- /dev/null +++ b/lib/signals-implicit-mode/out/ImplicitProjectRegistry.t.sol/ImplicitProjectRegistryTest.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ImplicitProjectRegistry"}],"stateMutability":"view"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"test_addProjectUrl","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"projectIdUpper","type":"bytes12","internalType":"bytes12"},{"name":"url","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_addProjectUrlBatch","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"projectIdUpper","type":"bytes12","internalType":"bytes12"},{"name":"urls","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_addProjectUrlHash","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"projectIdUpper","type":"bytes12","internalType":"bytes12"},{"name":"urlHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_addProjectUrlHashBatch","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"projectIdUpper","type":"bytes12","internalType":"bytes12"},{"name":"urlHashes","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_claimProject","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"projectIdUpper","type":"bytes12","internalType":"bytes12"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_fail_addProjectUrlAlreadyExists","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"projectIdUpper","type":"bytes12","internalType":"bytes12"},{"name":"url","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_fail_addProjectUrlAlreadyExistsHash","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"projectIdUpper","type":"bytes12","internalType":"bytes12"},{"name":"url","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_fail_addProjectUrlByNonOwner","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"nonOwner","type":"address","internalType":"address"},{"name":"projectIdUpper","type":"bytes12","internalType":"bytes12"},{"name":"url","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_fail_addProjectUrlHashAlreadyExists","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"projectIdUpper","type":"bytes12","internalType":"bytes12"},{"name":"urlHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_fail_addProjectUrlHashAlreadyExistsFull","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"projectIdUpper","type":"bytes12","internalType":"bytes12"},{"name":"url","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_fail_addProjectUrlHashBatchByNonOwner","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"nonOwner","type":"address","internalType":"address"},{"name":"projectIdUpper","type":"bytes12","internalType":"bytes12"},{"name":"urlHashes","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_fail_addProjectUrlHashByNonOwner","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"nonOwner","type":"address","internalType":"address"},{"name":"projectIdUpper","type":"bytes12","internalType":"bytes12"},{"name":"urlHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_fail_claimInvalidOwner","inputs":[{"name":"projectIdUpper","type":"bytes12","internalType":"bytes12"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_fail_claimProjectTwice","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"otherUser","type":"address","internalType":"address"},{"name":"projectIdUpper","type":"bytes12","internalType":"bytes12"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_fail_removeNonexistentUrl","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"projectIdUpper","type":"bytes12","internalType":"bytes12"},{"name":"url","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_fail_removeNonexistentUrlHash","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"projectIdUpper","type":"bytes12","internalType":"bytes12"},{"name":"urlHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_fail_removeProjectUrlByNonOwner","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"nonOwner","type":"address","internalType":"address"},{"name":"projectIdUpper","type":"bytes12","internalType":"bytes12"},{"name":"url","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_fail_removeProjectUrlHashBatchByNonOwner","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"nonOwner","type":"address","internalType":"address"},{"name":"projectIdUpper","type":"bytes12","internalType":"bytes12"},{"name":"urlHashes","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_fail_removeProjectUrlHashByNonOwner","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"nonOwner","type":"address","internalType":"address"},{"name":"projectIdUpper","type":"bytes12","internalType":"bytes12"},{"name":"urlHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_fail_removeUrlHashWrongIndex","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"projectIdUpper","type":"bytes12","internalType":"bytes12"},{"name":"urlHashes","type":"bytes32[]","internalType":"bytes32[]"},{"name":"urlHashIdx","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_fail_transferByNonAdmin","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"nonOwner","type":"address","internalType":"address"},{"name":"projectIdUpper","type":"bytes12","internalType":"bytes12"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_fail_transferInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"projectIdUpper","type":"bytes12","internalType":"bytes12"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_fail_validateAttestationWithInvalidUrl","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"wallet","type":"address","internalType":"address"},{"name":"projectIdUpper","type":"bytes12","internalType":"bytes12"},{"name":"validUrl","type":"string","internalType":"string"},{"name":"invalidUrl","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_removeProjectUrl","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"projectIdUpper","type":"bytes12","internalType":"bytes12"},{"name":"urls","type":"string[]","internalType":"string[]"},{"name":"urlIdx","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_removeProjectUrlHash","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"projectIdUpper","type":"bytes12","internalType":"bytes12"},{"name":"urlHashes","type":"bytes32[]","internalType":"bytes32[]"},{"name":"urlHashIdx","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_removeProjectUrlHashBatch","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"projectIdUpper","type":"bytes12","internalType":"bytes12"},{"name":"urlHashes","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_removeProjectUrlHashBatchWithInvalidUrlIdxs","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"projectIdUpper","type":"bytes12","internalType":"bytes12"},{"name":"urlHashes","type":"bytes32[]","internalType":"bytes32[]"},{"name":"urlIdxs","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_removeProjectUrlHashBatchWithInvalidUrlIdxsOrder","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"projectIdUpper","type":"bytes12","internalType":"bytes12"},{"name":"urlHashes","type":"bytes32[]","internalType":"bytes32[]"},{"name":"urlIdxs","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_transferProject","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"newOwner","type":"address","internalType":"address"},{"name":"projectIdUpper","type":"bytes12","internalType":"bytes12"},{"name":"urlHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_validateAttestationMultiple","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"wallet","type":"address","internalType":"address"},{"name":"projectIdUpper","type":"bytes12","internalType":"bytes12"},{"name":"urls","type":"string[]","internalType":"string[]"},{"name":"urlIdx","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_validateAttestationSingle","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"wallet","type":"address","internalType":"address"},{"name":"projectIdUpper","type":"bytes12","internalType":"bytes12"},{"name":"url","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"ProjectClaimed","inputs":[{"name":"projectId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"owner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProjectOwnerTransferred","inputs":[{"name":"projectId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProjectUrlAdded","inputs":[{"name":"projectId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"urlHash","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"ProjectUrlRemoved","inputs":[{"name":"projectId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"urlHash","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x6080604052600c8054600160ff199182168117909255601f80549091169091179055348015602b575f5ffd5b5061ceff806100395f395ff3fe608060405234801561000f575f5ffd5b50600436106102ee575f3560e01c80637b10399911610192578063ba414fa6116100e8578063e20c9f7111610093578063f72c62f11161006e578063f72c62f11461061f578063fa7626d414610632578063ff679dab1461063f575f5ffd5b8063e20c9f71146105f1578063e575719f146105f9578063eed357921461060c575f5ffd5b8063ce7bcae3116100c3578063ce7bcae3146105b8578063d3609617146105cb578063d887d395146105de575f5ffd5b8063ba414fa61461057a578063c5a3633914610592578063ca8c203d146105a5575f5ffd5b8063916a17c611610148578063ad2ac46911610123578063ad2ac46914610557578063b0464fdc1461056a578063b5508aa914610572575f5ffd5b8063916a17c61461051c5780639cc595a414610531578063ad0d116614610544575f5ffd5b8063820c2c2c11610178578063820c2c2c146104e157806385226c81146104f4578063891e335414610509575f5ffd5b80637b103999146104845780637d1d95b5146104ce575f5ffd5b80633e5e3c231161024757806356f52e42116101fd57806366d9a9a0116101d857806366d9a9a014610449578063729767491461045e578063785cf65714610471575f5ffd5b806356f52e421461041057806358bab9621461042357806361fd155b14610436575f5ffd5b80634b05e9901161022d5780634b05e990146103d75780634cf9fbff146103ea578063538d6c48146103fd575f5ffd5b80633e5e3c23146103c75780633f7286f4146103cf575f5ffd5b80632955e468116102a75780632c6eec1e116102825780632c6eec1e1461038e5780632d03611e146103a15780632e84025c146103b4575f5ffd5b80632955e468146103535780632a475b0d146103665780632ade388014610379575f5ffd5b806312fe420e116102d757806312fe420e1461030f5780631ed7831c1461032257806327d334b214610340575f5ffd5b80630a9254e4146102f25780630b3307e8146102fc575b5f5ffd5b6102fa610652565b005b6102fa61030a36600461a8f4565b6106ba565b6102fa61031d36600461a958565b610c84565b61032a611143565b604051610337919061a99c565b60405180910390f35b6102fa61034e36600461a9f4565b6111b0565b6102fa61036136600461a958565b61168c565b6102fa61037436600461abdb565b611c90565b6103816122b1565b604051610337919061acf2565b6102fa61039c36600461ada0565b6123fa565b6102fa6103af36600461adec565b6127fe565b6102fa6103c236600461ae5b565b612c8b565b61032a613083565b61032a6130ee565b6102fa6103e536600461aebe565b613159565b6102fa6103f836600461af1a565b613539565b6102fa61040b36600461ada0565b613a82565b6102fa61041e36600461aebe565b6141cc565b6102fa61043136600461af6c565b6146cd565b6102fa61044436600461a9f4565b614a3e565b610451614f06565b604051610337919061b004565b6102fa61046c36600461b0a0565b61507f565b6102fa61047f36600461aebe565b615416565b601f546104a990610100900473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610337565b6102fa6104dc36600461adec565b61586c565b6102fa6104ef36600461b0d3565b615edc565b6104fc6163a8565b604051610337919061b149565b6102fa61051736600461b15b565b616473565b610524616a07565b604051610337919061b1f4565b6102fa61053f36600461a8f4565b616b0a565b6102fa61055236600461ada0565b617151565b6102fa61056536600461aebe565b61754f565b610524617796565b6104fc617899565b610582617964565b6040519015158152602001610337565b6102fa6105a036600461b296565b617a30565b6102fa6105b336600461b2e8565b617f7e565b6102fa6105c636600461ae5b565b61814d565b6102fa6105d936600461af6c565b61859d565b6102fa6105ec36600461b0a0565b6188f9565b61032a618bfd565b6102fa61060736600461aebe565b618c68565b6102fa61061a36600461b296565b618fd1565b6102fa61062d36600461ae5b565b619695565b601f546105829060ff1681565b6102fa61064d36600461af6c565b619a8d565b60405161065e9061a789565b604051809103905ff080158015610677573d5f5f3e3d5ffd5b50601f60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015610733575f5ffd5b505afa158015610745573d5f5f3e3d5ffd5b505083516040517f4c63e5620000000000000000000000000000000000000000000000000000000081529015156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b1580156107ae575f5ffd5b505afa1580156107c0573d5f5f3e3d5ffd5b50505050600a825111156107d357600a82525b6107dc82619eff565b91506107f6815f600185516107f1919061b32e565b61a004565b90505f610803848661a058565b6040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b15801561087e575f5ffd5b505af1158015610890573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008816600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af1158015610927573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061094b919061b341565b505f5b8351811015610a0f57601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663520994f1838684815181106109a8576109a861b358565b60200260200101516040518363ffffffff1660e01b81526004016109d6929190918252602082015260400190565b5f604051808303815f87803b1580156109ed575f5ffd5b505af11580156109ff573d5f5f3e3d5ffd5b50506001909201915061094e9050565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610a69575f5ffd5b505af1158015610a7b573d5f5f3e3d5ffd5b50506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f526c7687000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e091506024015f604051808303815f87803b158015610b01575f5ffd5b505af1158015610b13573d5f5f3e3d5ffd5b50506040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff88166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa791506024015f604051808303815f87803b158015610b8f575f5ffd5b505af1158015610ba1573d5f5f3e3d5ffd5b50505050601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631b31f01b82858581518110610bf657610bf661b358565b6020026020010151856001610c0b919061b385565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1681526004810193909352602483019190915260448201526064015b5f604051808303815f87803b158015610c67575f5ffd5b505af1158015610c79573d5f5f3e3d5ffd5b505050505050505050565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811690851614156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015610d01575f5ffd5b505afa158015610d13573d5f5f3e3d5ffd5b50506040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff861615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015610d90575f5ffd5b505afa158015610da2573d5f5f3e3d5ffd5b50506040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015610e1f575f5ffd5b505afa158015610e31573d5f5f3e3d5ffd5b505050505f610e40828561a058565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b158015610ebb575f5ffd5b505af1158015610ecd573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008616600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af1158015610f64573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f88919061b341565b506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f7c2411e9000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c31eb0e0906024015f604051808303815f87803b15801561100b575f5ffd5b505af115801561101d573d5f5f3e3d5ffd5b50506040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa791506024015f604051808303815f87803b158015611099575f5ffd5b505af11580156110ab573d5f5f3e3d5ffd5b5050601f546040517f9630aff80000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff87811660248301526101009092049091169250639630aff891506044015b5f604051808303815f87803b158015611127575f5ffd5b505af1158015611139573d5f5f3e3d5ffd5b5050505050505050565b606060168054806020026020016040519081016040528092919081815260200182805480156111a657602002820191905f5260205f20905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161117b575b5050505050905090565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015611229575f5ffd5b505afa15801561123b573d5f5f3e3d5ffd5b505082516040517f4c63e562000000000000000000000000000000000000000000000000000000008152600182116004820152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9150634c63e562906024015f6040518083038186803b1580156112a7575f5ffd5b505afa1580156112b9573d5f5f3e3d5ffd5b505050818452505f805b600184516112d1919061b32e565b81101561132d57836112e482600161b385565b815181106112f4576112f461b358565b602002602001015184828151811061130e5761130e61b358565b60200260200101511015611325576001915061132d565b6001016112c3565b506040517f4c63e5620000000000000000000000000000000000000000000000000000000081528115156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015611391575f5ffd5b505afa1580156113a3573d5f5f3e3d5ffd5b50506040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d5691506024015f604051808303815f87803b15801561141f575f5ffd5b505af1158015611431573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff0000000000000000000000000000000000000000891660048201525f935061010090910473ffffffffffffffffffffffffffffffffffffffff16915063d4df1018906024016020604051808303815f875af11580156114ca573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114ee919061b341565b6040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f526c7687000000000000000000000000000000000000000000000000000000006004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c31eb0e0906024015f604051808303815f87803b158015611573575f5ffd5b505af1158015611585573d5f5f3e3d5ffd5b5050601f546040517fd4c9c5c400000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4c9c5c491506115e79084908990899060040161b3c8565b5f604051808303815f87803b1580156115fe575f5ffd5b505af1158015611610573d5f5f3e3d5ffd5b50505050737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b15801561166d575f5ffd5b505af115801561167f573d5f5f3e3d5ffd5b5050505050505050505050565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811690851614156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015611709575f5ffd5b505afa15801561171b573d5f5f3e3d5ffd5b50506040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff861615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015611798575f5ffd5b505afa1580156117aa573d5f5f3e3d5ffd5b50506040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015611827575f5ffd5b505afa158015611839573d5f5f3e3d5ffd5b505050505f611848828561a058565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b1580156118c3575f5ffd5b505af11580156118d5573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008616600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af115801561196c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611990919061b341565b506040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b158015611a09575f5ffd5b505af1158015611a1b573d5f5f3e3d5ffd5b5050601f546040517f9630aff80000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff87811660248301526101009092049091169250639630aff891506044015f604051808303815f87803b158015611a96575f5ffd5b505af1158015611aa8573d5f5f3e3d5ffd5b50506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527ffeabeb4b000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e091506024015f604051808303815f87803b158015611b2e575f5ffd5b505af1158015611b40573d5f5f3e3d5ffd5b50506040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa791506024015f604051808303815f87803b158015611bbc575f5ffd5b505af1158015611bce573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008616600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af1158015611c65573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c89919061b341565b5050505050565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015611d09575f5ffd5b505afa158015611d1b573d5f5f3e3d5ffd5b505083516040517f4c63e5620000000000000000000000000000000000000000000000000000000081529015156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015611d84575f5ffd5b505afa158015611d96573d5f5f3e3d5ffd5b50505050600a82511115611da957600a82525b611db28261a0cb565b9150611dc7815f600185516107f1919061b32e565b90505f611dd4848661a058565b6040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b158015611e4f575f5ffd5b505af1158015611e61573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008816600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af1158015611ef8573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f1c919061b341565b505f5b8351811015611fd757601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632f28c69d83868481518110611f7957611f7961b358565b60200260200101516040518363ffffffff1660e01b8152600401611f9e92919061b422565b5f604051808303815f87803b158015611fb5575f5ffd5b505af1158015611fc7573d5f5f3e3d5ffd5b505060019092019150611f1f9050565b505f611ffb848481518110611fee57611fee61b358565b602002602001015161a1cc565b9050737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff1663440ed10d6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015612056575f5ffd5b505af1158015612068573d5f5f3e3d5ffd5b50506040518392508491507f13d94de535e503661de3c84adf637590f269f37c8d4ed5daabae98376a442a6a905f90a3601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dac6c587838686815181106120e9576120e961b358565b60200260200101516040518363ffffffff1660e01b815260040161210e92919061b422565b5f604051808303815f87803b158015612125575f5ffd5b505af1158015612137573d5f5f3e3d5ffd5b50505050737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015612194575f5ffd5b505af11580156121a6573d5f5f3e3d5ffd5b5050601f546040517ff4364de6000000000000000000000000000000000000000000000000000000008152600481018690525f935061010090910473ffffffffffffffffffffffffffffffffffffffff16915063f4364de6906024015f60405180830381865afa15801561221c573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052612261919081019061b442565b905061227b815160018751612276919061b32e565b61a1fb565b5f5b8151811015611139576122a982828151811061229b5761229b61b358565b60200260200101518461a282565b60010161227d565b6060601e805480602002602001604051908101604052809291908181526020015f905b828210156123f1575f848152602080822060408051808201825260028702909201805473ffffffffffffffffffffffffffffffffffffffff168352600181018054835181870281018701909452808452939591948681019491929084015b828210156123da578382905f5260205f2001805461234f9061b4d3565b80601f016020809104026020016040519081016040528092919081815260200182805461237b9061b4d3565b80156123c65780601f1061239d576101008083540402835291602001916123c6565b820191905f5260205f20905b8154815290600101906020018083116123a957829003601f168201915b505050505081526020019060010190612332565b5050505081525050815260200190600101906122d4565b50505050905090565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015612473575f5ffd5b505afa158015612485573d5f5f3e3d5ffd5b50506040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811690881614156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015612506575f5ffd5b505afa158015612518573d5f5f3e3d5ffd5b505050505f612527838661a058565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b1580156125a2575f5ffd5b505af11580156125b4573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008716600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af115801561264b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061266f919061b341565b506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f7c2411e9000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c31eb0e0906024015f604051808303815f87803b1580156126f2575f5ffd5b505af1158015612704573d5f5f3e3d5ffd5b50506040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa791506024015f604051808303815f87803b158015612780575f5ffd5b505af1158015612792573d5f5f3e3d5ffd5b5050601f546040517f1b31f01b00000000000000000000000000000000000000000000000000000000815260048101859052602481018690525f604482015261010090910473ffffffffffffffffffffffffffffffffffffffff169250631b31f01b9150606401610c50565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015612877575f5ffd5b505afa158015612889573d5f5f3e3d5ffd5b50506040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811690881614156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b15801561290a575f5ffd5b505afa15801561291c573d5f5f3e3d5ffd5b505082516040517f4c63e5620000000000000000000000000000000000000000000000000000000081529015156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015612985575f5ffd5b505afa158015612997573d5f5f3e3d5ffd5b50505050600a815111156129aa57600a81525b6129b381619eff565b90505f6129c0838661a058565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b158015612a3b575f5ffd5b505af1158015612a4d573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008716600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af1158015612ae4573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b08919061b341565b506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f7c2411e9000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c31eb0e0906024015f604051808303815f87803b158015612b8b575f5ffd5b505af1158015612b9d573d5f5f3e3d5ffd5b50506040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa791506024015f604051808303815f87803b158015612c19575f5ffd5b505af1158015612c2b573d5f5f3e3d5ffd5b5050601f546040517f065d6c6900000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff16925063065d6c699150610c50908490869060040161b524565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015612d04575f5ffd5b505afa158015612d16573d5f5f3e3d5ffd5b50506040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811690881614156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015612d97575f5ffd5b505afa158015612da9573d5f5f3e3d5ffd5b505050505f612db8838661a058565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b158015612e33575f5ffd5b505af1158015612e45573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008716600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af1158015612edc573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f00919061b341565b506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f7c2411e9000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c31eb0e0906024015f604051808303815f87803b158015612f83575f5ffd5b505af1158015612f95573d5f5f3e3d5ffd5b50506040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa791506024015f604051808303815f87803b158015613011575f5ffd5b505af1158015613023573d5f5f3e3d5ffd5b5050601f546040517fdac6c58700000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff16925063dac6c5879150610c50908490869060040161b422565b606060188054806020026020016040519081016040528092919081815260200182805480156111a657602002820191905f5260205f2090815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161117b575050505050905090565b606060178054806020026020016040519081016040528092919081815260200182805480156111a657602002820191905f5260205f2090815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161117b575050505050905090565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b1580156131d2575f5ffd5b505afa1580156131e4573d5f5f3e3d5ffd5b505082516040517f4c63e5620000000000000000000000000000000000000000000000000000000081529015156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b15801561324d575f5ffd5b505afa15801561325f573d5f5f3e3d5ffd5b505050505f61326e838561a058565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b1580156132e9575f5ffd5b505af11580156132fb573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008716600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af1158015613392573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133b6919061b341565b506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4745a4ee000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c31eb0e0906024015f604051808303815f87803b158015613439575f5ffd5b505af115801561344b573d5f5f3e3d5ffd5b50506040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa791506024015f604051808303815f87803b1580156134c7575f5ffd5b505af11580156134d9573d5f5f3e3d5ffd5b5050601f546040517fdac6c58700000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff16925063dac6c5879150611110908490869060040161b422565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b1580156135b2575f5ffd5b505afa1580156135c4573d5f5f3e3d5ffd5b505082516040517f4c63e5620000000000000000000000000000000000000000000000000000000081529015156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b15801561362d575f5ffd5b505afa15801561363f573d5f5f3e3d5ffd5b50505050600a8151111561365257600a81525b61365b8161a0cb565b90505f613668838561a058565b6040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b1580156136e3575f5ffd5b505af11580156136f5573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008716600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af115801561378c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906137b0919061b341565b505f5b825181101561387257737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff1663440ed10d6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015613815575f5ffd5b505af1158015613827573d5f5f3e3d5ffd5b50505050613840838281518110611fee57611fee61b358565b60405183907fceac3080d7874c4bba80ceae14b6aa96e0df9d4f673d9e5a352d66444f502067905f90a36001016137b3565b50601f546040517f56cd2b9200000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff16906356cd2b92906138cf908490869060040161b53c565b5f604051808303815f87803b1580156138e6575f5ffd5b505af11580156138f8573d5f5f3e3d5ffd5b50505050737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015613955575f5ffd5b505af1158015613967573d5f5f3e3d5ffd5b5050601f546040517ff4364de6000000000000000000000000000000000000000000000000000000008152600481018590525f935061010090910473ffffffffffffffffffffffffffffffffffffffff16915063f4364de6906024015f60405180830381865afa1580156139dd573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052613a22919081019061b442565b9050613a308151845161a1fb565b5f5b8151811015613a7a57613a72828281518110613a5057613a5061b358565b6020026020010151613a6d868481518110611fee57611fee61b358565b61a2e1565b600101613a32565b505050505050565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015613afb575f5ffd5b505afa158015613b0d573d5f5f3e3d5ffd5b50506040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff861615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015613b8a575f5ffd5b505afa158015613b9c573d5f5f3e3d5ffd5b50506040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811690881614156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015613c1d575f5ffd5b505afa158015613c2f573d5f5f3e3d5ffd5b505050505f613c3e838661a058565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b158015613cb9575f5ffd5b505af1158015613ccb573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008716600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af1158015613d62573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613d86919061b341565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff1663440ed10d6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015613de0575f5ffd5b505af1158015613df2573d5f5f3e3d5ffd5b505060405173ffffffffffffffffffffffffffffffffffffffff871692508391507f7869f0fa3d7efaa83c69bf6de987567787178b8d7e41fea0cadfea68a2e27de5905f90a36040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b158015613eb0575f5ffd5b505af1158015613ec2573d5f5f3e3d5ffd5b5050601f546040517f9630aff80000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff88811660248301526101009092049091169250639630aff891506044015f604051808303815f87803b158015613f3d575f5ffd5b505af1158015613f4f573d5f5f3e3d5ffd5b5050601f546040517febc27b8200000000000000000000000000000000000000000000000000000000815260048101859052613ff3935061010090910473ffffffffffffffffffffffffffffffffffffffff16915063ebc27b82906024015b602060405180830381865afa158015613fc9573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613fed919061b554565b8561a340565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b15801561406b575f5ffd5b505af115801561407d573d5f5f3e3d5ffd5b5050601f546040517f520994f1000000000000000000000000000000000000000000000000000000008152600481018590526024810186905261010090910473ffffffffffffffffffffffffffffffffffffffff16925063520994f191506044015f604051808303815f87803b1580156140f5575f5ffd5b505af1158015614107573d5f5f3e3d5ffd5b5050601f546040517ff4364de600000000000000000000000000000000000000000000000000000000815260048101859052611c89935061010090910473ffffffffffffffffffffffffffffffffffffffff16915063f4364de6906024015f60405180830381865afa15801561417f573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526141c4919081019061b442565b51600161a1fb565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015614245575f5ffd5b505afa158015614257573d5f5f3e3d5ffd5b505082516040517f4c63e5620000000000000000000000000000000000000000000000000000000081529015156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b1580156142c0575f5ffd5b505afa1580156142d2573d5f5f3e3d5ffd5b505050505f6142e1838561a058565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b15801561435c575f5ffd5b505af115801561436e573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008716600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af1158015614405573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614429919061b341565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff1663440ed10d6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015614483575f5ffd5b505af1158015614495573d5f5f3e3d5ffd5b505050506144a28261a1cc565b60405182907fceac3080d7874c4bba80ceae14b6aa96e0df9d4f673d9e5a352d66444f502067905f90a36040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b158015614544575f5ffd5b505af1158015614556573d5f5f3e3d5ffd5b5050601f546040517f2f28c69d00000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff169250632f28c69d91506145b6908490869060040161b422565b5f604051808303815f87803b1580156145cd575f5ffd5b505af11580156145df573d5f5f3e3d5ffd5b5050601f546040517ff4364de6000000000000000000000000000000000000000000000000000000008152600481018590525f935061010090910473ffffffffffffffffffffffffffffffffffffffff16915063f4364de6906024015f60405180830381865afa158015614655573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261469a919081019061b442565b90506146a581619eff565b9050611c89815f815181106146bc576146bc61b358565b6020026020010151613a6d8561a1cc565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015614746575f5ffd5b505afa158015614758573d5f5f3e3d5ffd5b505050505f614767838561a058565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b1580156147e2575f5ffd5b505af11580156147f4573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008716600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af115801561488b573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906148af919061b341565b506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f526c7687000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c31eb0e0906024015f604051808303815f87803b158015614932575f5ffd5b505af1158015614944573d5f5f3e3d5ffd5b50506040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa791506024015f604051808303815f87803b1580156149c0575f5ffd5b505af11580156149d2573d5f5f3e3d5ffd5b5050601f546040517f1b31f01b00000000000000000000000000000000000000000000000000000000815260048101859052602481018690525f604482015261010090910473ffffffffffffffffffffffffffffffffffffffff169250631b31f01b9150606401611110565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015614ab7575f5ffd5b505afa158015614ac9573d5f5f3e3d5ffd5b505083516040517f4c63e5620000000000000000000000000000000000000000000000000000000081529015156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015614b32575f5ffd5b505afa158015614b44573d5f5f3e3d5ffd5b505082516040517f4c63e5620000000000000000000000000000000000000000000000000000000081529015156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015614bad575f5ffd5b505afa158015614bbf573d5f5f3e3d5ffd5b5050835183516040517f4c63e5620000000000000000000000000000000000000000000000000000000081529114156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015614c2a575f5ffd5b505afa158015614c3c573d5f5f3e3d5ffd5b50506040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d5691506024015f604051808303815f87803b158015614cb8575f5ffd5b505af1158015614cca573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff0000000000000000000000000000000000000000871660048201525f935061010090910473ffffffffffffffffffffffffffffffffffffffff16915063d4df1018906024016020604051808303815f875af1158015614d63573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614d87919061b341565b6040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f526c7687000000000000000000000000000000000000000000000000000000006004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c31eb0e0906024015f604051808303815f87803b158015614e0c575f5ffd5b505af1158015614e1e573d5f5f3e3d5ffd5b5050601f546040517fd4c9c5c400000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4c9c5c49150614e809084908790879060040161b3c8565b5f604051808303815f87803b158015614e97575f5ffd5b505af1158015614ea9573d5f5f3e3d5ffd5b50505050737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610c67575f5ffd5b6060601b805480602002602001604051908101604052809291908181526020015f905b828210156123f1578382905f5260205f2090600202016040518060400160405290815f82018054614f599061b4d3565b80601f0160208091040260200160405190810160405280929190818152602001828054614f859061b4d3565b8015614fd05780601f10614fa757610100808354040283529160200191614fd0565b820191905f5260205f20905b815481529060010190602001808311614fb357829003601f168201915b505050505081526020016001820180548060200260200160405190810160405280929190818152602001828054801561506757602002820191905f5260205f20905f905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116150145790505b50505050508152505081526020019060010190614f29565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b1580156150f8575f5ffd5b505afa15801561510a573d5f5f3e3d5ffd5b505050505f615119828461a058565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b158015615194575f5ffd5b505af11580156151a6573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008616600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af115801561523d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190615261919061b341565b506040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b1580156152da575f5ffd5b505af11580156152ec573d5f5f3e3d5ffd5b50506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fff7d580d000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e091506024015f604051808303815f87803b158015615372575f5ffd5b505af1158015615384573d5f5f3e3d5ffd5b5050601f546040517f9630aff8000000000000000000000000000000000000000000000000000000008152600481018590525f602482015261010090910473ffffffffffffffffffffffffffffffffffffffff169250639630aff891506044015f604051808303815f87803b1580156153fb575f5ffd5b505af115801561540d573d5f5f3e3d5ffd5b50505050505050565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b15801561548f575f5ffd5b505afa1580156154a1573d5f5f3e3d5ffd5b505082516040517f4c63e5620000000000000000000000000000000000000000000000000000000081529015156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b15801561550a575f5ffd5b505afa15801561551c573d5f5f3e3d5ffd5b50506040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d5691506024015f604051808303815f87803b158015615598575f5ffd5b505af11580156155aa573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff0000000000000000000000000000000000000000861660048201525f935061010090910473ffffffffffffffffffffffffffffffffffffffff16915063d4df1018906024016020604051808303815f875af1158015615643573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190615667919061b341565b601f546040517f2f28c69d000000000000000000000000000000000000000000000000000000008152919250610100900473ffffffffffffffffffffffffffffffffffffffff1690632f28c69d906156c5908490869060040161b422565b5f604051808303815f87803b1580156156dc575f5ffd5b505af11580156156ee573d5f5f3e3d5ffd5b50506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f2d86c03a000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e091506024015f604051808303815f87803b158015615774575f5ffd5b505af1158015615786573d5f5f3e3d5ffd5b5050601f546040517f2f28c69d00000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff169250632f28c69d91506157e6908490869060040161b422565b5f604051808303815f87803b1580156157fd575f5ffd5b505af115801561580f573d5f5f3e3d5ffd5b50505050737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611127575f5ffd5b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b1580156158e5575f5ffd5b505afa1580156158f7573d5f5f3e3d5ffd5b50506040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811690881614156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015615978575f5ffd5b505afa15801561598a573d5f5f3e3d5ffd5b505082516040517f4c63e5620000000000000000000000000000000000000000000000000000000081529015156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b1580156159f3575f5ffd5b505afa158015615a05573d5f5f3e3d5ffd5b50505050600a81511115615a1857600a81525b615a2181619eff565b90505f815167ffffffffffffffff811115615a3e57615a3e61a7eb565b604051908082528060200260200182016040528015615a67578160200160208202803683370190505b5090505f5b8251811015615a9b5780828281518110615a8857615a8861b358565b6020908102919091010152600101615a6c565b505f615aa7848761a058565b6040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff88166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b158015615b22575f5ffd5b505af1158015615b34573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008816600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af1158015615bcb573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190615bef919061b341565b505f5b8351811015615cb357601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663520994f183868481518110615c4c57615c4c61b358565b60200260200101516040518363ffffffff1660e01b8152600401615c7a929190918252602082015260400190565b5f604051808303815f87803b158015615c91575f5ffd5b505af1158015615ca3573d5f5f3e3d5ffd5b505060019092019150615bf29050565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015615d0d575f5ffd5b505af1158015615d1f573d5f5f3e3d5ffd5b50506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f7c2411e9000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e091506024015f604051808303815f87803b158015615da5575f5ffd5b505af1158015615db7573d5f5f3e3d5ffd5b50506040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff88166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa791506024015f604051808303815f87803b158015615e33575f5ffd5b505af1158015615e45573d5f5f3e3d5ffd5b5050601f546040517fd4c9c5c400000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4c9c5c49150615ea79084908790879060040161b3c8565b5f604051808303815f87803b158015615ebe575f5ffd5b505af1158015615ed0573d5f5f3e3d5ffd5b50505050505050505050565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff861615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015615f55575f5ffd5b505afa158015615f67573d5f5f3e3d5ffd5b505083516040517f4c63e5620000000000000000000000000000000000000000000000000000000081529015156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015615fd0575f5ffd5b505afa158015615fe2573d5f5f3e3d5ffd5b50505050600a82511115615ff557600a82525b615ffe8261a0cb565b9150616013815f600185516107f1919061b32e565b90505f616020848761a058565b90506160666040805160c0810182525f8082526020808301829052828401829052606080840183905260808401819052845180860190955284528301529060a082015290565b8383815181106160785761607861b358565b602090810291909101015160a0820151526040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff88166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b158015616101575f5ffd5b505af1158015616113573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008916600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af11580156161aa573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906161ce919061b341565b505f5b845181101561628957601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632f28c69d8487848151811061622b5761622b61b358565b60200260200101516040518363ffffffff1660e01b815260040161625092919061b422565b5f604051808303815f87803b158015616267575f5ffd5b505af1158015616279573d5f5f3e3d5ffd5b5050600190920191506161d19050565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156162e3575f5ffd5b505af11580156162f5573d5f5f3e3d5ffd5b5050601f546040517f3808a90b0000000000000000000000000000000000000000000000000000000081525f935061010090910473ffffffffffffffffffffffffffffffffffffffff169150633808a90b90616359908a908690889060040161b56f565b602060405180830381865afa158015616374573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190616398919061b341565b905061113981613a6d848a61a3e1565b6060601a805480602002602001604051908101604052809291908181526020015f905b828210156123f1578382905f5260205f200180546163e89061b4d3565b80601f01602080910402602001604051908101604052809291908181526020018280546164149061b4d3565b801561645f5780601f106164365761010080835404028352916020019161645f565b820191905f5260205f20905b81548152906001019060200180831161644257829003601f168201915b5050505050815260200190600101906163cb565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff861615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b1580156164ec575f5ffd5b505afa1580156164fe573d5f5f3e3d5ffd5b50505050737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff16634c63e5625f845111801561654257505f8351115b6040518263ffffffff1660e01b8152600401616562911515815260200190565b5f6040518083038186803b158015616578575f5ffd5b505afa15801561658a573d5f5f3e3d5ffd5b505082516020808501919091208551918601919091206040517f4c63e5620000000000000000000000000000000000000000000000000000000081529114156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015616605575f5ffd5b505afa158015616617573d5f5f3e3d5ffd5b505050505f616626848761a058565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff88166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b1580156166a1575f5ffd5b505af11580156166b3573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008816600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af115801561674a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061676e919061b341565b506167b36040805160c0810182525f8082526020808301829052828401829052606080840183905260808401819052845180860190955284528301529060a082015290565b60a08101518390526040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff88166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b158015616833575f5ffd5b505af1158015616845573d5f5f3e3d5ffd5b5050601f546040517f2f28c69d00000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff169250632f28c69d91506168a5908590889060040161b422565b5f604051808303815f87803b1580156168bc575f5ffd5b505af11580156168ce573d5f5f3e3d5ffd5b50506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fd7abef4e000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e091506024015f604051808303815f87803b158015616954575f5ffd5b505af1158015616966573d5f5f3e3d5ffd5b5050601f546040517f3808a90b00000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff169250633808a90b91506169c89089908590879060040161b56f565b602060405180830381865afa1580156169e3573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611139919061b341565b6060601d805480602002602001604051908101604052809291908181526020015f905b828210156123f1575f84815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff168352600181018054835181870281018701909452808452939491938583019392830182828015616af257602002820191905f5260205f20905f905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411616a9f5790505b50505050508152505081526020019060010190616a2a565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015616b83575f5ffd5b505afa158015616b95573d5f5f3e3d5ffd5b505083516040517f4c63e5620000000000000000000000000000000000000000000000000000000081529015156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015616bfe575f5ffd5b505afa158015616c10573d5f5f3e3d5ffd5b50505050600a82511115616c2357600a82525b616c2c82619eff565b9150616c41815f600185516107f1919061b32e565b90505f616c4e848661a058565b6040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b158015616cc9575f5ffd5b505af1158015616cdb573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008816600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af1158015616d72573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190616d96919061b341565b505f5b8351811015616e5a57601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663520994f183868481518110616df357616df361b358565b60200260200101516040518363ffffffff1660e01b8152600401616e21929190918252602082015260400190565b5f604051808303815f87803b158015616e38575f5ffd5b505af1158015616e4a573d5f5f3e3d5ffd5b505060019092019150616d999050565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff1663440ed10d6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015616eb4575f5ffd5b505af1158015616ec6573d5f5f3e3d5ffd5b50505050828281518110616edc57616edc61b358565b6020026020010151817f13d94de535e503661de3c84adf637590f269f37c8d4ed5daabae98376a442a6a60405160405180910390a3601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631b31f01b82858581518110616f6257616f6261b358565b6020026020010151856040518463ffffffff1660e01b8152600401616f9a939291909283526020830191909152604082015260600190565b5f604051808303815f87803b158015616fb1575f5ffd5b505af1158015616fc3573d5f5f3e3d5ffd5b50505050737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015617020575f5ffd5b505af1158015617032573d5f5f3e3d5ffd5b5050601f546040517ff4364de6000000000000000000000000000000000000000000000000000000008152600481018590525f935061010090910473ffffffffffffffffffffffffffffffffffffffff16915063f4364de6906024015f60405180830381865afa1580156170a8573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526170ed919081019061b442565b9050617102815160018651612276919061b32e565b5f5b815181101561540d576171498282815181106171225761712261b358565b602002602001015186868151811061713c5761713c61b358565b602002602001015161a282565b600101617104565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b1580156171ca575f5ffd5b505afa1580156171dc573d5f5f3e3d5ffd5b50506040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811690881614156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b15801561725d575f5ffd5b505afa15801561726f573d5f5f3e3d5ffd5b505050505f61727e838661a058565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b1580156172f9575f5ffd5b505af115801561730b573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008716600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af11580156173a2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906173c6919061b341565b506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f7c2411e9000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c31eb0e0906024015f604051808303815f87803b158015617449575f5ffd5b505af115801561745b573d5f5f3e3d5ffd5b50506040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa791506024015f604051808303815f87803b1580156174d7575f5ffd5b505af11580156174e9573d5f5f3e3d5ffd5b5050601f546040517f520994f1000000000000000000000000000000000000000000000000000000008152600481018590526024810186905261010090910473ffffffffffffffffffffffffffffffffffffffff16925063520994f19150604401610c50565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b1580156175c8575f5ffd5b505afa1580156175da573d5f5f3e3d5ffd5b50506040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d5691506024015f604051808303815f87803b158015617656575f5ffd5b505af1158015617668573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff0000000000000000000000000000000000000000861660048201525f935061010090910473ffffffffffffffffffffffffffffffffffffffff16915063d4df1018906024016020604051808303815f875af1158015617701573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190617725919061b341565b601f54909150610100900473ffffffffffffffffffffffffffffffffffffffff1663520994f1826177558561a1cc565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925260248201526044016156c5565b6060601c805480602002602001604051908101604052809291908181526020015f905b828210156123f1575f84815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff16835260018101805483518187028101870190945280845293949193858301939283018282801561788157602002820191905f5260205f20905f905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001906004019060208260030104928301926001038202915080841161782e5790505b505050505081525050815260200190600101906177b9565b60606019805480602002602001604051908101604052809291908181526020015f905b828210156123f1578382905f5260205f200180546178d99061b4d3565b80601f01602080910402602001604051908101604052809291908181526020018280546179059061b4d3565b80156179505780601f1061792757610100808354040283529160200191617950565b820191905f5260205f20905b81548152906001019060200180831161793357829003601f168201915b5050505050815260200190600101906178bc565b6008545f9060ff16156179775750600190565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190527f6661696c6564000000000000000000000000000000000000000000000000000060248301525f9163667f9d7090604401602060405180830381865afa158015617a05573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190617a29919061b341565b1415905090565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015617aa9575f5ffd5b505afa158015617abb573d5f5f3e3d5ffd5b505082516040517f4c63e5620000000000000000000000000000000000000000000000000000000081529015156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015617b24575f5ffd5b505afa158015617b36573d5f5f3e3d5ffd5b50505050600a81511115617b4957600a81525b617b5281619eff565b90505f617b5f838561a058565b6040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b158015617bda575f5ffd5b505af1158015617bec573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008716600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af1158015617c83573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190617ca7919061b341565b505f5b8251811015617d7157737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff1663440ed10d6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015617d0c575f5ffd5b505af1158015617d1e573d5f5f3e3d5ffd5b50505050828181518110617d3457617d3461b358565b6020026020010151827fceac3080d7874c4bba80ceae14b6aa96e0df9d4f673d9e5a352d66444f50206760405160405180910390a3600101617caa565b50601f546040517f065d6c6900000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff169063065d6c6990617dce908490869060040161b524565b5f604051808303815f87803b158015617de5575f5ffd5b505af1158015617df7573d5f5f3e3d5ffd5b50505050737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015617e54575f5ffd5b505af1158015617e66573d5f5f3e3d5ffd5b5050601f546040517ff4364de6000000000000000000000000000000000000000000000000000000008152600481018590525f935061010090910473ffffffffffffffffffffffffffffffffffffffff16915063f4364de6906024015f60405180830381865afa158015617edc573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052617f21919081019061b442565b9050617f2f8151845161a1fb565b5f5b8151811015613a7a57617f76828281518110617f4f57617f4f61b358565b6020026020010151858381518110617f6957617f6961b358565b602002602001015161a2e1565b600101617f31565b6040517fca669fa70000000000000000000000000000000000000000000000000000000081525f6004820181905290737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b158015617fe3575f5ffd5b505af1158015617ff5573d5f5f3e3d5ffd5b50506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fff7d580d000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e091506024015f604051808303815f87803b15801561807b575f5ffd5b505af115801561808d573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008616600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af1158015618124573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190618148919061b341565b505050565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b1580156181c6575f5ffd5b505afa1580156181d8573d5f5f3e3d5ffd5b505082516040517f4c63e5620000000000000000000000000000000000000000000000000000000081529015156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015618241575f5ffd5b505afa158015618253573d5f5f3e3d5ffd5b505050505f618262838661a058565b90506182a86040805160c0810182525f8082526020808301829052828401829052606080840183905260808401819052845180860190955284528301529060a082015290565b60a08101518390526040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b158015618328575f5ffd5b505af115801561833a573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008816600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af11580156183d1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906183f5919061b341565b50601f546040517f2f28c69d00000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff1690632f28c69d90618452908590879060040161b422565b5f604051808303815f87803b158015618469575f5ffd5b505af115801561847b573d5f5f3e3d5ffd5b50505050737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156184d8575f5ffd5b505af11580156184ea573d5f5f3e3d5ffd5b5050601f546040517f3808a90b0000000000000000000000000000000000000000000000000000000081525f935061010090910473ffffffffffffffffffffffffffffffffffffffff169150633808a90b9061854e9089908690889060040161b56f565b602060405180830381865afa158015618569573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061858d919061b341565b905061540d81613a6d848961a3e1565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015618616575f5ffd5b505afa158015618628573d5f5f3e3d5ffd5b50506040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d5691506024015f604051808303815f87803b1580156186a4575f5ffd5b505af11580156186b6573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff0000000000000000000000000000000000000000861660048201525f935061010090910473ffffffffffffffffffffffffffffffffffffffff16915063d4df1018906024016020604051808303815f875af115801561874f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190618773919061b341565b601f546040517f520994f10000000000000000000000000000000000000000000000000000000081526004810183905260248101859052919250610100900473ffffffffffffffffffffffffffffffffffffffff169063520994f1906044015f604051808303815f87803b1580156187e9575f5ffd5b505af11580156187fb573d5f5f3e3d5ffd5b50506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f2d86c03a000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e091506024015f604051808303815f87803b158015618881575f5ffd5b505af1158015618893573d5f5f3e3d5ffd5b5050601f546040517f520994f1000000000000000000000000000000000000000000000000000000008152600481018590526024810186905261010090910473ffffffffffffffffffffffffffffffffffffffff16925063520994f191506044016157e6565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015618972575f5ffd5b505afa158015618984573d5f5f3e3d5ffd5b505050505f618993828461a058565b9050737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff1663440ed10d6040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156189ee575f5ffd5b505af1158015618a00573d5f5f3e3d5ffd5b505060405173ffffffffffffffffffffffffffffffffffffffff861692508391507f0f01cd0734cc8ed416ac6ca25cb4fe02dbab63f1236af3858deb14a566636238905f90a36040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b158015618abe575f5ffd5b505af1158015618ad0573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff0000000000000000000000000000000000000000861660048201525f935061010090910473ffffffffffffffffffffffffffffffffffffffff16915063d4df1018906024016020604051808303815f875af1158015618b69573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190618b8d919061b341565b9050618b99818361a2e1565b601f546040517febc27b8200000000000000000000000000000000000000000000000000000000815260048101849052618bf791610100900473ffffffffffffffffffffffffffffffffffffffff169063ebc27b8290602401613fae565b50505050565b606060158054806020026020016040519081016040528092919081815260200182805480156111a657602002820191905f5260205f2090815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161117b575050505050905090565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015618ce1575f5ffd5b505afa158015618cf3573d5f5f3e3d5ffd5b50506040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d5691506024015f604051808303815f87803b158015618d6f575f5ffd5b505af1158015618d81573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff0000000000000000000000000000000000000000861660048201525f935061010090910473ffffffffffffffffffffffffffffffffffffffff16915063d4df1018906024016020604051808303815f875af1158015618e1a573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190618e3e919061b341565b601f546040517f2f28c69d000000000000000000000000000000000000000000000000000000008152919250610100900473ffffffffffffffffffffffffffffffffffffffff1690632f28c69d90618e9c908490869060040161b422565b5f604051808303815f87803b158015618eb3575f5ffd5b505af1158015618ec5573d5f5f3e3d5ffd5b50506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f2d86c03a000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e091506024015f604051808303815f87803b158015618f4b575f5ffd5b505af1158015618f5d573d5f5f3e3d5ffd5b5050601f54610100900473ffffffffffffffffffffffffffffffffffffffff16915063520994f1905082618f908561a1cc565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925260248201526044016157e6565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b15801561904a575f5ffd5b505afa15801561905c573d5f5f3e3d5ffd5b505082516040517f4c63e5620000000000000000000000000000000000000000000000000000000081529015156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b1580156190c5575f5ffd5b505afa1580156190d7573d5f5f3e3d5ffd5b50505050600a815111156190ea57600a81525b6190f381619eff565b90505f619100838561a058565b6040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b15801561917b575f5ffd5b505af115801561918d573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008716600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af1158015619224573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190619248919061b341565b50601f546040517f065d6c6900000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff169063065d6c69906192a5908490869060040161b524565b5f604051808303815f87803b1580156192bc575f5ffd5b505af11580156192ce573d5f5f3e3d5ffd5b505050505f825167ffffffffffffffff8111156192ed576192ed61a7eb565b604051908082528060200260200182016040528015619316578160200160208202803683370190505b5090505f5b835181101561937b57836001828651619334919061b32e565b61933e919061b32e565b8151811061934e5761934e61b358565b60200260200101518282815181106193685761936861b358565b602090810291909101015260010161931b565b505f835167ffffffffffffffff8111156193975761939761a7eb565b6040519080825280602002602001820160405280156193c0578160200160208202803683370190505b5090505f5b845181101561940c5760018186516193dd919061b32e565b6193e7919061b32e565b8282815181106193f9576193f961b358565b60209081029190910101526001016193c5565b505f5b84518110156194d657737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff1663440ed10d6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015619471575f5ffd5b505af1158015619483573d5f5f3e3d5ffd5b505050508281815181106194995761949961b358565b6020026020010151847f13d94de535e503661de3c84adf637590f269f37c8d4ed5daabae98376a442a6a60405160405180910390a360010161940f565b50601f546040517fd4c9c5c400000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff169063d4c9c5c4906195359086908690869060040161b3c8565b5f604051808303815f87803b15801561954c575f5ffd5b505af115801561955e573d5f5f3e3d5ffd5b50505050737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156195bb575f5ffd5b505af11580156195cd573d5f5f3e3d5ffd5b5050601f546040517ff4364de6000000000000000000000000000000000000000000000000000000008152600481018790525f935061010090910473ffffffffffffffffffffffffffffffffffffffff16915063f4364de6906024015f60405180830381865afa158015619643573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052619688919081019061b442565b905061540d81515f61a1fb565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b15801561970e575f5ffd5b505afa158015619720573d5f5f3e3d5ffd5b50506040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811690881614156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b1580156197a1575f5ffd5b505afa1580156197b3573d5f5f3e3d5ffd5b505050505f6197c2838661a058565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b15801561983d575f5ffd5b505af115801561984f573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008716600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af11580156198e6573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061990a919061b341565b506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f7c2411e9000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c31eb0e0906024015f604051808303815f87803b15801561998d575f5ffd5b505af115801561999f573d5f5f3e3d5ffd5b50506040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa791506024015f604051808303815f87803b158015619a1b575f5ffd5b505af1158015619a2d573d5f5f3e3d5ffd5b5050601f546040517f2f28c69d00000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff169250632f28c69d9150610c50908490869060040161b422565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015619b06575f5ffd5b505afa158015619b18573d5f5f3e3d5ffd5b505050505f619b27838561a058565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b158015619ba2575f5ffd5b505af1158015619bb4573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008716600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af1158015619c4b573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190619c6f919061b341565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff1663440ed10d6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015619cc9575f5ffd5b505af1158015619cdb573d5f5f3e3d5ffd5b50506040518492508391507fceac3080d7874c4bba80ceae14b6aa96e0df9d4f673d9e5a352d66444f502067905f90a36040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b158015619d83575f5ffd5b505af1158015619d95573d5f5f3e3d5ffd5b5050601f546040517f520994f1000000000000000000000000000000000000000000000000000000008152600481018590526024810186905261010090910473ffffffffffffffffffffffffffffffffffffffff16925063520994f191506044015f604051808303815f87803b158015619e0d575f5ffd5b505af1158015619e1f573d5f5f3e3d5ffd5b5050601f546040517ff4364de6000000000000000000000000000000000000000000000000000000008152600481018590525f935061010090910473ffffffffffffffffffffffffffffffffffffffff16915063f4364de6906024015f60405180830381865afa158015619e95573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052619eda919081019061b442565b9050611c89815f81518110619ef157619ef161b358565b60200260200101518461a2e1565b6060815167ffffffffffffffff811115619f1b57619f1b61a7eb565b604051908082528060200260200182016040528015619f44578160200160208202803683370190505b5090505f5f5b8351811015619ffc575f5f5b83811015619fa857858381518110619f7057619f7061b358565b6020026020010151858281518110619f8a57619f8a61b358565b602002602001015103619fa05760019150619fa8565b600101619f56565b5080619ff357848281518110619fc057619fc061b358565b6020026020010151848480619fd49061b676565b955081518110619fe657619fe661b358565b6020026020010181815250505b50600101619f4a565b508152919050565b5f61a01084848461a49d565b905061a0516040518060400160405280600c81526020017f426f756e6420726573756c7400000000000000000000000000000000000000008152508261a6d1565b9392505050565b604080517fffffffffffffffffffffffff0000000000000000000000000000000000000000841660208201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606084901b16602c8201525f910160405160208183030381529060405261a0519061b6ad565b6060815167ffffffffffffffff81111561a0e75761a0e761a7eb565b60405190808252806020026020018201604052801561a11a57816020015b606081526020019060019003908161a1055790505b5090505f5f5b8351811015619ffc575f5f61a140868481518110611fee57611fee61b358565b90505f5b8481101561a1785761a161868281518110611fee57611fee61b358565b820361a170576001925061a178565b60010161a144565b508161a1c25785838151811061a1905761a19061b358565b602002602001015185858061a1a49061b676565b96508151811061a1b65761a1b661b358565b60200260200101819052505b505060010161a120565b5f8160405160200161a1de919061b6ef565b604051602081830303815290604052805190602001209050919050565b80821461a27e576040517f98296c540000000000000000000000000000000000000000000000000000000081526004810183905260248101829052737109709ecfa91a80626ff3989d68f67f5b1dd12d906398296c54906044015b5f6040518083038186803b15801561a26c575f5ffd5b505afa158015613a7a573d5f5f3e3d5ffd5b5050565b80820361a27e576040517f898e83fc0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052737109709ecfa91a80626ff3989d68f67f5b1dd12d9063898e83fc9060440161a256565b80821461a27e576040517f7c84c69b0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052737109709ecfa91a80626ff3989d68f67f5b1dd12d90637c84c69b9060440161a256565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461a27e576040517f515361f600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff808416600483015282166024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063515361f69060440161a256565b6040517f616363657074496d706c6963697452657175657374000000000000000000000060208201525f9060350160405160208183030381529060405280519060200120828460600151856040015160405160200161a47e949392919093845260609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208401526034830152605482015260740190565b6040516020818303038152906040528051906020012090505b92915050565b5f8183111561a532576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f5374645574696c7320626f756e642875696e743235362c75696e743235362c7560448201527f696e74323536293a204d6178206973206c657373207468616e206d696e2e0000606482015260840160405180910390fd5b82841015801561a5425750818411155b1561a54e57508261a051565b5f61a559848461b32e565b61a56490600161b385565b90506003851115801561a57657508481115b1561a58d5761a585858561b385565b91505061a051565b61a5b860037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61b32e565b851015801561a5ef575061a5ec857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61b32e565b81115b1561a6285761a61e857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61b32e565b61a585908461b32e565b8285111561a67b575f61a63b848761b32e565b90505f61a648838361b705565b9050805f0361a65c5784935050505061a051565b600161a668828861b385565b61a672919061b32e565b9350505061a6c9565b8385101561a6c9575f61a68e868661b32e565b90505f61a69b838361b705565b9050805f0361a6af5785935050505061a051565b61a6b9818661b32e565b61a6c490600161b385565b935050505b509392505050565b61a27e828260405160240161a6e792919061b73d565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb60e72cc0000000000000000000000000000000000000000000000000000000017905261a7668161a769565b50565b80516a636f6e736f6c652e6c6f67602083015f808483855afa5050505050565b61176b8061b75f83390190565b73ffffffffffffffffffffffffffffffffffffffff8116811461a766575f5ffd5b80357fffffffffffffffffffffffff00000000000000000000000000000000000000008116811461a7e6575f5ffd5b919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561a85f5761a85f61a7eb565b604052919050565b5f67ffffffffffffffff82111561a8805761a88061a7eb565b5060051b60200190565b5f82601f83011261a899575f5ffd5b813561a8ac61a8a78261a867565b61a818565b8082825260208201915060208360051b86010192508583111561a8cd575f5ffd5b602085015b8381101561a8ea57803583526020928301920161a8d2565b5095945050505050565b5f5f5f5f6080858703121561a907575f5ffd5b843561a9128161a796565b935061a9206020860161a7b7565b9250604085013567ffffffffffffffff81111561a93b575f5ffd5b61a9478782880161a88a565b949793965093946060013593505050565b5f5f5f6060848603121561a96a575f5ffd5b833561a9758161a796565b9250602084013561a9858161a796565b915061a9936040850161a7b7565b90509250925092565b602080825282518282018190525f918401906040840190835b8181101561a9e957835173ffffffffffffffffffffffffffffffffffffffff1683526020938401939092019160010161a9b5565b509095945050505050565b5f5f5f5f6080858703121561aa07575f5ffd5b843561aa128161a796565b935061aa206020860161a7b7565b9250604085013567ffffffffffffffff81111561aa3b575f5ffd5b61aa478782880161a88a565b925050606085013567ffffffffffffffff81111561aa63575f5ffd5b8501601f8101871361aa73575f5ffd5b803561aa8161a8a78261a867565b8082825260208201915060208360051b85010192508983111561aaa2575f5ffd5b6020840193505b8284101561aac457833582526020938401939091019061aaa9565b969995985093965050505050565b5f82601f83011261aae1575f5ffd5b813567ffffffffffffffff81111561aafb5761aafb61a7eb565b61ab2c60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160161a818565b81815284602083860101111561ab40575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f82601f83011261ab6b575f5ffd5b813561ab7961a8a78261a867565b8082825260208201915060208360051b86010192508583111561ab9a575f5ffd5b602085015b8381101561a8ea57803567ffffffffffffffff81111561abbd575f5ffd5b61abcc886020838a010161aad2565b8452506020928301920161ab9f565b5f5f5f5f6080858703121561abee575f5ffd5b843561abf98161a796565b935061ac076020860161a7b7565b9250604085013567ffffffffffffffff81111561ac22575f5ffd5b61a9478782880161ab5c565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b5f82825180855260208501945060208160051b830101602085015f5b8381101561ace6577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301885261acd083835161ac2e565b602098890198909350919091019060010161ac96565b50909695505050505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561ad94577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452815173ffffffffffffffffffffffffffffffffffffffff8151168652602081015190506040602087015261ad7e604087018261ac7a565b955050602093840193919091019060010161ad18565b50929695505050505050565b5f5f5f5f6080858703121561adb3575f5ffd5b843561adbe8161a796565b9350602085013561adce8161a796565b925061addc6040860161a7b7565b9396929550929360600135925050565b5f5f5f5f6080858703121561adff575f5ffd5b843561ae0a8161a796565b9350602085013561ae1a8161a796565b925061ae286040860161a7b7565b9150606085013567ffffffffffffffff81111561ae43575f5ffd5b61ae4f8782880161a88a565b91505092959194509250565b5f5f5f5f6080858703121561ae6e575f5ffd5b843561ae798161a796565b9350602085013561ae898161a796565b925061ae976040860161a7b7565b9150606085013567ffffffffffffffff81111561aeb2575f5ffd5b61ae4f8782880161aad2565b5f5f5f6060848603121561aed0575f5ffd5b833561aedb8161a796565b925061aee96020850161a7b7565b9150604084013567ffffffffffffffff81111561af04575f5ffd5b61af108682870161aad2565b9150509250925092565b5f5f5f6060848603121561af2c575f5ffd5b833561af378161a796565b925061af456020850161a7b7565b9150604084013567ffffffffffffffff81111561af60575f5ffd5b61af108682870161ab5c565b5f5f5f6060848603121561af7e575f5ffd5b833561af898161a796565b925061af976020850161a7b7565b929592945050506040919091013590565b5f8151808452602084019350602083015f5b8281101561affa5781517fffffffff000000000000000000000000000000000000000000000000000000001686526020958601959091019060010161afba565b5093949350505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561ad94577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452815180516040875261b06e604088018261ac2e565b905060208201519150868103602088015261b089818361afa8565b96505050602093840193919091019060010161b02a565b5f5f6040838503121561b0b1575f5ffd5b823561b0bc8161a796565b915061b0ca6020840161a7b7565b90509250929050565b5f5f5f5f5f60a0868803121561b0e7575f5ffd5b853561b0f28161a796565b9450602086013561b1028161a796565b935061b1106040870161a7b7565b9250606086013567ffffffffffffffff81111561b12b575f5ffd5b61b1378882890161ab5c565b95989497509295608001359392505050565b602081525f61a051602083018461ac7a565b5f5f5f5f5f60a0868803121561b16f575f5ffd5b853561b17a8161a796565b9450602086013561b18a8161a796565b935061b1986040870161a7b7565b9250606086013567ffffffffffffffff81111561b1b3575f5ffd5b61b1bf8882890161aad2565b925050608086013567ffffffffffffffff81111561b1db575f5ffd5b61b1e78882890161aad2565b9150509295509295909350565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561ad94577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452815173ffffffffffffffffffffffffffffffffffffffff8151168652602081015190506040602087015261b280604087018261afa8565b955050602093840193919091019060010161b21a565b5f5f5f6060848603121561b2a8575f5ffd5b833561b2b38161a796565b925061b2c16020850161a7b7565b9150604084013567ffffffffffffffff81111561b2dc575f5ffd5b61af108682870161a88a565b5f6020828403121561b2f8575f5ffd5b61a0518261a7b7565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8181038181111561a4975761a49761b301565b5f6020828403121561b351575f5ffd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b8082018082111561a4975761a49761b301565b5f8151808452602084019350602083015f5b8281101561affa57815186526020958601959091019060010161b3aa565b838152606060208201525f61b3e0606083018561b398565b8281036040840152835180825260208086019201905f5b8181101561b41557835183526020938401939092019160010161b3f7565b5090979650505050505050565b828152604060208201525f61b43a604083018461ac2e565b949350505050565b5f6020828403121561b452575f5ffd5b815167ffffffffffffffff81111561b468575f5ffd5b8201601f8101841361b478575f5ffd5b805161b48661a8a78261a867565b8082825260208201915060208360051b85010192508683111561b4a7575f5ffd5b6020840193505b8284101561b4c957835182526020938401939091019061b4ae565b9695505050505050565b600181811c9082168061b4e757607f821691505b60208210810361b51e577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b828152604060208201525f61b43a604083018461b398565b828152604060208201525f61b43a604083018461ac7a565b5f6020828403121561b564575f5ffd5b815161a0518161a796565b73ffffffffffffffffffffffffffffffffffffffff841681526060602082015273ffffffffffffffffffffffffffffffffffffffff83511660608201527fffffffff000000000000000000000000000000000000000000000000000000006020840151166080820152604083015160a0820152606083015160c08201525f608084015160c060e084015261b60761012084018261ac2e565b905060a08501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08483030161010085015280516040835261b64c604084018261ac2e565b905067ffffffffffffffff6020830151166020840152809350505050826040830152949350505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361b6a65761b6a661b301565b5060010190565b8051602080830151919081101561b51e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60209190910360031b1b16919050565b5f82518060208501845e5f920191825250919050565b5f8261b738577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500690565b604081525f61b74f604083018561ac2e565b9050826020830152939250505056fe6080604052348015600e575f5ffd5b5061174f8061001c5f395ff3fe608060405234801561000f575f5ffd5b50600436106100e5575f3560e01c8063a25acb2511610088578063d9acbe6b11610063578063d9acbe6b146101e6578063dac6c587146101f9578063ebc27b821461020c578063f4364de614610266575f5ffd5b8063a25acb2514610183578063d4c9c5c4146101c0578063d4df1018146101d3575f5ffd5b80633808a90b116100c35780633808a90b14610124578063520994f11461014a57806356cd2b921461015d5780639630aff814610170575f5ffd5b8063065d6c69146100e95780631b31f01b146100fe5780632f28c69d14610111575b5f5ffd5b6100fc6100f7366004610ff9565b610286565b005b6100fc61010c36600461103d565b610320565b6100fc61011f3660046110f6565b610389565b610137610132366004611158565b6103fe565b6040519081526020015b60405180910390f35b6100fc6101583660046111b0565b6104cb565b6100fc61016b3660046111d0565b610533565b6100fc61017e36600461128d565b6105ca565b6101b06101913660046111b0565b600160209081525f928352604080842090915290825290205460ff1681565b6040519015158152602001610141565b6100fc6101ce3660046112b7565b6106f3565b6101376101e136600461137d565b610879565b6101376101f43660046111b0565b610a00565b6100fc6102073660046110f6565b610a2b565b61024161021a3660046113bc565b5f6020819052908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610141565b6102796102743660046113bc565b610b22565b60405161014191906113d3565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff1633146102e4576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b825181101561031a576103128484838151811061030557610305611415565b6020026020010151610b81565b6001016102e6565b50505050565b5f83815260208190526040902054839073ffffffffffffffffffffffffffffffffffffffff16331461037e576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61031a848484610c5d565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff1633146103e7576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103f9836103f484610ddc565b610b81565b505050565b5f8061045361041060a0860186611442565b61041a908061147e565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610ddc92505050565b5f84815260016020908152604080832084845290915290205490915060ff16156104925761048a856104848661159a565b90610e0b565b9150506104c4565b6040517fd7abef4e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9392505050565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163314610529576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103f98383610b81565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163314610591576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b825181101561031a576105c2846103f48584815181106105b5576105b5611415565b6020026020010151610ddc565b600101610593565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163314610628576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216610675576040517fff7d580d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8381526020819052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff86169081179091559051909185917f7869f0fa3d7efaa83c69bf6de987567787178b8d7e41fea0cadfea68a2e27de59190a3505050565b5f83815260208190526040902054839073ffffffffffffffffffffffffffffffffffffffff163314610751576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815183511461078c576040517f526c768700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b6001835161079c919061166b565b81101561082157826107af82600161167e565b815181106107bf576107bf611415565b60200260200101518382815181106107d9576107d9611415565b60200260200101511015610819576040517f526c768700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60010161078e565b505f5b83518110156108725761086a8585838151811061084357610843611415565b602002602001015185848151811061085d5761085d611415565b6020026020010151610c5d565b600101610824565b5050505050565b5f33806108b2576040517fff7d580d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080517fffffffffffffffffffffffff0000000000000000000000000000000000000000851660208201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606084901b16602c8201520160405160208183030381529060405261092390611691565b5f8181526020819052604090205490925073ffffffffffffffffffffffffffffffffffffffff1615610981576040517ffeabeb4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8281526020819052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff85169081179091559051909184917f0f01cd0734cc8ed416ac6ca25cb4fe02dbab63f1236af3858deb14a5666362389190a350919050565b6002602052815f5260405f208181548110610a19575f80fd5b905f5260205f20015f91509150505481565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163314610a89576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610a9383610ddc565b90505f5b5f85815260026020526040902054811015610aef575f858152600260205260409020805483919083908110610ace57610ace611415565b905f5260205f20015403610ae757610872858383610c5d565b600101610a97565b506040517f4745a4ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81815260026020908152604091829020805483518184028101840190945280845260609392830182828015610b7557602002820191905f5260205f20905b815481526020019060010190808311610b61575b50505050509050919050565b5f82815260016020908152604080832084845290915290205460ff1615610bd4576040517f2d86c03a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f828152600160208181526040808420858552825280842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016841790558584526002825280842080549384018155845290832090910183905551829184917fceac3080d7874c4bba80ceae14b6aa96e0df9d4f673d9e5a352d66444f5020679190a35050565b5f8381526002602052604090205481101580610ca257505f838152600260205260409020805483919083908110610c9657610c96611415565b905f5260205f20015414155b15610cd9576040517f526c768700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f838152600160208181526040808420868552825280842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055868452600290915290912080549091610d2f9161166b565b81548110610d3f57610d3f611415565b905f5260205f20015460025f8581526020019081526020015f208281548110610d6a57610d6a611415565b905f5260205f20018190555060025f8481526020019081526020015f20805480610d9657610d966116d6565b600190038181905f5260205f20015f9055905581837f13d94de535e503661de3c84adf637590f269f37c8d4ed5daabae98376a442a6a60405160405180910390a3505050565b5f81604051602001610dee9190611703565b604051602081830303815290604052805190602001209050919050565b6040517f616363657074496d706c6963697452657175657374000000000000000000000060208201525f90603501604051602081830303815290604052805190602001208284606001518560400151604051602001610ea8949392919093845260609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208401526034830152605482015260740190565b6040516020818303038152906040528051906020012090505b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60405160c0810167ffffffffffffffff81118282101715610f1757610f17610ec7565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610f6457610f64610ec7565b604052919050565b5f67ffffffffffffffff821115610f8557610f85610ec7565b5060051b60200190565b5f82601f830112610f9e575f5ffd5b8135610fb1610fac82610f6c565b610f1d565b8082825260208201915060208360051b860101925085831115610fd2575f5ffd5b602085015b83811015610fef578035835260209283019201610fd7565b5095945050505050565b5f5f6040838503121561100a575f5ffd5b82359150602083013567ffffffffffffffff811115611027575f5ffd5b61103385828601610f8f565b9150509250929050565b5f5f5f6060848603121561104f575f5ffd5b505081359360208301359350604090920135919050565b5f82601f830112611075575f5ffd5b8135602083015f5f67ffffffffffffffff84111561109557611095610ec7565b50601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0166020016110c881610f1d565b9150508281528583830111156110dc575f5ffd5b828260208301375f92810160200192909252509392505050565b5f5f60408385031215611107575f5ffd5b82359150602083013567ffffffffffffffff811115611124575f5ffd5b61103385828601611066565b803573ffffffffffffffffffffffffffffffffffffffff81168114611153575f5ffd5b919050565b5f5f5f6060848603121561116a575f5ffd5b61117384611130565b9250602084013567ffffffffffffffff81111561118e575f5ffd5b840160c0818703121561119f575f5ffd5b929592945050506040919091013590565b5f5f604083850312156111c1575f5ffd5b50508035926020909101359150565b5f5f604083850312156111e1575f5ffd5b82359150602083013567ffffffffffffffff8111156111fe575f5ffd5b8301601f8101851361120e575f5ffd5b803561121c610fac82610f6c565b8082825260208201915060208360051b85010192508783111561123d575f5ffd5b602084015b8381101561127e57803567ffffffffffffffff811115611260575f5ffd5b61126f8a602083890101611066565b84525060209283019201611242565b50809450505050509250929050565b5f5f6040838503121561129e575f5ffd5b823591506112ae60208401611130565b90509250929050565b5f5f5f606084860312156112c9575f5ffd5b83359250602084013567ffffffffffffffff8111156112e6575f5ffd5b6112f286828701610f8f565b925050604084013567ffffffffffffffff81111561130e575f5ffd5b8401601f8101861361131e575f5ffd5b803561132c610fac82610f6c565b8082825260208201915060208360051b85010192508883111561134d575f5ffd5b6020840193505b8284101561136f578335825260209384019390910190611354565b809450505050509250925092565b5f6020828403121561138d575f5ffd5b81357fffffffffffffffffffffffff0000000000000000000000000000000000000000811681146104c4575f5ffd5b5f602082840312156113cc575f5ffd5b5035919050565b602080825282518282018190525f918401906040840190835b8181101561140a5783518352602093840193909201916001016113ec565b509095945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112611474575f5ffd5b9190910192915050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126114b1575f5ffd5b83018035915067ffffffffffffffff8211156114cb575f5ffd5b6020019150368190038213156114df575f5ffd5b9250929050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114611153575f5ffd5b5f60408284031215611525575f5ffd5b6040805190810167ffffffffffffffff8111828210171561154857611548610ec7565b604052905080823567ffffffffffffffff811115611564575f5ffd5b61157085828601611066565b825250602083013567ffffffffffffffff8116811461158d575f5ffd5b6020919091015292915050565b5f60c082360312156115aa575f5ffd5b6115b2610ef4565b6115bb83611130565b81526115c9602084016114e6565b60208201526040838101359082015260608084013590820152608083013567ffffffffffffffff8111156115fb575f5ffd5b61160736828601611066565b60808301525060a083013567ffffffffffffffff811115611626575f5ffd5b61163236828601611515565b60a08301525092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b81810381811115610ec157610ec161163e565b80820180821115610ec157610ec161163e565b805160208083015191908110156116d0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8160200360031b1b821691505b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b5f82518060208501845e5f92019182525091905056fea2646970667358221220eff7a239b8ebc55f56295f057cc1827136d7f792f7aac5663d6082776f11363064736f6c634300081c0033a26469706673582212200fcf816752dc171fab648db59655f330c60c0b4f2352ce175e2e2dbce55e978f64736f6c634300081c0033","sourceMap":"622:20989:29:-:0;;;3160:44:2;;;3200:4;-1:-1:-1;;3160:44:2;;;;;;;;1065:26:13;;;;;;;;;;;622:20989:29;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f5ffd5b50600436106102ee575f3560e01c80637b10399911610192578063ba414fa6116100e8578063e20c9f7111610093578063f72c62f11161006e578063f72c62f11461061f578063fa7626d414610632578063ff679dab1461063f575f5ffd5b8063e20c9f71146105f1578063e575719f146105f9578063eed357921461060c575f5ffd5b8063ce7bcae3116100c3578063ce7bcae3146105b8578063d3609617146105cb578063d887d395146105de575f5ffd5b8063ba414fa61461057a578063c5a3633914610592578063ca8c203d146105a5575f5ffd5b8063916a17c611610148578063ad2ac46911610123578063ad2ac46914610557578063b0464fdc1461056a578063b5508aa914610572575f5ffd5b8063916a17c61461051c5780639cc595a414610531578063ad0d116614610544575f5ffd5b8063820c2c2c11610178578063820c2c2c146104e157806385226c81146104f4578063891e335414610509575f5ffd5b80637b103999146104845780637d1d95b5146104ce575f5ffd5b80633e5e3c231161024757806356f52e42116101fd57806366d9a9a0116101d857806366d9a9a014610449578063729767491461045e578063785cf65714610471575f5ffd5b806356f52e421461041057806358bab9621461042357806361fd155b14610436575f5ffd5b80634b05e9901161022d5780634b05e990146103d75780634cf9fbff146103ea578063538d6c48146103fd575f5ffd5b80633e5e3c23146103c75780633f7286f4146103cf575f5ffd5b80632955e468116102a75780632c6eec1e116102825780632c6eec1e1461038e5780632d03611e146103a15780632e84025c146103b4575f5ffd5b80632955e468146103535780632a475b0d146103665780632ade388014610379575f5ffd5b806312fe420e116102d757806312fe420e1461030f5780631ed7831c1461032257806327d334b214610340575f5ffd5b80630a9254e4146102f25780630b3307e8146102fc575b5f5ffd5b6102fa610652565b005b6102fa61030a36600461a8f4565b6106ba565b6102fa61031d36600461a958565b610c84565b61032a611143565b604051610337919061a99c565b60405180910390f35b6102fa61034e36600461a9f4565b6111b0565b6102fa61036136600461a958565b61168c565b6102fa61037436600461abdb565b611c90565b6103816122b1565b604051610337919061acf2565b6102fa61039c36600461ada0565b6123fa565b6102fa6103af36600461adec565b6127fe565b6102fa6103c236600461ae5b565b612c8b565b61032a613083565b61032a6130ee565b6102fa6103e536600461aebe565b613159565b6102fa6103f836600461af1a565b613539565b6102fa61040b36600461ada0565b613a82565b6102fa61041e36600461aebe565b6141cc565b6102fa61043136600461af6c565b6146cd565b6102fa61044436600461a9f4565b614a3e565b610451614f06565b604051610337919061b004565b6102fa61046c36600461b0a0565b61507f565b6102fa61047f36600461aebe565b615416565b601f546104a990610100900473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610337565b6102fa6104dc36600461adec565b61586c565b6102fa6104ef36600461b0d3565b615edc565b6104fc6163a8565b604051610337919061b149565b6102fa61051736600461b15b565b616473565b610524616a07565b604051610337919061b1f4565b6102fa61053f36600461a8f4565b616b0a565b6102fa61055236600461ada0565b617151565b6102fa61056536600461aebe565b61754f565b610524617796565b6104fc617899565b610582617964565b6040519015158152602001610337565b6102fa6105a036600461b296565b617a30565b6102fa6105b336600461b2e8565b617f7e565b6102fa6105c636600461ae5b565b61814d565b6102fa6105d936600461af6c565b61859d565b6102fa6105ec36600461b0a0565b6188f9565b61032a618bfd565b6102fa61060736600461aebe565b618c68565b6102fa61061a36600461b296565b618fd1565b6102fa61062d36600461ae5b565b619695565b601f546105829060ff1681565b6102fa61064d36600461af6c565b619a8d565b60405161065e9061a789565b604051809103905ff080158015610677573d5f5f3e3d5ffd5b50601f60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015610733575f5ffd5b505afa158015610745573d5f5f3e3d5ffd5b505083516040517f4c63e5620000000000000000000000000000000000000000000000000000000081529015156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b1580156107ae575f5ffd5b505afa1580156107c0573d5f5f3e3d5ffd5b50505050600a825111156107d357600a82525b6107dc82619eff565b91506107f6815f600185516107f1919061b32e565b61a004565b90505f610803848661a058565b6040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b15801561087e575f5ffd5b505af1158015610890573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008816600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af1158015610927573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061094b919061b341565b505f5b8351811015610a0f57601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663520994f1838684815181106109a8576109a861b358565b60200260200101516040518363ffffffff1660e01b81526004016109d6929190918252602082015260400190565b5f604051808303815f87803b1580156109ed575f5ffd5b505af11580156109ff573d5f5f3e3d5ffd5b50506001909201915061094e9050565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610a69575f5ffd5b505af1158015610a7b573d5f5f3e3d5ffd5b50506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f526c7687000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e091506024015f604051808303815f87803b158015610b01575f5ffd5b505af1158015610b13573d5f5f3e3d5ffd5b50506040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff88166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa791506024015f604051808303815f87803b158015610b8f575f5ffd5b505af1158015610ba1573d5f5f3e3d5ffd5b50505050601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631b31f01b82858581518110610bf657610bf661b358565b6020026020010151856001610c0b919061b385565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1681526004810193909352602483019190915260448201526064015b5f604051808303815f87803b158015610c67575f5ffd5b505af1158015610c79573d5f5f3e3d5ffd5b505050505050505050565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811690851614156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015610d01575f5ffd5b505afa158015610d13573d5f5f3e3d5ffd5b50506040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff861615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015610d90575f5ffd5b505afa158015610da2573d5f5f3e3d5ffd5b50506040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015610e1f575f5ffd5b505afa158015610e31573d5f5f3e3d5ffd5b505050505f610e40828561a058565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b158015610ebb575f5ffd5b505af1158015610ecd573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008616600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af1158015610f64573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f88919061b341565b506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f7c2411e9000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c31eb0e0906024015f604051808303815f87803b15801561100b575f5ffd5b505af115801561101d573d5f5f3e3d5ffd5b50506040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa791506024015f604051808303815f87803b158015611099575f5ffd5b505af11580156110ab573d5f5f3e3d5ffd5b5050601f546040517f9630aff80000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff87811660248301526101009092049091169250639630aff891506044015b5f604051808303815f87803b158015611127575f5ffd5b505af1158015611139573d5f5f3e3d5ffd5b5050505050505050565b606060168054806020026020016040519081016040528092919081815260200182805480156111a657602002820191905f5260205f20905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161117b575b5050505050905090565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015611229575f5ffd5b505afa15801561123b573d5f5f3e3d5ffd5b505082516040517f4c63e562000000000000000000000000000000000000000000000000000000008152600182116004820152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9150634c63e562906024015f6040518083038186803b1580156112a7575f5ffd5b505afa1580156112b9573d5f5f3e3d5ffd5b505050818452505f805b600184516112d1919061b32e565b81101561132d57836112e482600161b385565b815181106112f4576112f461b358565b602002602001015184828151811061130e5761130e61b358565b60200260200101511015611325576001915061132d565b6001016112c3565b506040517f4c63e5620000000000000000000000000000000000000000000000000000000081528115156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015611391575f5ffd5b505afa1580156113a3573d5f5f3e3d5ffd5b50506040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d5691506024015f604051808303815f87803b15801561141f575f5ffd5b505af1158015611431573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff0000000000000000000000000000000000000000891660048201525f935061010090910473ffffffffffffffffffffffffffffffffffffffff16915063d4df1018906024016020604051808303815f875af11580156114ca573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114ee919061b341565b6040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f526c7687000000000000000000000000000000000000000000000000000000006004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c31eb0e0906024015f604051808303815f87803b158015611573575f5ffd5b505af1158015611585573d5f5f3e3d5ffd5b5050601f546040517fd4c9c5c400000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4c9c5c491506115e79084908990899060040161b3c8565b5f604051808303815f87803b1580156115fe575f5ffd5b505af1158015611610573d5f5f3e3d5ffd5b50505050737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b15801561166d575f5ffd5b505af115801561167f573d5f5f3e3d5ffd5b5050505050505050505050565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811690851614156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015611709575f5ffd5b505afa15801561171b573d5f5f3e3d5ffd5b50506040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff861615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015611798575f5ffd5b505afa1580156117aa573d5f5f3e3d5ffd5b50506040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015611827575f5ffd5b505afa158015611839573d5f5f3e3d5ffd5b505050505f611848828561a058565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b1580156118c3575f5ffd5b505af11580156118d5573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008616600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af115801561196c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611990919061b341565b506040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b158015611a09575f5ffd5b505af1158015611a1b573d5f5f3e3d5ffd5b5050601f546040517f9630aff80000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff87811660248301526101009092049091169250639630aff891506044015f604051808303815f87803b158015611a96575f5ffd5b505af1158015611aa8573d5f5f3e3d5ffd5b50506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527ffeabeb4b000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e091506024015f604051808303815f87803b158015611b2e575f5ffd5b505af1158015611b40573d5f5f3e3d5ffd5b50506040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa791506024015f604051808303815f87803b158015611bbc575f5ffd5b505af1158015611bce573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008616600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af1158015611c65573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c89919061b341565b5050505050565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015611d09575f5ffd5b505afa158015611d1b573d5f5f3e3d5ffd5b505083516040517f4c63e5620000000000000000000000000000000000000000000000000000000081529015156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015611d84575f5ffd5b505afa158015611d96573d5f5f3e3d5ffd5b50505050600a82511115611da957600a82525b611db28261a0cb565b9150611dc7815f600185516107f1919061b32e565b90505f611dd4848661a058565b6040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b158015611e4f575f5ffd5b505af1158015611e61573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008816600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af1158015611ef8573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f1c919061b341565b505f5b8351811015611fd757601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632f28c69d83868481518110611f7957611f7961b358565b60200260200101516040518363ffffffff1660e01b8152600401611f9e92919061b422565b5f604051808303815f87803b158015611fb5575f5ffd5b505af1158015611fc7573d5f5f3e3d5ffd5b505060019092019150611f1f9050565b505f611ffb848481518110611fee57611fee61b358565b602002602001015161a1cc565b9050737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff1663440ed10d6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015612056575f5ffd5b505af1158015612068573d5f5f3e3d5ffd5b50506040518392508491507f13d94de535e503661de3c84adf637590f269f37c8d4ed5daabae98376a442a6a905f90a3601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dac6c587838686815181106120e9576120e961b358565b60200260200101516040518363ffffffff1660e01b815260040161210e92919061b422565b5f604051808303815f87803b158015612125575f5ffd5b505af1158015612137573d5f5f3e3d5ffd5b50505050737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015612194575f5ffd5b505af11580156121a6573d5f5f3e3d5ffd5b5050601f546040517ff4364de6000000000000000000000000000000000000000000000000000000008152600481018690525f935061010090910473ffffffffffffffffffffffffffffffffffffffff16915063f4364de6906024015f60405180830381865afa15801561221c573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052612261919081019061b442565b905061227b815160018751612276919061b32e565b61a1fb565b5f5b8151811015611139576122a982828151811061229b5761229b61b358565b60200260200101518461a282565b60010161227d565b6060601e805480602002602001604051908101604052809291908181526020015f905b828210156123f1575f848152602080822060408051808201825260028702909201805473ffffffffffffffffffffffffffffffffffffffff168352600181018054835181870281018701909452808452939591948681019491929084015b828210156123da578382905f5260205f2001805461234f9061b4d3565b80601f016020809104026020016040519081016040528092919081815260200182805461237b9061b4d3565b80156123c65780601f1061239d576101008083540402835291602001916123c6565b820191905f5260205f20905b8154815290600101906020018083116123a957829003601f168201915b505050505081526020019060010190612332565b5050505081525050815260200190600101906122d4565b50505050905090565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015612473575f5ffd5b505afa158015612485573d5f5f3e3d5ffd5b50506040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811690881614156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015612506575f5ffd5b505afa158015612518573d5f5f3e3d5ffd5b505050505f612527838661a058565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b1580156125a2575f5ffd5b505af11580156125b4573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008716600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af115801561264b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061266f919061b341565b506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f7c2411e9000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c31eb0e0906024015f604051808303815f87803b1580156126f2575f5ffd5b505af1158015612704573d5f5f3e3d5ffd5b50506040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa791506024015f604051808303815f87803b158015612780575f5ffd5b505af1158015612792573d5f5f3e3d5ffd5b5050601f546040517f1b31f01b00000000000000000000000000000000000000000000000000000000815260048101859052602481018690525f604482015261010090910473ffffffffffffffffffffffffffffffffffffffff169250631b31f01b9150606401610c50565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015612877575f5ffd5b505afa158015612889573d5f5f3e3d5ffd5b50506040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811690881614156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b15801561290a575f5ffd5b505afa15801561291c573d5f5f3e3d5ffd5b505082516040517f4c63e5620000000000000000000000000000000000000000000000000000000081529015156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015612985575f5ffd5b505afa158015612997573d5f5f3e3d5ffd5b50505050600a815111156129aa57600a81525b6129b381619eff565b90505f6129c0838661a058565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b158015612a3b575f5ffd5b505af1158015612a4d573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008716600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af1158015612ae4573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b08919061b341565b506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f7c2411e9000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c31eb0e0906024015f604051808303815f87803b158015612b8b575f5ffd5b505af1158015612b9d573d5f5f3e3d5ffd5b50506040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa791506024015f604051808303815f87803b158015612c19575f5ffd5b505af1158015612c2b573d5f5f3e3d5ffd5b5050601f546040517f065d6c6900000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff16925063065d6c699150610c50908490869060040161b524565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015612d04575f5ffd5b505afa158015612d16573d5f5f3e3d5ffd5b50506040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811690881614156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015612d97575f5ffd5b505afa158015612da9573d5f5f3e3d5ffd5b505050505f612db8838661a058565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b158015612e33575f5ffd5b505af1158015612e45573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008716600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af1158015612edc573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f00919061b341565b506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f7c2411e9000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c31eb0e0906024015f604051808303815f87803b158015612f83575f5ffd5b505af1158015612f95573d5f5f3e3d5ffd5b50506040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa791506024015f604051808303815f87803b158015613011575f5ffd5b505af1158015613023573d5f5f3e3d5ffd5b5050601f546040517fdac6c58700000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff16925063dac6c5879150610c50908490869060040161b422565b606060188054806020026020016040519081016040528092919081815260200182805480156111a657602002820191905f5260205f2090815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161117b575050505050905090565b606060178054806020026020016040519081016040528092919081815260200182805480156111a657602002820191905f5260205f2090815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161117b575050505050905090565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b1580156131d2575f5ffd5b505afa1580156131e4573d5f5f3e3d5ffd5b505082516040517f4c63e5620000000000000000000000000000000000000000000000000000000081529015156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b15801561324d575f5ffd5b505afa15801561325f573d5f5f3e3d5ffd5b505050505f61326e838561a058565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b1580156132e9575f5ffd5b505af11580156132fb573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008716600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af1158015613392573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133b6919061b341565b506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4745a4ee000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c31eb0e0906024015f604051808303815f87803b158015613439575f5ffd5b505af115801561344b573d5f5f3e3d5ffd5b50506040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa791506024015f604051808303815f87803b1580156134c7575f5ffd5b505af11580156134d9573d5f5f3e3d5ffd5b5050601f546040517fdac6c58700000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff16925063dac6c5879150611110908490869060040161b422565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b1580156135b2575f5ffd5b505afa1580156135c4573d5f5f3e3d5ffd5b505082516040517f4c63e5620000000000000000000000000000000000000000000000000000000081529015156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b15801561362d575f5ffd5b505afa15801561363f573d5f5f3e3d5ffd5b50505050600a8151111561365257600a81525b61365b8161a0cb565b90505f613668838561a058565b6040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b1580156136e3575f5ffd5b505af11580156136f5573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008716600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af115801561378c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906137b0919061b341565b505f5b825181101561387257737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff1663440ed10d6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015613815575f5ffd5b505af1158015613827573d5f5f3e3d5ffd5b50505050613840838281518110611fee57611fee61b358565b60405183907fceac3080d7874c4bba80ceae14b6aa96e0df9d4f673d9e5a352d66444f502067905f90a36001016137b3565b50601f546040517f56cd2b9200000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff16906356cd2b92906138cf908490869060040161b53c565b5f604051808303815f87803b1580156138e6575f5ffd5b505af11580156138f8573d5f5f3e3d5ffd5b50505050737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015613955575f5ffd5b505af1158015613967573d5f5f3e3d5ffd5b5050601f546040517ff4364de6000000000000000000000000000000000000000000000000000000008152600481018590525f935061010090910473ffffffffffffffffffffffffffffffffffffffff16915063f4364de6906024015f60405180830381865afa1580156139dd573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052613a22919081019061b442565b9050613a308151845161a1fb565b5f5b8151811015613a7a57613a72828281518110613a5057613a5061b358565b6020026020010151613a6d868481518110611fee57611fee61b358565b61a2e1565b600101613a32565b505050505050565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015613afb575f5ffd5b505afa158015613b0d573d5f5f3e3d5ffd5b50506040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff861615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015613b8a575f5ffd5b505afa158015613b9c573d5f5f3e3d5ffd5b50506040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811690881614156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015613c1d575f5ffd5b505afa158015613c2f573d5f5f3e3d5ffd5b505050505f613c3e838661a058565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b158015613cb9575f5ffd5b505af1158015613ccb573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008716600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af1158015613d62573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613d86919061b341565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff1663440ed10d6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015613de0575f5ffd5b505af1158015613df2573d5f5f3e3d5ffd5b505060405173ffffffffffffffffffffffffffffffffffffffff871692508391507f7869f0fa3d7efaa83c69bf6de987567787178b8d7e41fea0cadfea68a2e27de5905f90a36040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b158015613eb0575f5ffd5b505af1158015613ec2573d5f5f3e3d5ffd5b5050601f546040517f9630aff80000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff88811660248301526101009092049091169250639630aff891506044015f604051808303815f87803b158015613f3d575f5ffd5b505af1158015613f4f573d5f5f3e3d5ffd5b5050601f546040517febc27b8200000000000000000000000000000000000000000000000000000000815260048101859052613ff3935061010090910473ffffffffffffffffffffffffffffffffffffffff16915063ebc27b82906024015b602060405180830381865afa158015613fc9573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613fed919061b554565b8561a340565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b15801561406b575f5ffd5b505af115801561407d573d5f5f3e3d5ffd5b5050601f546040517f520994f1000000000000000000000000000000000000000000000000000000008152600481018590526024810186905261010090910473ffffffffffffffffffffffffffffffffffffffff16925063520994f191506044015f604051808303815f87803b1580156140f5575f5ffd5b505af1158015614107573d5f5f3e3d5ffd5b5050601f546040517ff4364de600000000000000000000000000000000000000000000000000000000815260048101859052611c89935061010090910473ffffffffffffffffffffffffffffffffffffffff16915063f4364de6906024015f60405180830381865afa15801561417f573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526141c4919081019061b442565b51600161a1fb565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015614245575f5ffd5b505afa158015614257573d5f5f3e3d5ffd5b505082516040517f4c63e5620000000000000000000000000000000000000000000000000000000081529015156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b1580156142c0575f5ffd5b505afa1580156142d2573d5f5f3e3d5ffd5b505050505f6142e1838561a058565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b15801561435c575f5ffd5b505af115801561436e573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008716600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af1158015614405573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614429919061b341565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff1663440ed10d6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015614483575f5ffd5b505af1158015614495573d5f5f3e3d5ffd5b505050506144a28261a1cc565b60405182907fceac3080d7874c4bba80ceae14b6aa96e0df9d4f673d9e5a352d66444f502067905f90a36040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b158015614544575f5ffd5b505af1158015614556573d5f5f3e3d5ffd5b5050601f546040517f2f28c69d00000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff169250632f28c69d91506145b6908490869060040161b422565b5f604051808303815f87803b1580156145cd575f5ffd5b505af11580156145df573d5f5f3e3d5ffd5b5050601f546040517ff4364de6000000000000000000000000000000000000000000000000000000008152600481018590525f935061010090910473ffffffffffffffffffffffffffffffffffffffff16915063f4364de6906024015f60405180830381865afa158015614655573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261469a919081019061b442565b90506146a581619eff565b9050611c89815f815181106146bc576146bc61b358565b6020026020010151613a6d8561a1cc565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015614746575f5ffd5b505afa158015614758573d5f5f3e3d5ffd5b505050505f614767838561a058565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b1580156147e2575f5ffd5b505af11580156147f4573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008716600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af115801561488b573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906148af919061b341565b506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f526c7687000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c31eb0e0906024015f604051808303815f87803b158015614932575f5ffd5b505af1158015614944573d5f5f3e3d5ffd5b50506040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa791506024015f604051808303815f87803b1580156149c0575f5ffd5b505af11580156149d2573d5f5f3e3d5ffd5b5050601f546040517f1b31f01b00000000000000000000000000000000000000000000000000000000815260048101859052602481018690525f604482015261010090910473ffffffffffffffffffffffffffffffffffffffff169250631b31f01b9150606401611110565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015614ab7575f5ffd5b505afa158015614ac9573d5f5f3e3d5ffd5b505083516040517f4c63e5620000000000000000000000000000000000000000000000000000000081529015156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015614b32575f5ffd5b505afa158015614b44573d5f5f3e3d5ffd5b505082516040517f4c63e5620000000000000000000000000000000000000000000000000000000081529015156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015614bad575f5ffd5b505afa158015614bbf573d5f5f3e3d5ffd5b5050835183516040517f4c63e5620000000000000000000000000000000000000000000000000000000081529114156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015614c2a575f5ffd5b505afa158015614c3c573d5f5f3e3d5ffd5b50506040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d5691506024015f604051808303815f87803b158015614cb8575f5ffd5b505af1158015614cca573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff0000000000000000000000000000000000000000871660048201525f935061010090910473ffffffffffffffffffffffffffffffffffffffff16915063d4df1018906024016020604051808303815f875af1158015614d63573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614d87919061b341565b6040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f526c7687000000000000000000000000000000000000000000000000000000006004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c31eb0e0906024015f604051808303815f87803b158015614e0c575f5ffd5b505af1158015614e1e573d5f5f3e3d5ffd5b5050601f546040517fd4c9c5c400000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4c9c5c49150614e809084908790879060040161b3c8565b5f604051808303815f87803b158015614e97575f5ffd5b505af1158015614ea9573d5f5f3e3d5ffd5b50505050737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610c67575f5ffd5b6060601b805480602002602001604051908101604052809291908181526020015f905b828210156123f1578382905f5260205f2090600202016040518060400160405290815f82018054614f599061b4d3565b80601f0160208091040260200160405190810160405280929190818152602001828054614f859061b4d3565b8015614fd05780601f10614fa757610100808354040283529160200191614fd0565b820191905f5260205f20905b815481529060010190602001808311614fb357829003601f168201915b505050505081526020016001820180548060200260200160405190810160405280929190818152602001828054801561506757602002820191905f5260205f20905f905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116150145790505b50505050508152505081526020019060010190614f29565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b1580156150f8575f5ffd5b505afa15801561510a573d5f5f3e3d5ffd5b505050505f615119828461a058565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b158015615194575f5ffd5b505af11580156151a6573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008616600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af115801561523d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190615261919061b341565b506040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b1580156152da575f5ffd5b505af11580156152ec573d5f5f3e3d5ffd5b50506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fff7d580d000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e091506024015f604051808303815f87803b158015615372575f5ffd5b505af1158015615384573d5f5f3e3d5ffd5b5050601f546040517f9630aff8000000000000000000000000000000000000000000000000000000008152600481018590525f602482015261010090910473ffffffffffffffffffffffffffffffffffffffff169250639630aff891506044015f604051808303815f87803b1580156153fb575f5ffd5b505af115801561540d573d5f5f3e3d5ffd5b50505050505050565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b15801561548f575f5ffd5b505afa1580156154a1573d5f5f3e3d5ffd5b505082516040517f4c63e5620000000000000000000000000000000000000000000000000000000081529015156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b15801561550a575f5ffd5b505afa15801561551c573d5f5f3e3d5ffd5b50506040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d5691506024015f604051808303815f87803b158015615598575f5ffd5b505af11580156155aa573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff0000000000000000000000000000000000000000861660048201525f935061010090910473ffffffffffffffffffffffffffffffffffffffff16915063d4df1018906024016020604051808303815f875af1158015615643573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190615667919061b341565b601f546040517f2f28c69d000000000000000000000000000000000000000000000000000000008152919250610100900473ffffffffffffffffffffffffffffffffffffffff1690632f28c69d906156c5908490869060040161b422565b5f604051808303815f87803b1580156156dc575f5ffd5b505af11580156156ee573d5f5f3e3d5ffd5b50506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f2d86c03a000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e091506024015f604051808303815f87803b158015615774575f5ffd5b505af1158015615786573d5f5f3e3d5ffd5b5050601f546040517f2f28c69d00000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff169250632f28c69d91506157e6908490869060040161b422565b5f604051808303815f87803b1580156157fd575f5ffd5b505af115801561580f573d5f5f3e3d5ffd5b50505050737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611127575f5ffd5b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b1580156158e5575f5ffd5b505afa1580156158f7573d5f5f3e3d5ffd5b50506040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811690881614156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015615978575f5ffd5b505afa15801561598a573d5f5f3e3d5ffd5b505082516040517f4c63e5620000000000000000000000000000000000000000000000000000000081529015156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b1580156159f3575f5ffd5b505afa158015615a05573d5f5f3e3d5ffd5b50505050600a81511115615a1857600a81525b615a2181619eff565b90505f815167ffffffffffffffff811115615a3e57615a3e61a7eb565b604051908082528060200260200182016040528015615a67578160200160208202803683370190505b5090505f5b8251811015615a9b5780828281518110615a8857615a8861b358565b6020908102919091010152600101615a6c565b505f615aa7848761a058565b6040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff88166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b158015615b22575f5ffd5b505af1158015615b34573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008816600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af1158015615bcb573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190615bef919061b341565b505f5b8351811015615cb357601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663520994f183868481518110615c4c57615c4c61b358565b60200260200101516040518363ffffffff1660e01b8152600401615c7a929190918252602082015260400190565b5f604051808303815f87803b158015615c91575f5ffd5b505af1158015615ca3573d5f5f3e3d5ffd5b505060019092019150615bf29050565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015615d0d575f5ffd5b505af1158015615d1f573d5f5f3e3d5ffd5b50506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f7c2411e9000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e091506024015f604051808303815f87803b158015615da5575f5ffd5b505af1158015615db7573d5f5f3e3d5ffd5b50506040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff88166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa791506024015f604051808303815f87803b158015615e33575f5ffd5b505af1158015615e45573d5f5f3e3d5ffd5b5050601f546040517fd4c9c5c400000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4c9c5c49150615ea79084908790879060040161b3c8565b5f604051808303815f87803b158015615ebe575f5ffd5b505af1158015615ed0573d5f5f3e3d5ffd5b50505050505050505050565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff861615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015615f55575f5ffd5b505afa158015615f67573d5f5f3e3d5ffd5b505083516040517f4c63e5620000000000000000000000000000000000000000000000000000000081529015156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015615fd0575f5ffd5b505afa158015615fe2573d5f5f3e3d5ffd5b50505050600a82511115615ff557600a82525b615ffe8261a0cb565b9150616013815f600185516107f1919061b32e565b90505f616020848761a058565b90506160666040805160c0810182525f8082526020808301829052828401829052606080840183905260808401819052845180860190955284528301529060a082015290565b8383815181106160785761607861b358565b602090810291909101015160a0820151526040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff88166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b158015616101575f5ffd5b505af1158015616113573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008916600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af11580156161aa573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906161ce919061b341565b505f5b845181101561628957601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632f28c69d8487848151811061622b5761622b61b358565b60200260200101516040518363ffffffff1660e01b815260040161625092919061b422565b5f604051808303815f87803b158015616267575f5ffd5b505af1158015616279573d5f5f3e3d5ffd5b5050600190920191506161d19050565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156162e3575f5ffd5b505af11580156162f5573d5f5f3e3d5ffd5b5050601f546040517f3808a90b0000000000000000000000000000000000000000000000000000000081525f935061010090910473ffffffffffffffffffffffffffffffffffffffff169150633808a90b90616359908a908690889060040161b56f565b602060405180830381865afa158015616374573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190616398919061b341565b905061113981613a6d848a61a3e1565b6060601a805480602002602001604051908101604052809291908181526020015f905b828210156123f1578382905f5260205f200180546163e89061b4d3565b80601f01602080910402602001604051908101604052809291908181526020018280546164149061b4d3565b801561645f5780601f106164365761010080835404028352916020019161645f565b820191905f5260205f20905b81548152906001019060200180831161644257829003601f168201915b5050505050815260200190600101906163cb565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff861615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b1580156164ec575f5ffd5b505afa1580156164fe573d5f5f3e3d5ffd5b50505050737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff16634c63e5625f845111801561654257505f8351115b6040518263ffffffff1660e01b8152600401616562911515815260200190565b5f6040518083038186803b158015616578575f5ffd5b505afa15801561658a573d5f5f3e3d5ffd5b505082516020808501919091208551918601919091206040517f4c63e5620000000000000000000000000000000000000000000000000000000081529114156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015616605575f5ffd5b505afa158015616617573d5f5f3e3d5ffd5b505050505f616626848761a058565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff88166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b1580156166a1575f5ffd5b505af11580156166b3573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008816600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af115801561674a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061676e919061b341565b506167b36040805160c0810182525f8082526020808301829052828401829052606080840183905260808401819052845180860190955284528301529060a082015290565b60a08101518390526040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff88166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b158015616833575f5ffd5b505af1158015616845573d5f5f3e3d5ffd5b5050601f546040517f2f28c69d00000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff169250632f28c69d91506168a5908590889060040161b422565b5f604051808303815f87803b1580156168bc575f5ffd5b505af11580156168ce573d5f5f3e3d5ffd5b50506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fd7abef4e000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e091506024015f604051808303815f87803b158015616954575f5ffd5b505af1158015616966573d5f5f3e3d5ffd5b5050601f546040517f3808a90b00000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff169250633808a90b91506169c89089908590879060040161b56f565b602060405180830381865afa1580156169e3573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611139919061b341565b6060601d805480602002602001604051908101604052809291908181526020015f905b828210156123f1575f84815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff168352600181018054835181870281018701909452808452939491938583019392830182828015616af257602002820191905f5260205f20905f905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411616a9f5790505b50505050508152505081526020019060010190616a2a565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015616b83575f5ffd5b505afa158015616b95573d5f5f3e3d5ffd5b505083516040517f4c63e5620000000000000000000000000000000000000000000000000000000081529015156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015616bfe575f5ffd5b505afa158015616c10573d5f5f3e3d5ffd5b50505050600a82511115616c2357600a82525b616c2c82619eff565b9150616c41815f600185516107f1919061b32e565b90505f616c4e848661a058565b6040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b158015616cc9575f5ffd5b505af1158015616cdb573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008816600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af1158015616d72573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190616d96919061b341565b505f5b8351811015616e5a57601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663520994f183868481518110616df357616df361b358565b60200260200101516040518363ffffffff1660e01b8152600401616e21929190918252602082015260400190565b5f604051808303815f87803b158015616e38575f5ffd5b505af1158015616e4a573d5f5f3e3d5ffd5b505060019092019150616d999050565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff1663440ed10d6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015616eb4575f5ffd5b505af1158015616ec6573d5f5f3e3d5ffd5b50505050828281518110616edc57616edc61b358565b6020026020010151817f13d94de535e503661de3c84adf637590f269f37c8d4ed5daabae98376a442a6a60405160405180910390a3601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631b31f01b82858581518110616f6257616f6261b358565b6020026020010151856040518463ffffffff1660e01b8152600401616f9a939291909283526020830191909152604082015260600190565b5f604051808303815f87803b158015616fb1575f5ffd5b505af1158015616fc3573d5f5f3e3d5ffd5b50505050737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015617020575f5ffd5b505af1158015617032573d5f5f3e3d5ffd5b5050601f546040517ff4364de6000000000000000000000000000000000000000000000000000000008152600481018590525f935061010090910473ffffffffffffffffffffffffffffffffffffffff16915063f4364de6906024015f60405180830381865afa1580156170a8573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526170ed919081019061b442565b9050617102815160018651612276919061b32e565b5f5b815181101561540d576171498282815181106171225761712261b358565b602002602001015186868151811061713c5761713c61b358565b602002602001015161a282565b600101617104565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b1580156171ca575f5ffd5b505afa1580156171dc573d5f5f3e3d5ffd5b50506040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811690881614156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b15801561725d575f5ffd5b505afa15801561726f573d5f5f3e3d5ffd5b505050505f61727e838661a058565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b1580156172f9575f5ffd5b505af115801561730b573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008716600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af11580156173a2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906173c6919061b341565b506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f7c2411e9000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c31eb0e0906024015f604051808303815f87803b158015617449575f5ffd5b505af115801561745b573d5f5f3e3d5ffd5b50506040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa791506024015f604051808303815f87803b1580156174d7575f5ffd5b505af11580156174e9573d5f5f3e3d5ffd5b5050601f546040517f520994f1000000000000000000000000000000000000000000000000000000008152600481018590526024810186905261010090910473ffffffffffffffffffffffffffffffffffffffff16925063520994f19150604401610c50565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b1580156175c8575f5ffd5b505afa1580156175da573d5f5f3e3d5ffd5b50506040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d5691506024015f604051808303815f87803b158015617656575f5ffd5b505af1158015617668573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff0000000000000000000000000000000000000000861660048201525f935061010090910473ffffffffffffffffffffffffffffffffffffffff16915063d4df1018906024016020604051808303815f875af1158015617701573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190617725919061b341565b601f54909150610100900473ffffffffffffffffffffffffffffffffffffffff1663520994f1826177558561a1cc565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925260248201526044016156c5565b6060601c805480602002602001604051908101604052809291908181526020015f905b828210156123f1575f84815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff16835260018101805483518187028101870190945280845293949193858301939283018282801561788157602002820191905f5260205f20905f905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001906004019060208260030104928301926001038202915080841161782e5790505b505050505081525050815260200190600101906177b9565b60606019805480602002602001604051908101604052809291908181526020015f905b828210156123f1578382905f5260205f200180546178d99061b4d3565b80601f01602080910402602001604051908101604052809291908181526020018280546179059061b4d3565b80156179505780601f1061792757610100808354040283529160200191617950565b820191905f5260205f20905b81548152906001019060200180831161793357829003601f168201915b5050505050815260200190600101906178bc565b6008545f9060ff16156179775750600190565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190527f6661696c6564000000000000000000000000000000000000000000000000000060248301525f9163667f9d7090604401602060405180830381865afa158015617a05573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190617a29919061b341565b1415905090565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015617aa9575f5ffd5b505afa158015617abb573d5f5f3e3d5ffd5b505082516040517f4c63e5620000000000000000000000000000000000000000000000000000000081529015156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015617b24575f5ffd5b505afa158015617b36573d5f5f3e3d5ffd5b50505050600a81511115617b4957600a81525b617b5281619eff565b90505f617b5f838561a058565b6040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b158015617bda575f5ffd5b505af1158015617bec573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008716600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af1158015617c83573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190617ca7919061b341565b505f5b8251811015617d7157737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff1663440ed10d6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015617d0c575f5ffd5b505af1158015617d1e573d5f5f3e3d5ffd5b50505050828181518110617d3457617d3461b358565b6020026020010151827fceac3080d7874c4bba80ceae14b6aa96e0df9d4f673d9e5a352d66444f50206760405160405180910390a3600101617caa565b50601f546040517f065d6c6900000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff169063065d6c6990617dce908490869060040161b524565b5f604051808303815f87803b158015617de5575f5ffd5b505af1158015617df7573d5f5f3e3d5ffd5b50505050737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015617e54575f5ffd5b505af1158015617e66573d5f5f3e3d5ffd5b5050601f546040517ff4364de6000000000000000000000000000000000000000000000000000000008152600481018590525f935061010090910473ffffffffffffffffffffffffffffffffffffffff16915063f4364de6906024015f60405180830381865afa158015617edc573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052617f21919081019061b442565b9050617f2f8151845161a1fb565b5f5b8151811015613a7a57617f76828281518110617f4f57617f4f61b358565b6020026020010151858381518110617f6957617f6961b358565b602002602001015161a2e1565b600101617f31565b6040517fca669fa70000000000000000000000000000000000000000000000000000000081525f6004820181905290737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b158015617fe3575f5ffd5b505af1158015617ff5573d5f5f3e3d5ffd5b50506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fff7d580d000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e091506024015f604051808303815f87803b15801561807b575f5ffd5b505af115801561808d573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008616600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af1158015618124573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190618148919061b341565b505050565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b1580156181c6575f5ffd5b505afa1580156181d8573d5f5f3e3d5ffd5b505082516040517f4c63e5620000000000000000000000000000000000000000000000000000000081529015156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015618241575f5ffd5b505afa158015618253573d5f5f3e3d5ffd5b505050505f618262838661a058565b90506182a86040805160c0810182525f8082526020808301829052828401829052606080840183905260808401819052845180860190955284528301529060a082015290565b60a08101518390526040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b158015618328575f5ffd5b505af115801561833a573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008816600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af11580156183d1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906183f5919061b341565b50601f546040517f2f28c69d00000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff1690632f28c69d90618452908590879060040161b422565b5f604051808303815f87803b158015618469575f5ffd5b505af115801561847b573d5f5f3e3d5ffd5b50505050737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156184d8575f5ffd5b505af11580156184ea573d5f5f3e3d5ffd5b5050601f546040517f3808a90b0000000000000000000000000000000000000000000000000000000081525f935061010090910473ffffffffffffffffffffffffffffffffffffffff169150633808a90b9061854e9089908690889060040161b56f565b602060405180830381865afa158015618569573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061858d919061b341565b905061540d81613a6d848961a3e1565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015618616575f5ffd5b505afa158015618628573d5f5f3e3d5ffd5b50506040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d5691506024015f604051808303815f87803b1580156186a4575f5ffd5b505af11580156186b6573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff0000000000000000000000000000000000000000861660048201525f935061010090910473ffffffffffffffffffffffffffffffffffffffff16915063d4df1018906024016020604051808303815f875af115801561874f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190618773919061b341565b601f546040517f520994f10000000000000000000000000000000000000000000000000000000081526004810183905260248101859052919250610100900473ffffffffffffffffffffffffffffffffffffffff169063520994f1906044015f604051808303815f87803b1580156187e9575f5ffd5b505af11580156187fb573d5f5f3e3d5ffd5b50506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f2d86c03a000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e091506024015f604051808303815f87803b158015618881575f5ffd5b505af1158015618893573d5f5f3e3d5ffd5b5050601f546040517f520994f1000000000000000000000000000000000000000000000000000000008152600481018590526024810186905261010090910473ffffffffffffffffffffffffffffffffffffffff16925063520994f191506044016157e6565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015618972575f5ffd5b505afa158015618984573d5f5f3e3d5ffd5b505050505f618993828461a058565b9050737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff1663440ed10d6040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156189ee575f5ffd5b505af1158015618a00573d5f5f3e3d5ffd5b505060405173ffffffffffffffffffffffffffffffffffffffff861692508391507f0f01cd0734cc8ed416ac6ca25cb4fe02dbab63f1236af3858deb14a566636238905f90a36040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b158015618abe575f5ffd5b505af1158015618ad0573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff0000000000000000000000000000000000000000861660048201525f935061010090910473ffffffffffffffffffffffffffffffffffffffff16915063d4df1018906024016020604051808303815f875af1158015618b69573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190618b8d919061b341565b9050618b99818361a2e1565b601f546040517febc27b8200000000000000000000000000000000000000000000000000000000815260048101849052618bf791610100900473ffffffffffffffffffffffffffffffffffffffff169063ebc27b8290602401613fae565b50505050565b606060158054806020026020016040519081016040528092919081815260200182805480156111a657602002820191905f5260205f2090815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161117b575050505050905090565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015618ce1575f5ffd5b505afa158015618cf3573d5f5f3e3d5ffd5b50506040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d5691506024015f604051808303815f87803b158015618d6f575f5ffd5b505af1158015618d81573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff0000000000000000000000000000000000000000861660048201525f935061010090910473ffffffffffffffffffffffffffffffffffffffff16915063d4df1018906024016020604051808303815f875af1158015618e1a573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190618e3e919061b341565b601f546040517f2f28c69d000000000000000000000000000000000000000000000000000000008152919250610100900473ffffffffffffffffffffffffffffffffffffffff1690632f28c69d90618e9c908490869060040161b422565b5f604051808303815f87803b158015618eb3575f5ffd5b505af1158015618ec5573d5f5f3e3d5ffd5b50506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f2d86c03a000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e091506024015f604051808303815f87803b158015618f4b575f5ffd5b505af1158015618f5d573d5f5f3e3d5ffd5b5050601f54610100900473ffffffffffffffffffffffffffffffffffffffff16915063520994f1905082618f908561a1cc565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925260248201526044016157e6565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b15801561904a575f5ffd5b505afa15801561905c573d5f5f3e3d5ffd5b505082516040517f4c63e5620000000000000000000000000000000000000000000000000000000081529015156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b1580156190c5575f5ffd5b505afa1580156190d7573d5f5f3e3d5ffd5b50505050600a815111156190ea57600a81525b6190f381619eff565b90505f619100838561a058565b6040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b15801561917b575f5ffd5b505af115801561918d573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008716600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af1158015619224573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190619248919061b341565b50601f546040517f065d6c6900000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff169063065d6c69906192a5908490869060040161b524565b5f604051808303815f87803b1580156192bc575f5ffd5b505af11580156192ce573d5f5f3e3d5ffd5b505050505f825167ffffffffffffffff8111156192ed576192ed61a7eb565b604051908082528060200260200182016040528015619316578160200160208202803683370190505b5090505f5b835181101561937b57836001828651619334919061b32e565b61933e919061b32e565b8151811061934e5761934e61b358565b60200260200101518282815181106193685761936861b358565b602090810291909101015260010161931b565b505f835167ffffffffffffffff8111156193975761939761a7eb565b6040519080825280602002602001820160405280156193c0578160200160208202803683370190505b5090505f5b845181101561940c5760018186516193dd919061b32e565b6193e7919061b32e565b8282815181106193f9576193f961b358565b60209081029190910101526001016193c5565b505f5b84518110156194d657737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff1663440ed10d6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015619471575f5ffd5b505af1158015619483573d5f5f3e3d5ffd5b505050508281815181106194995761949961b358565b6020026020010151847f13d94de535e503661de3c84adf637590f269f37c8d4ed5daabae98376a442a6a60405160405180910390a360010161940f565b50601f546040517fd4c9c5c400000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff169063d4c9c5c4906195359086908690869060040161b3c8565b5f604051808303815f87803b15801561954c575f5ffd5b505af115801561955e573d5f5f3e3d5ffd5b50505050737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156195bb575f5ffd5b505af11580156195cd573d5f5f3e3d5ffd5b5050601f546040517ff4364de6000000000000000000000000000000000000000000000000000000008152600481018790525f935061010090910473ffffffffffffffffffffffffffffffffffffffff16915063f4364de6906024015f60405180830381865afa158015619643573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052619688919081019061b442565b905061540d81515f61a1fb565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b15801561970e575f5ffd5b505afa158015619720573d5f5f3e3d5ffd5b50506040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811690881614156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b1580156197a1575f5ffd5b505afa1580156197b3573d5f5f3e3d5ffd5b505050505f6197c2838661a058565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b15801561983d575f5ffd5b505af115801561984f573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008716600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af11580156198e6573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061990a919061b341565b506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f7c2411e9000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c31eb0e0906024015f604051808303815f87803b15801561998d575f5ffd5b505af115801561999f573d5f5f3e3d5ffd5b50506040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa791506024015f604051808303815f87803b158015619a1b575f5ffd5b505af1158015619a2d573d5f5f3e3d5ffd5b5050601f546040517f2f28c69d00000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff169250632f28c69d9150610c50908490869060040161b422565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015619b06575f5ffd5b505afa158015619b18573d5f5f3e3d5ffd5b505050505f619b27838561a058565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b158015619ba2575f5ffd5b505af1158015619bb4573d5f5f3e3d5ffd5b5050601f546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008716600482015261010090910473ffffffffffffffffffffffffffffffffffffffff16925063d4df101891506024016020604051808303815f875af1158015619c4b573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190619c6f919061b341565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff1663440ed10d6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015619cc9575f5ffd5b505af1158015619cdb573d5f5f3e3d5ffd5b50506040518492508391507fceac3080d7874c4bba80ceae14b6aa96e0df9d4f673d9e5a352d66444f502067905f90a36040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b158015619d83575f5ffd5b505af1158015619d95573d5f5f3e3d5ffd5b5050601f546040517f520994f1000000000000000000000000000000000000000000000000000000008152600481018590526024810186905261010090910473ffffffffffffffffffffffffffffffffffffffff16925063520994f191506044015f604051808303815f87803b158015619e0d575f5ffd5b505af1158015619e1f573d5f5f3e3d5ffd5b5050601f546040517ff4364de6000000000000000000000000000000000000000000000000000000008152600481018590525f935061010090910473ffffffffffffffffffffffffffffffffffffffff16915063f4364de6906024015f60405180830381865afa158015619e95573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052619eda919081019061b442565b9050611c89815f81518110619ef157619ef161b358565b60200260200101518461a2e1565b6060815167ffffffffffffffff811115619f1b57619f1b61a7eb565b604051908082528060200260200182016040528015619f44578160200160208202803683370190505b5090505f5f5b8351811015619ffc575f5f5b83811015619fa857858381518110619f7057619f7061b358565b6020026020010151858281518110619f8a57619f8a61b358565b602002602001015103619fa05760019150619fa8565b600101619f56565b5080619ff357848281518110619fc057619fc061b358565b6020026020010151848480619fd49061b676565b955081518110619fe657619fe661b358565b6020026020010181815250505b50600101619f4a565b508152919050565b5f61a01084848461a49d565b905061a0516040518060400160405280600c81526020017f426f756e6420726573756c7400000000000000000000000000000000000000008152508261a6d1565b9392505050565b604080517fffffffffffffffffffffffff0000000000000000000000000000000000000000841660208201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606084901b16602c8201525f910160405160208183030381529060405261a0519061b6ad565b6060815167ffffffffffffffff81111561a0e75761a0e761a7eb565b60405190808252806020026020018201604052801561a11a57816020015b606081526020019060019003908161a1055790505b5090505f5f5b8351811015619ffc575f5f61a140868481518110611fee57611fee61b358565b90505f5b8481101561a1785761a161868281518110611fee57611fee61b358565b820361a170576001925061a178565b60010161a144565b508161a1c25785838151811061a1905761a19061b358565b602002602001015185858061a1a49061b676565b96508151811061a1b65761a1b661b358565b60200260200101819052505b505060010161a120565b5f8160405160200161a1de919061b6ef565b604051602081830303815290604052805190602001209050919050565b80821461a27e576040517f98296c540000000000000000000000000000000000000000000000000000000081526004810183905260248101829052737109709ecfa91a80626ff3989d68f67f5b1dd12d906398296c54906044015b5f6040518083038186803b15801561a26c575f5ffd5b505afa158015613a7a573d5f5f3e3d5ffd5b5050565b80820361a27e576040517f898e83fc0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052737109709ecfa91a80626ff3989d68f67f5b1dd12d9063898e83fc9060440161a256565b80821461a27e576040517f7c84c69b0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052737109709ecfa91a80626ff3989d68f67f5b1dd12d90637c84c69b9060440161a256565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461a27e576040517f515361f600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff808416600483015282166024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063515361f69060440161a256565b6040517f616363657074496d706c6963697452657175657374000000000000000000000060208201525f9060350160405160208183030381529060405280519060200120828460600151856040015160405160200161a47e949392919093845260609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208401526034830152605482015260740190565b6040516020818303038152906040528051906020012090505b92915050565b5f8183111561a532576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f5374645574696c7320626f756e642875696e743235362c75696e743235362c7560448201527f696e74323536293a204d6178206973206c657373207468616e206d696e2e0000606482015260840160405180910390fd5b82841015801561a5425750818411155b1561a54e57508261a051565b5f61a559848461b32e565b61a56490600161b385565b90506003851115801561a57657508481115b1561a58d5761a585858561b385565b91505061a051565b61a5b860037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61b32e565b851015801561a5ef575061a5ec857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61b32e565b81115b1561a6285761a61e857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61b32e565b61a585908461b32e565b8285111561a67b575f61a63b848761b32e565b90505f61a648838361b705565b9050805f0361a65c5784935050505061a051565b600161a668828861b385565b61a672919061b32e565b9350505061a6c9565b8385101561a6c9575f61a68e868661b32e565b90505f61a69b838361b705565b9050805f0361a6af5785935050505061a051565b61a6b9818661b32e565b61a6c490600161b385565b935050505b509392505050565b61a27e828260405160240161a6e792919061b73d565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb60e72cc0000000000000000000000000000000000000000000000000000000017905261a7668161a769565b50565b80516a636f6e736f6c652e6c6f67602083015f808483855afa5050505050565b61176b8061b75f83390190565b73ffffffffffffffffffffffffffffffffffffffff8116811461a766575f5ffd5b80357fffffffffffffffffffffffff00000000000000000000000000000000000000008116811461a7e6575f5ffd5b919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561a85f5761a85f61a7eb565b604052919050565b5f67ffffffffffffffff82111561a8805761a88061a7eb565b5060051b60200190565b5f82601f83011261a899575f5ffd5b813561a8ac61a8a78261a867565b61a818565b8082825260208201915060208360051b86010192508583111561a8cd575f5ffd5b602085015b8381101561a8ea57803583526020928301920161a8d2565b5095945050505050565b5f5f5f5f6080858703121561a907575f5ffd5b843561a9128161a796565b935061a9206020860161a7b7565b9250604085013567ffffffffffffffff81111561a93b575f5ffd5b61a9478782880161a88a565b949793965093946060013593505050565b5f5f5f6060848603121561a96a575f5ffd5b833561a9758161a796565b9250602084013561a9858161a796565b915061a9936040850161a7b7565b90509250925092565b602080825282518282018190525f918401906040840190835b8181101561a9e957835173ffffffffffffffffffffffffffffffffffffffff1683526020938401939092019160010161a9b5565b509095945050505050565b5f5f5f5f6080858703121561aa07575f5ffd5b843561aa128161a796565b935061aa206020860161a7b7565b9250604085013567ffffffffffffffff81111561aa3b575f5ffd5b61aa478782880161a88a565b925050606085013567ffffffffffffffff81111561aa63575f5ffd5b8501601f8101871361aa73575f5ffd5b803561aa8161a8a78261a867565b8082825260208201915060208360051b85010192508983111561aaa2575f5ffd5b6020840193505b8284101561aac457833582526020938401939091019061aaa9565b969995985093965050505050565b5f82601f83011261aae1575f5ffd5b813567ffffffffffffffff81111561aafb5761aafb61a7eb565b61ab2c60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160161a818565b81815284602083860101111561ab40575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f82601f83011261ab6b575f5ffd5b813561ab7961a8a78261a867565b8082825260208201915060208360051b86010192508583111561ab9a575f5ffd5b602085015b8381101561a8ea57803567ffffffffffffffff81111561abbd575f5ffd5b61abcc886020838a010161aad2565b8452506020928301920161ab9f565b5f5f5f5f6080858703121561abee575f5ffd5b843561abf98161a796565b935061ac076020860161a7b7565b9250604085013567ffffffffffffffff81111561ac22575f5ffd5b61a9478782880161ab5c565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b5f82825180855260208501945060208160051b830101602085015f5b8381101561ace6577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301885261acd083835161ac2e565b602098890198909350919091019060010161ac96565b50909695505050505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561ad94577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452815173ffffffffffffffffffffffffffffffffffffffff8151168652602081015190506040602087015261ad7e604087018261ac7a565b955050602093840193919091019060010161ad18565b50929695505050505050565b5f5f5f5f6080858703121561adb3575f5ffd5b843561adbe8161a796565b9350602085013561adce8161a796565b925061addc6040860161a7b7565b9396929550929360600135925050565b5f5f5f5f6080858703121561adff575f5ffd5b843561ae0a8161a796565b9350602085013561ae1a8161a796565b925061ae286040860161a7b7565b9150606085013567ffffffffffffffff81111561ae43575f5ffd5b61ae4f8782880161a88a565b91505092959194509250565b5f5f5f5f6080858703121561ae6e575f5ffd5b843561ae798161a796565b9350602085013561ae898161a796565b925061ae976040860161a7b7565b9150606085013567ffffffffffffffff81111561aeb2575f5ffd5b61ae4f8782880161aad2565b5f5f5f6060848603121561aed0575f5ffd5b833561aedb8161a796565b925061aee96020850161a7b7565b9150604084013567ffffffffffffffff81111561af04575f5ffd5b61af108682870161aad2565b9150509250925092565b5f5f5f6060848603121561af2c575f5ffd5b833561af378161a796565b925061af456020850161a7b7565b9150604084013567ffffffffffffffff81111561af60575f5ffd5b61af108682870161ab5c565b5f5f5f6060848603121561af7e575f5ffd5b833561af898161a796565b925061af976020850161a7b7565b929592945050506040919091013590565b5f8151808452602084019350602083015f5b8281101561affa5781517fffffffff000000000000000000000000000000000000000000000000000000001686526020958601959091019060010161afba565b5093949350505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561ad94577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452815180516040875261b06e604088018261ac2e565b905060208201519150868103602088015261b089818361afa8565b96505050602093840193919091019060010161b02a565b5f5f6040838503121561b0b1575f5ffd5b823561b0bc8161a796565b915061b0ca6020840161a7b7565b90509250929050565b5f5f5f5f5f60a0868803121561b0e7575f5ffd5b853561b0f28161a796565b9450602086013561b1028161a796565b935061b1106040870161a7b7565b9250606086013567ffffffffffffffff81111561b12b575f5ffd5b61b1378882890161ab5c565b95989497509295608001359392505050565b602081525f61a051602083018461ac7a565b5f5f5f5f5f60a0868803121561b16f575f5ffd5b853561b17a8161a796565b9450602086013561b18a8161a796565b935061b1986040870161a7b7565b9250606086013567ffffffffffffffff81111561b1b3575f5ffd5b61b1bf8882890161aad2565b925050608086013567ffffffffffffffff81111561b1db575f5ffd5b61b1e78882890161aad2565b9150509295509295909350565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561ad94577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452815173ffffffffffffffffffffffffffffffffffffffff8151168652602081015190506040602087015261b280604087018261afa8565b955050602093840193919091019060010161b21a565b5f5f5f6060848603121561b2a8575f5ffd5b833561b2b38161a796565b925061b2c16020850161a7b7565b9150604084013567ffffffffffffffff81111561b2dc575f5ffd5b61af108682870161a88a565b5f6020828403121561b2f8575f5ffd5b61a0518261a7b7565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8181038181111561a4975761a49761b301565b5f6020828403121561b351575f5ffd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b8082018082111561a4975761a49761b301565b5f8151808452602084019350602083015f5b8281101561affa57815186526020958601959091019060010161b3aa565b838152606060208201525f61b3e0606083018561b398565b8281036040840152835180825260208086019201905f5b8181101561b41557835183526020938401939092019160010161b3f7565b5090979650505050505050565b828152604060208201525f61b43a604083018461ac2e565b949350505050565b5f6020828403121561b452575f5ffd5b815167ffffffffffffffff81111561b468575f5ffd5b8201601f8101841361b478575f5ffd5b805161b48661a8a78261a867565b8082825260208201915060208360051b85010192508683111561b4a7575f5ffd5b6020840193505b8284101561b4c957835182526020938401939091019061b4ae565b9695505050505050565b600181811c9082168061b4e757607f821691505b60208210810361b51e577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b828152604060208201525f61b43a604083018461b398565b828152604060208201525f61b43a604083018461ac7a565b5f6020828403121561b564575f5ffd5b815161a0518161a796565b73ffffffffffffffffffffffffffffffffffffffff841681526060602082015273ffffffffffffffffffffffffffffffffffffffff83511660608201527fffffffff000000000000000000000000000000000000000000000000000000006020840151166080820152604083015160a0820152606083015160c08201525f608084015160c060e084015261b60761012084018261ac2e565b905060a08501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08483030161010085015280516040835261b64c604084018261ac2e565b905067ffffffffffffffff6020830151166020840152809350505050826040830152949350505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361b6a65761b6a661b301565b5060010190565b8051602080830151919081101561b51e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60209190910360031b1b16919050565b5f82518060208501845e5f920191825250919050565b5f8261b738577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500690565b604081525f61b74f604083018561ac2e565b9050826020830152939250505056fe6080604052348015600e575f5ffd5b5061174f8061001c5f395ff3fe608060405234801561000f575f5ffd5b50600436106100e5575f3560e01c8063a25acb2511610088578063d9acbe6b11610063578063d9acbe6b146101e6578063dac6c587146101f9578063ebc27b821461020c578063f4364de614610266575f5ffd5b8063a25acb2514610183578063d4c9c5c4146101c0578063d4df1018146101d3575f5ffd5b80633808a90b116100c35780633808a90b14610124578063520994f11461014a57806356cd2b921461015d5780639630aff814610170575f5ffd5b8063065d6c69146100e95780631b31f01b146100fe5780632f28c69d14610111575b5f5ffd5b6100fc6100f7366004610ff9565b610286565b005b6100fc61010c36600461103d565b610320565b6100fc61011f3660046110f6565b610389565b610137610132366004611158565b6103fe565b6040519081526020015b60405180910390f35b6100fc6101583660046111b0565b6104cb565b6100fc61016b3660046111d0565b610533565b6100fc61017e36600461128d565b6105ca565b6101b06101913660046111b0565b600160209081525f928352604080842090915290825290205460ff1681565b6040519015158152602001610141565b6100fc6101ce3660046112b7565b6106f3565b6101376101e136600461137d565b610879565b6101376101f43660046111b0565b610a00565b6100fc6102073660046110f6565b610a2b565b61024161021a3660046113bc565b5f6020819052908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610141565b6102796102743660046113bc565b610b22565b60405161014191906113d3565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff1633146102e4576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b825181101561031a576103128484838151811061030557610305611415565b6020026020010151610b81565b6001016102e6565b50505050565b5f83815260208190526040902054839073ffffffffffffffffffffffffffffffffffffffff16331461037e576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61031a848484610c5d565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff1633146103e7576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103f9836103f484610ddc565b610b81565b505050565b5f8061045361041060a0860186611442565b61041a908061147e565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610ddc92505050565b5f84815260016020908152604080832084845290915290205490915060ff16156104925761048a856104848661159a565b90610e0b565b9150506104c4565b6040517fd7abef4e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9392505050565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163314610529576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103f98383610b81565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163314610591576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b825181101561031a576105c2846103f48584815181106105b5576105b5611415565b6020026020010151610ddc565b600101610593565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163314610628576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216610675576040517fff7d580d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8381526020819052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff86169081179091559051909185917f7869f0fa3d7efaa83c69bf6de987567787178b8d7e41fea0cadfea68a2e27de59190a3505050565b5f83815260208190526040902054839073ffffffffffffffffffffffffffffffffffffffff163314610751576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815183511461078c576040517f526c768700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b6001835161079c919061166b565b81101561082157826107af82600161167e565b815181106107bf576107bf611415565b60200260200101518382815181106107d9576107d9611415565b60200260200101511015610819576040517f526c768700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60010161078e565b505f5b83518110156108725761086a8585838151811061084357610843611415565b602002602001015185848151811061085d5761085d611415565b6020026020010151610c5d565b600101610824565b5050505050565b5f33806108b2576040517fff7d580d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080517fffffffffffffffffffffffff0000000000000000000000000000000000000000851660208201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606084901b16602c8201520160405160208183030381529060405261092390611691565b5f8181526020819052604090205490925073ffffffffffffffffffffffffffffffffffffffff1615610981576040517ffeabeb4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8281526020819052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff85169081179091559051909184917f0f01cd0734cc8ed416ac6ca25cb4fe02dbab63f1236af3858deb14a5666362389190a350919050565b6002602052815f5260405f208181548110610a19575f80fd5b905f5260205f20015f91509150505481565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163314610a89576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610a9383610ddc565b90505f5b5f85815260026020526040902054811015610aef575f858152600260205260409020805483919083908110610ace57610ace611415565b905f5260205f20015403610ae757610872858383610c5d565b600101610a97565b506040517f4745a4ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81815260026020908152604091829020805483518184028101840190945280845260609392830182828015610b7557602002820191905f5260205f20905b815481526020019060010190808311610b61575b50505050509050919050565b5f82815260016020908152604080832084845290915290205460ff1615610bd4576040517f2d86c03a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f828152600160208181526040808420858552825280842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016841790558584526002825280842080549384018155845290832090910183905551829184917fceac3080d7874c4bba80ceae14b6aa96e0df9d4f673d9e5a352d66444f5020679190a35050565b5f8381526002602052604090205481101580610ca257505f838152600260205260409020805483919083908110610c9657610c96611415565b905f5260205f20015414155b15610cd9576040517f526c768700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f838152600160208181526040808420868552825280842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055868452600290915290912080549091610d2f9161166b565b81548110610d3f57610d3f611415565b905f5260205f20015460025f8581526020019081526020015f208281548110610d6a57610d6a611415565b905f5260205f20018190555060025f8481526020019081526020015f20805480610d9657610d966116d6565b600190038181905f5260205f20015f9055905581837f13d94de535e503661de3c84adf637590f269f37c8d4ed5daabae98376a442a6a60405160405180910390a3505050565b5f81604051602001610dee9190611703565b604051602081830303815290604052805190602001209050919050565b6040517f616363657074496d706c6963697452657175657374000000000000000000000060208201525f90603501604051602081830303815290604052805190602001208284606001518560400151604051602001610ea8949392919093845260609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208401526034830152605482015260740190565b6040516020818303038152906040528051906020012090505b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60405160c0810167ffffffffffffffff81118282101715610f1757610f17610ec7565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610f6457610f64610ec7565b604052919050565b5f67ffffffffffffffff821115610f8557610f85610ec7565b5060051b60200190565b5f82601f830112610f9e575f5ffd5b8135610fb1610fac82610f6c565b610f1d565b8082825260208201915060208360051b860101925085831115610fd2575f5ffd5b602085015b83811015610fef578035835260209283019201610fd7565b5095945050505050565b5f5f6040838503121561100a575f5ffd5b82359150602083013567ffffffffffffffff811115611027575f5ffd5b61103385828601610f8f565b9150509250929050565b5f5f5f6060848603121561104f575f5ffd5b505081359360208301359350604090920135919050565b5f82601f830112611075575f5ffd5b8135602083015f5f67ffffffffffffffff84111561109557611095610ec7565b50601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0166020016110c881610f1d565b9150508281528583830111156110dc575f5ffd5b828260208301375f92810160200192909252509392505050565b5f5f60408385031215611107575f5ffd5b82359150602083013567ffffffffffffffff811115611124575f5ffd5b61103385828601611066565b803573ffffffffffffffffffffffffffffffffffffffff81168114611153575f5ffd5b919050565b5f5f5f6060848603121561116a575f5ffd5b61117384611130565b9250602084013567ffffffffffffffff81111561118e575f5ffd5b840160c0818703121561119f575f5ffd5b929592945050506040919091013590565b5f5f604083850312156111c1575f5ffd5b50508035926020909101359150565b5f5f604083850312156111e1575f5ffd5b82359150602083013567ffffffffffffffff8111156111fe575f5ffd5b8301601f8101851361120e575f5ffd5b803561121c610fac82610f6c565b8082825260208201915060208360051b85010192508783111561123d575f5ffd5b602084015b8381101561127e57803567ffffffffffffffff811115611260575f5ffd5b61126f8a602083890101611066565b84525060209283019201611242565b50809450505050509250929050565b5f5f6040838503121561129e575f5ffd5b823591506112ae60208401611130565b90509250929050565b5f5f5f606084860312156112c9575f5ffd5b83359250602084013567ffffffffffffffff8111156112e6575f5ffd5b6112f286828701610f8f565b925050604084013567ffffffffffffffff81111561130e575f5ffd5b8401601f8101861361131e575f5ffd5b803561132c610fac82610f6c565b8082825260208201915060208360051b85010192508883111561134d575f5ffd5b6020840193505b8284101561136f578335825260209384019390910190611354565b809450505050509250925092565b5f6020828403121561138d575f5ffd5b81357fffffffffffffffffffffffff0000000000000000000000000000000000000000811681146104c4575f5ffd5b5f602082840312156113cc575f5ffd5b5035919050565b602080825282518282018190525f918401906040840190835b8181101561140a5783518352602093840193909201916001016113ec565b509095945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112611474575f5ffd5b9190910192915050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126114b1575f5ffd5b83018035915067ffffffffffffffff8211156114cb575f5ffd5b6020019150368190038213156114df575f5ffd5b9250929050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114611153575f5ffd5b5f60408284031215611525575f5ffd5b6040805190810167ffffffffffffffff8111828210171561154857611548610ec7565b604052905080823567ffffffffffffffff811115611564575f5ffd5b61157085828601611066565b825250602083013567ffffffffffffffff8116811461158d575f5ffd5b6020919091015292915050565b5f60c082360312156115aa575f5ffd5b6115b2610ef4565b6115bb83611130565b81526115c9602084016114e6565b60208201526040838101359082015260608084013590820152608083013567ffffffffffffffff8111156115fb575f5ffd5b61160736828601611066565b60808301525060a083013567ffffffffffffffff811115611626575f5ffd5b61163236828601611515565b60a08301525092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b81810381811115610ec157610ec161163e565b80820180821115610ec157610ec161163e565b805160208083015191908110156116d0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8160200360031b1b821691505b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b5f82518060208501845e5f92019182525091905056fea2646970667358221220eff7a239b8ebc55f56295f057cc1827136d7f792f7aac5663d6082776f11363064736f6c634300081c0033a26469706673582212200fcf816752dc171fab648db59655f330c60c0b4f2352ce175e2e2dbce55e978f64736f6c634300081c0033","sourceMap":"622:20989:29:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;769:75;;;:::i;:::-;;19884:912;;;;;;:::i;:::-;;:::i;12902:489::-;;;;;;:::i;:::-;;:::i;2907:134:6:-;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9175:819:29;;;;;;:::i;:::-;;:::i;12266:632::-;;;;;;:::i;:::-;;:::i;5077:1050::-;;;;;;:::i;:::-;;:::i;3823:151:6:-;;;:::i;:::-;;;;;;;:::i;14884:506:29:-;;;;;;:::i;:::-;;:::i;15394:723::-;;;;;;:::i;:::-;;:::i;14387:493::-;;;;;;:::i;:::-;;:::i;3684:133:6:-;;;:::i;3385:141::-;;;:::i;18992:453:29:-;;;;;;:::i;:::-;;:::i;2717:901::-;;;;;;:::i;:::-;;:::i;1327:773::-;;;;;;:::i;:::-;;:::i;2104:609::-;;;;;;:::i;:::-;;:::i;19449:431::-;;;;;;:::i;:::-;;:::i;8568:603::-;;;;;;:::i;:::-;;:::i;3193:186:6:-;;;:::i;:::-;;;;;;;:::i;11860:402:29:-;;;;;;:::i;:::-;;:::i;17143:469::-;;;;;;:::i;:::-;;:::i;725:39::-;;;;;;;;;;;;;;;15085:42:33;15073:55;;;15055:74;;15043:2;15028:18;725:39:29;14876:259:33;16121:1018:29;;;;;;:::i;:::-;;:::i;10651:926::-;;;;;;:::i;:::-;;:::i;3047:140:6:-;;;:::i;:::-;;;;;;;:::i;20800:808:29:-;;;;;;:::i;:::-;;:::i;3532:146:6:-;;;:::i;:::-;;;;;;;:::i;6131:1125:29:-;;;;;;:::i;:::-;;:::i;13886:497::-;;;;;;:::i;:::-;;:::i;18068:448::-;;;;;;:::i;:::-;;:::i;2754:147:6:-;;;:::i;2459:141::-;;;:::i;1306:195:1:-;;;:::i;:::-;;;18437:14:33;;18430:22;18412:41;;18400:2;18385:18;1306:195:1;18272:187:33;4151:922:29;;;;;;:::i;:::-;;:::i;11602:254::-;;;;;;:::i;:::-;;:::i;9998:649::-;;;;;;:::i;:::-;;:::i;17616:448::-;;;;;;:::i;:::-;;:::i;869:454::-;;;;;;:::i;:::-;;:::i;2606:142:6:-;;;:::i;18520:468:29:-;;;;;;:::i;:::-;;:::i;7260:1304::-;;;;;;:::i;:::-;;:::i;13395:487::-;;;;;;:::i;:::-;;:::i;1065:26:13:-;;;;;;;;;3622:525:29;;;;;;:::i;:::-;;:::i;769:75::-;810:29;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;799:8;;:40;;;;;;;;;;;;;;;;;;769:75::o;19884:912::-;20047:30;;;;;:9;20057:19;;;;20047:30;;;18412:41:33;336:42:0;;20047:9:29;;18385:18:33;;20047:30:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20093:16:29;;20083:31;;;;;20093:20;;;20083:31;;;18412:41:33;336:42:0;;-1:-1:-1;20083:9:29;;-1:-1:-1;18385:18:33;;20083:31:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20162:2;20143:9;:16;:21;20139:89;;;20211:2;20200:9;20193:21;20139:89;20245:35;20270:9;20245:24;:35::i;:::-;20233:47;;20299:42;20305:10;20317:1;20339;20320:9;:16;:20;;;;:::i;:::-;20299:5;:42::i;:::-;20286:55;;20348:17;20368:33;20379:14;20395:5;20368:10;:33::i;:::-;20408:20;;;;;15085:42:33;15073:55;;20408:20:29;;;15055:74:33;20348:53:29;;-1:-1:-1;336:42:0;;20408:13:29;;15028:18:33;;20408:20:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20434:8:29;;:37;;;;;19946:66:33;19934:79;;20434:37:29;;;19916:98:33;20434:8:29;;;;;;;-1:-1:-1;20434:21:29;;-1:-1:-1;19889:18:33;;20434:37:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;20482:9;20477:109;20497:9;:16;20493:1;:20;20477:109;;;20528:8;;;;;;;;;;;:26;;;20555:9;20566;20576:1;20566:12;;;;;;;;:::i;:::-;;;;;;;20528:51;;;;;;;;;;;;;;;20623:25:33;;;20679:2;20664:18;;20657:34;20611:2;20596:18;;20449:248;20528:51:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20515:3:29;;;;;-1:-1:-1;20477:109:29;;-1:-1:-1;20477:109:29;;;336:42:0;20591:12:29;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20612:73:29;;;;;20628:56;20612:73;;;20846:98:33;336:42:0;;-1:-1:-1;20612:15:29;;-1:-1:-1;20819:18:33;;20612:73:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20691:15:29;;;;;15085:42:33;15073:55;;20691:15:29;;;15055:74:33;336:42:0;;-1:-1:-1;20691:8:29;;-1:-1:-1;15028:18:33;;20691:15:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20712:8;;;;;;;;;;;:29;;;20742:9;20753;20763:10;20753:21;;;;;;;;:::i;:::-;;;;;;;20776:10;20789:1;20776:14;;;;:::i;:::-;20712:79;;;;;;;;;;;;;21287:25:33;;;;21328:18;;;21321:34;;;;21371:18;;;21364:34;21260:18;;20712:79:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20041:755;19884:912;;;;:::o;12902:489::-;13010:28;;;;;:9;13020:17;;;;;;;;13010:28;;;18412:41:33;336:42:0;;13010:9:29;;18385:18:33;;13010:28:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13044:30:29;;;;;:9;13054:19;;;;13044:30;;;18412:41:33;336:42:0;;-1:-1:-1;13044:9:29;;-1:-1:-1;18385:18:33;;13044:30:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13080:33:29;;;;;:9;13090:22;;;;13080:33;;;18412:41:33;336:42:0;;-1:-1:-1;13080:9:29;;-1:-1:-1;18385:18:33;;13080:33:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13120:17;13140:33;13151:14;13167:5;13140:10;:33::i;:::-;13180:15;;;;;15085:42:33;15073:55;;13180:15:29;;;15055:74:33;13120:53:29;;-1:-1:-1;336:42:0;;13180:8:29;;15028:18:33;;13180:15:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13201:8:29;;:37;;;;;19946:66:33;19934:79;;13201:37:29;;;19916:98:33;13201:8:29;;;;;;;-1:-1:-1;13201:21:29;;-1:-1:-1;19889:18:33;;13201:37:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;13245:66:29;;;;;13261:49;13245:66;;;20846:98:33;336:42:0;;13245:15:29;;20819:18:33;;13245:66:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13317:18:29;;;;;15085:42:33;15073:55;;13317:18:29;;;15055:74:33;336:42:0;;-1:-1:-1;13317:8:29;;-1:-1:-1;15028:18:33;;13317::29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13341:8:29;;:45;;;;;;;;21583:25:33;;;13341:8:29;21644:55:33;;;21624:18;;;21617:83;13341:8:29;;;;;;;;-1:-1:-1;13341:24:29;;-1:-1:-1;21556:18:33;;13341:45:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13004:387;12902:489;;;:::o;2907:134:6:-;2954:33;3018:16;2999:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2907:134;:::o;9175:819:29:-;9364:30;;;;;:9;9374:19;;;;9364:30;;;18412:41:33;336:42:0;;9364:9:29;;18385:18:33;;9364:30:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9421:14:29;;9441:25;;;;;9464:1;9451:14;;9441:25;;;18412:41:33;9421:14:29;;-1:-1:-1;336:42:0;;-1:-1:-1;9441:9:29;;18385:18:33;;9441:25:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9489:29:29;;;-1:-1:-1;9530:15:29;;9559:143;9596:1;9579:7;:14;:18;;;;:::i;:::-;9575:1;:22;9559:143;;;9629:7;9637:5;:1;9641;9637:5;:::i;:::-;9629:14;;;;;;;;:::i;:::-;;;;;;;9616:7;9624:1;9616:10;;;;;;;;:::i;:::-;;;;;;;:27;9612:84;;;9668:4;9655:17;;9682:5;;9612:84;9599:3;;9559:143;;;-1:-1:-1;9707:21:29;;;;;18437:14:33;;18430:22;9707:21:29;;;18412:41:33;336:42:0;;9707:9:29;;18385:18:33;;9707:21:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9735:20:29;;;;;15085:42:33;15073:55;;9735:20:29;;;15055:74:33;336:42:0;;-1:-1:-1;9735:13:29;;-1:-1:-1;15028:18:33;;9735:20:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9781:8:29;;:37;;;;;19946:66:33;19934:79;;9781:37:29;;;19916:98:33;9761:17:29;;-1:-1:-1;9781:8:29;;;;;;;-1:-1:-1;9781:21:29;;19889:18:33;;9781:37:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9825:73;;;;;9841:56;9825:73;;;20846:98:33;9761:57:29;;-1:-1:-1;336:42:0;;9825:15:29;;20819:18:33;;9825:73:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9904:8:29;;:65;;;;;:8;;;;;;;-1:-1:-1;9904:34:29;;-1:-1:-1;9904:65:29;;9939:9;;9950;;9961:7;;9904:65;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;336:42:0;9975:12:29;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9358:636;;;9175:819;;;;:::o;12266:632::-;12374:29;;;;;:9;12384:18;;;;;;;;12374:29;;;18412:41:33;336:42:0;;12374:9:29;;18385:18:33;;12374:29:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12409:30:29;;;;;:9;12419:19;;;;12409:30;;;18412:41:33;336:42:0;;-1:-1:-1;12409:9:29;;-1:-1:-1;18385:18:33;;12409:30:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12445:34:29;;;;;:9;12455:23;;;;12445:34;;;18412:41:33;336:42:0;;-1:-1:-1;12445:9:29;;-1:-1:-1;18385:18:33;;12445:34:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12486:17;12506:33;12517:14;12533:5;12506:10;:33::i;:::-;12546:15;;;;;15085:42:33;15073:55;;12546:15:29;;;15055:74:33;12486:53:29;;-1:-1:-1;336:42:0;;12546:8:29;;15028:18:33;;12546:15:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12567:8:29;;:37;;;;;19946:66:33;19934:79;;12567:37:29;;;19916:98:33;12567:8:29;;;;;;;-1:-1:-1;12567:21:29;;-1:-1:-1;19889:18:33;;12567:37:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;12657:15:29;;;;;15085:42:33;15073:55;;12657:15:29;;;15055:74:33;336:42:0;;12657:8:29;;15028:18:33;;12657:15:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12678:8:29;;:46;;;;;;;;21583:25:33;;;12678:8:29;21644:55:33;;;21624:18;;;21617:83;12678:8:29;;;;;;;;-1:-1:-1;12678:24:29;;-1:-1:-1;21556:18:33;;12678:46:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12757:72:29;;;;;12773:55;12757:72;;;20846:98:33;336:42:0;;-1:-1:-1;12757:15:29;;-1:-1:-1;20819:18:33;;12757:72:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12835:15:29;;;;;15085:42:33;15073:55;;12835:15:29;;;15055:74:33;336:42:0;;-1:-1:-1;12835:8:29;;-1:-1:-1;15028:18:33;;12835:15:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12856:8:29;;:37;;;;;19946:66:33;19934:79;;12856:37:29;;;19916:98:33;12856:8:29;;;;;;;-1:-1:-1;12856:21:29;;-1:-1:-1;19889:18:33;;12856:37:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12368:530;12266:632;;;:::o;5077:1050::-;5198:30;;;;;:9;5208:19;;;;5198:30;;;18412:41:33;336:42:0;;5198:9:29;;18385:18:33;;5198:30:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5244:11:29;;5234:26;;;;;5244:15;;;5234:26;;;18412:41:33;336:42:0;;-1:-1:-1;5234:9:29;;-1:-1:-1;18385:18:33;;5234:26:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5303:2;5289:4;:11;:16;5285:79;;;5347:2;5341:4;5334:16;5285:79;5376:29;5400:4;5376:23;:29::i;:::-;5369:36;;5420:33;5426:6;5434:1;5451;5437:4;:11;:15;;;;:::i;5420:33::-;5411:42;;5460:17;5480:33;5491:14;5507:5;5480:10;:33::i;:::-;5520:20;;;;;15085:42:33;15073:55;;5520:20:29;;;15055:74:33;5460:53:29;;-1:-1:-1;336:42:0;;5520:13:29;;15028:18:33;;5520:20:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5546:8:29;;:37;;;;;19946:66:33;19934:79;;5546:37:29;;;19916:98:33;5546:8:29;;;;;;;-1:-1:-1;5546:21:29;;-1:-1:-1;19889:18:33;;5546:37:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5594:9;5589:95;5609:4;:11;5605:1;:15;5589:95;;;5635:8;;;;;;;;;;;:22;;;5658:9;5669:4;5674:1;5669:7;;;;;;;;:::i;:::-;;;;;;;5635:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5622:3:29;;;;;-1:-1:-1;5589:95:29;;-1:-1:-1;5589:95:29;;;5690:15;5708:22;5717:4;5722:6;5717:12;;;;;;;;:::i;:::-;;;;;;;5708:8;:22::i;:::-;5690:40;;336:42:0;5736:13:29;;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5762:62:29;;5816:7;;-1:-1:-1;5805:9:29;;-1:-1:-1;5762:62:29;;;;;5831:8;;;;;;;;;;;:25;;;5857:9;5868:4;5873:6;5868:12;;;;;;;;:::i;:::-;;;;;;;5831:50;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;336:42:0;5887:12:29;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5938:8:29;;:35;;;;;;;;23437:25:33;;;5908:27:29;;-1:-1:-1;5938:8:29;;;;;;;-1:-1:-1;5938:24:29;;23410:18:33;;5938:35:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5908:65;;5979:44;5988:10;:17;6021:1;6007:4;:11;:15;;;;:::i;:::-;5979:8;:44::i;:::-;6034:9;6029:94;6049:10;:17;6045:1;:21;6029:94;;;6081:35;6093:10;6104:1;6093:13;;;;;;;;:::i;:::-;;;;;;;6108:7;6081:11;:35::i;:::-;6068:3;;6029:94;;3823:151:6;3872:42;3948:19;3926:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3823:151;:::o;14884:506:29:-;15041:30;;;;;:9;15051:19;;;;15041:30;;;18412:41:33;336:42:0;;15041:9:29;;18385:18:33;;15041:30:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15077:28:29;;;;;:9;15087:17;;;;;;;;15077:28;;;18412:41:33;336:42:0;;-1:-1:-1;15077:9:29;;-1:-1:-1;18385:18:33;;15077:28:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15112:17;15132:33;15143:14;15159:5;15132:10;:33::i;:::-;15172:15;;;;;15085:42:33;15073:55;;15172:15:29;;;15055:74:33;15112:53:29;;-1:-1:-1;336:42:0;;15172:8:29;;15028:18:33;;15172:15:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15193:8:29;;:37;;;;;19946:66:33;19934:79;;15193:37:29;;;19916:98:33;15193:8:29;;;;;;;-1:-1:-1;15193:21:29;;-1:-1:-1;19889:18:33;;15193:37:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;15237:66:29;;;;;15253:49;15237:66;;;20846:98:33;336:42:0;;15237:15:29;;20819:18:33;;15237:66:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15309:18:29;;;;;15085:42:33;15073:55;;15309:18:29;;;15055:74:33;336:42:0;;-1:-1:-1;15309:8:29;;-1:-1:-1;15028:18:33;;15309::29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15333:8:29;;:52;;;;;;;;21287:25:33;;;21328:18;;;21321:34;;;15383:1:29;21371:18:33;;;21364:34;15333:8:29;;;;;;;-1:-1:-1;15333:29:29;;-1:-1:-1;21260:18:33;;15333:52:29;21085:319:33;15394:723:29;15564:30;;;;;:9;15574:19;;;;15564:30;;;18412:41:33;336:42:0;;15564:9:29;;18385:18:33;;15564:30:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15600:28:29;;;;;:9;15610:17;;;;;;;;15600:28;;;18412:41:33;336:42:0;;-1:-1:-1;15600:9:29;;-1:-1:-1;18385:18:33;;15600:28:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15644:16:29;;15634:31;;;;;15644:20;;;15634:31;;;18412:41:33;336:42:0;;-1:-1:-1;15634:9:29;;-1:-1:-1;18385:18:33;;15634:31:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15713:2;15694:9;:16;:21;15690:89;;;15762:2;15751:9;15744:21;15690:89;15796:35;15821:9;15796:24;:35::i;:::-;15784:47;;15838:17;15858:33;15869:14;15885:5;15858:10;:33::i;:::-;15898:15;;;;;15085:42:33;15073:55;;15898:15:29;;;15055:74:33;15838:53:29;;-1:-1:-1;336:42:0;;15898:8:29;;15028:18:33;;15898:15:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15919:8:29;;:37;;;;;19946:66:33;19934:79;;15919:37:29;;;19916:98:33;15919:8:29;;;;;;;-1:-1:-1;15919:21:29;;-1:-1:-1;19889:18:33;;15919:37:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;15963:66:29;;;;;15979:49;15963:66;;;20846:98:33;336:42:0;;15963:15:29;;20819:18:33;;15963:66:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16035:18:29;;;;;15085:42:33;15073:55;;16035:18:29;;;15055:74:33;336:42:0;;-1:-1:-1;16035:8:29;;-1:-1:-1;15028:18:33;;16035::29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16059:8:29;;:53;;;;;:8;;;;;;;-1:-1:-1;16059:31:29;;-1:-1:-1;16059:53:29;;16091:9;;16102;;16059:53;;;:::i;14387:493::-;14542:30;;;;;:9;14552:19;;;;14542:30;;;18412:41:33;336:42:0;;14542:9:29;;18385:18:33;;14542:30:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14578:28:29;;;;;:9;14588:17;;;;;;;;14578:28;;;18412:41:33;336:42:0;;-1:-1:-1;14578:9:29;;-1:-1:-1;18385:18:33;;14578:28:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14613:17;14633:33;14644:14;14660:5;14633:10;:33::i;:::-;14673:15;;;;;15085:42:33;15073:55;;14673:15:29;;;15055:74:33;14613:53:29;;-1:-1:-1;336:42:0;;14673:8:29;;15028:18:33;;14673:15:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14694:8:29;;:37;;;;;19946:66:33;19934:79;;14694:37:29;;;19916:98:33;14694:8:29;;;;;;;-1:-1:-1;14694:21:29;;-1:-1:-1;19889:18:33;;14694:37:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;14738:66:29;;;;;14754:49;14738:66;;;20846:98:33;336:42:0;;14738:15:29;;20819:18:33;;14738:66:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14810:18:29;;;;;15085:42:33;15073:55;;14810:18:29;;;15055:74:33;336:42:0;;-1:-1:-1;14810:8:29;;-1:-1:-1;15028:18:33;;14810::29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14834:8:29;;:41;;;;;:8;;;;;;;-1:-1:-1;14834:25:29;;-1:-1:-1;14834:41:29;;14860:9;;14871:3;;14834:41;;;:::i;3684:133:6:-;3730:33;3794:16;3775:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3684:133;:::o;3385:141::-;3433:35;3501:18;3480:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3385:141;:::o;18992:453:29:-;19103:30;;;;;:9;19113:19;;;;19103:30;;;18412:41:33;336:42:0;;19103:9:29;;18385:18:33;;19103:30:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19149:17:29;;19139:32;;;;;19149:21;;;19139:32;;;18412:41:33;336:42:0;;-1:-1:-1;19139:9:29;;-1:-1:-1;18385:18:33;;19139:32:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19178:17;19198:33;19209:14;19225:5;19198:10;:33::i;:::-;19238:15;;;;;15085:42:33;15073:55;;19238:15:29;;;15055:74:33;19178:53:29;;-1:-1:-1;336:42:0;;19238:8:29;;15028:18:33;;19238:15:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19259:8:29;;:37;;;;;19946:66:33;19934:79;;19259:37:29;;;19916:98:33;19259:8:29;;;;;;;-1:-1:-1;19259:21:29;;-1:-1:-1;19889:18:33;;19259:37:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;19303:69:29;;;;;19319:52;19303:69;;;20846:98:33;336:42:0;;19303:15:29;;20819:18:33;;19303:69:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19378:15:29;;;;;15085:42:33;15073:55;;19378:15:29;;;15055:74:33;336:42:0;;-1:-1:-1;19378:8:29;;-1:-1:-1;15028:18:33;;19378:15:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19399:8:29;;:41;;;;;:8;;;;;;;-1:-1:-1;19399:25:29;;-1:-1:-1;19399:41:29;;19425:9;;19436:3;;19399:41;;;:::i;2717:901::-;2824:30;;;;;:9;2834:19;;;;2824:30;;;18412:41:33;336:42:0;;2824:9:29;;18385:18:33;;2824:30:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2870:11:29;;2860:26;;;;;2870:15;;;2860:26;;;18412:41:33;336:42:0;;-1:-1:-1;2860:9:29;;-1:-1:-1;18385:18:33;;2860:26:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2929:2;2915:4;:11;:16;2911:79;;;2973:2;2967:4;2960:16;2911:79;3002:29;3026:4;3002:23;:29::i;:::-;2995:36;;3038:17;3058:33;3069:14;3085:5;3058:10;:33::i;:::-;3098:20;;;;;15085:42:33;15073:55;;3098:20:29;;;15055:74:33;3038:53:29;;-1:-1:-1;336:42:0;;3098:13:29;;15028:18:33;;3098:20:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3124:8:29;;:37;;;;;19946:66:33;19934:79;;3124:37:29;;;19916:98:33;3124:8:29;;;;;;;-1:-1:-1;3124:21:29;;-1:-1:-1;19889:18:33;;3124:37:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3173:9;3168:151;3188:4;:11;3184:1;:15;3168:151;;;336:42:0;3214:13:29;;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3294:17;3303:4;3308:1;3303:7;;;;;;;;:::i;3294:17::-;3242:70;;3283:9;;3242:70;;;;;3201:3;;3168:151;;;-1:-1:-1;3325:8:29;;:44;;;;;:8;;;;;;;:27;;:44;;3353:9;;3364:4;;3325:44;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;336:42:0;3375:12:29;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3426:8:29;;:35;;;;;;;;23437:25:33;;;3396:27:29;;-1:-1:-1;3426:8:29;;;;;;;-1:-1:-1;3426:24:29;;23410:18:33;;3426:35:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3396:65;;3467:40;3476:10;:17;3495:4;:11;3467:8;:40::i;:::-;3518:9;3513:101;3533:10;:17;3529:1;:21;3513:101;;;3565:42;3574:10;3585:1;3574:13;;;;;;;;:::i;:::-;;;;;;;3589:17;3598:4;3603:1;3598:7;;;;;;;;:::i;3589:17::-;3565:8;:42::i;:::-;3552:3;;3513:101;;;;2818:800;;2717:901;;;:::o;1327:773::-;1444:30;;;;;:9;1454:19;;;;1444:30;;;18412:41:33;336:42:0;;1444:9:29;;18385:18:33;;1444:30:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1480:33:29;;;;;:9;1490:22;;;;1480:33;;;18412:41:33;336:42:0;;-1:-1:-1;1480:9:29;;-1:-1:-1;18385:18:33;;1480:33:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1519:28:29;;;;;:9;1529:17;;;;;;;;1519:28;;;18412:41:33;336:42:0;;-1:-1:-1;1519:9:29;;-1:-1:-1;18385:18:33;;1519:28:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1554:17;1574:33;1585:14;1601:5;1574:10;:33::i;:::-;1614:15;;;;;15085:42:33;15073:55;;1614:15:29;;;15055:74:33;1554:53:29;;-1:-1:-1;336:42:0;;1614:8:29;;15028:18:33;;1614:15:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1635:8:29;;:37;;;;;19946:66:33;19934:79;;1635:37:29;;;19916:98:33;1635:8:29;;;;;;;-1:-1:-1;1635:21:29;;-1:-1:-1;19889:18:33;;1635:37:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;336:42:0;1679:13:29;;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1705:69:29;;;;;;-1:-1:-1;1754:9:29;;-1:-1:-1;1705:69:29;;;;;1781:15;;;;;15085:42:33;15073:55;;1781:15:29;;;15055:74:33;336:42:0;;1781:8:29;;15028:18:33;;1781:15:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1802:8:29;;:45;;;;;;;;21583:25:33;;;1802:8:29;21644:55:33;;;21624:18;;;21617:83;1802:8:29;;;;;;;;-1:-1:-1;1802:24:29;;-1:-1:-1;21556:18:33;;1802:45:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1863:8:29;;:32;;;;;;;;23437:25:33;;;1854:52:29;;-1:-1:-1;1863:8:29;;;;;;;-1:-1:-1;1863:21:29;;23410:18:33;;1863:32:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1897:8;1854;:52::i;:::-;1964:18;;;;;15085:42:33;15073:55;;1964:18:29;;;15055:74:33;336:42:0;;1964:8:29;;15028:18:33;;1964::29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1988:8:29;;:46;;;;;;;;20623:25:33;;;20664:18;;;20657:34;;;1988:8:29;;;;;;;-1:-1:-1;1988:26:29;;-1:-1:-1;20596:18:33;;1988:46:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2049:8:29;;:35;;;;;;;;23437:25:33;;;2040:55:29;;-1:-1:-1;2049:8:29;;;;;;;-1:-1:-1;2049:24:29;;23410:18:33;;2049:35:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:42;2093:1;2040:8;:55::i;2104:609::-;2203:30;;;;;:9;2213:19;;;;2203:30;;;18412:41:33;336:42:0;;2203:9:29;;18385:18:33;;2203:30:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2249:17:29;;2239:32;;;;;2249:21;;;2239:32;;;18412:41:33;336:42:0;;-1:-1:-1;2239:9:29;;-1:-1:-1;18385:18:33;;2239:32:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2278:17;2298:33;2309:14;2325:5;2298:10;:33::i;:::-;2338:15;;;;;15085:42:33;15073:55;;2338:15:29;;;15055:74:33;2278:53:29;;-1:-1:-1;336:42:0;;2338:8:29;;15028:18:33;;2338:15:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2359:8:29;;:37;;;;;19946:66:33;19934:79;;2359:37:29;;;19916:98:33;2359:8:29;;;;;;;-1:-1:-1;2359:21:29;;-1:-1:-1;19889:18:33;;2359:37:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;336:42:0;2403:13:29;;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2481:13;2490:3;2481:8;:13::i;:::-;2429:66;;2470:9;;2429:66;;;;;2502:15;;;;;15085:42:33;15073:55;;2502:15:29;;;15055:74:33;336:42:0;;2502:8:29;;15028:18:33;;2502:15:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2523:8:29;;:38;;;;;:8;;;;;;;-1:-1:-1;2523:22:29;;-1:-1:-1;2523:38:29;;2546:9;;2557:3;;2523:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2592:8:29;;:35;;;;;;;;23437:25:33;;;2568:21:29;;-1:-1:-1;2592:8:29;;;;;;;-1:-1:-1;2592:24:29;;23410:18:33;;2592:35:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2568:59;;2640:30;2665:4;2640:24;:30::i;:::-;2633:37;;2676:32;2685:4;2690:1;2685:7;;;;;;;;:::i;:::-;;;;;;;2694:13;2703:3;2694:8;:13::i;19449:431::-;19562:30;;;;;:9;19572:19;;;;19562:30;;;18412:41:33;336:42:0;;19562:9:29;;18385:18:33;;19562:30:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19598:17;19618:33;19629:14;19645:5;19618:10;:33::i;:::-;19658:15;;;;;15085:42:33;15073:55;;19658:15:29;;;15055:74:33;19598:53:29;;-1:-1:-1;336:42:0;;19658:8:29;;15028:18:33;;19658:15:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19679:8:29;;:37;;;;;19946:66:33;19934:79;;19679:37:29;;;19916:98:33;19679:8:29;;;;;;;-1:-1:-1;19679:21:29;;-1:-1:-1;19889:18:33;;19679:37:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;19723:73:29;;;;;19739:56;19723:73;;;20846:98:33;336:42:0;;19723:15:29;;20819:18:33;;19723:73:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19802:15:29;;;;;15085:42:33;15073:55;;19802:15:29;;;15055:74:33;336:42:0;;-1:-1:-1;19802:8:29;;-1:-1:-1;15028:18:33;;19802:15:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19823:8:29;;:52;;;;;;;;21287:25:33;;;21328:18;;;21321:34;;;19873:1:29;21371:18:33;;;21364:34;19823:8:29;;;;;;;-1:-1:-1;19823:29:29;;-1:-1:-1;21260:18:33;;19823:52:29;21085:319:33;8568:603:29;8752:30;;;;;:9;8762:19;;;;8752:30;;;18412:41:33;336:42:0;;8752:9:29;;18385:18:33;;8752:30:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8798:16:29;;8788:31;;;;;8798:20;;;8788:31;;;18412:41:33;336:42:0;;-1:-1:-1;8788:9:29;;-1:-1:-1;18385:18:33;;8788:31:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8835:14:29;;8825:29;;;;;8835:18;;;8825:29;;;18412:41:33;336:42:0;;-1:-1:-1;8825:9:29;;-1:-1:-1;18385:18:33;;8825:29:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8888:16:29;;8870:14;;8860:45;;;;;8870:34;;;8860:45;;;18412:41:33;336:42:0;;-1:-1:-1;8860:9:29;;-1:-1:-1;18385:18:33;;8860:45:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8912:20:29;;;;;15085:42:33;15073:55;;8912:20:29;;;15055:74:33;336:42:0;;-1:-1:-1;8912:13:29;;-1:-1:-1;15028:18:33;;8912:20:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8958:8:29;;:37;;;;;19946:66:33;19934:79;;8958:37:29;;;19916:98:33;8938:17:29;;-1:-1:-1;8958:8:29;;;;;;;-1:-1:-1;8958:21:29;;19889:18:33;;8958:37:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9002:73;;;;;9018:56;9002:73;;;20846:98:33;8938:57:29;;-1:-1:-1;336:42:0;;9002:15:29;;20819:18:33;;9002:73:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9081:8:29;;:65;;;;;:8;;;;;;;-1:-1:-1;9081:34:29;;-1:-1:-1;9081:65:29;;9116:9;;9127;;9138:7;;9081:65;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;336:42:0;9152:12:29;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3193:186:6;3249:56;3346:26;3317:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11860:402:29;11952:30;;;;;:9;11962:19;;;;11952:30;;;18412:41:33;336:42:0;;11952:9:29;;18385:18:33;;11952:30:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11988:17;12008:33;12019:14;12035:5;12008:10;:33::i;:::-;12048:15;;;;;15085:42:33;15073:55;;12048:15:29;;;15055:74:33;11988:53:29;;-1:-1:-1;336:42:0;;12048:8:29;;15028:18:33;;12048:15:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12069:8:29;;:37;;;;;19946:66:33;19934:79;;12069:37:29;;;19916:98:33;12069:8:29;;;;;;;-1:-1:-1;12069:21:29;;-1:-1:-1;19889:18:33;;12069:37:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;12113:15:29;;;;;15085:42:33;15073:55;;12113:15:29;;;15055:74:33;336:42:0;;12113:8:29;;15028:18:33;;12113:15:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12134:70:29;;;;;12150:53;12134:70;;;20846:98:33;336:42:0;;-1:-1:-1;12134:15:29;;-1:-1:-1;20819:18:33;;12134:70:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12210:8:29;;:47;;;;;;;;21583:25:33;;;12254:1:29;21624:18:33;;;21617:83;12210:8:29;;;;;;;-1:-1:-1;12210:24:29;;-1:-1:-1;21556:18:33;;12210:47:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11946:316;11860:402;;:::o;17143:469::-;17260:30;;;;;:9;17270:19;;;;17260:30;;;18412:41:33;336:42:0;;17260:9:29;;18385:18:33;;17260:30:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17306:17:29;;17296:32;;;;;17306:21;;;17296:32;;;18412:41:33;336:42:0;;-1:-1:-1;17296:9:29;;-1:-1:-1;18385:18:33;;17296:32:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17335:20:29;;;;;15085:42:33;15073:55;;17335:20:29;;;15055:74:33;336:42:0;;-1:-1:-1;17335:13:29;;-1:-1:-1;15028:18:33;;17335:20:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17381:8:29;;:37;;;;;19946:66:33;19934:79;;17381:37:29;;;19916:98:33;17361:17:29;;-1:-1:-1;17381:8:29;;;;;;;-1:-1:-1;17381:21:29;;19889:18:33;;17381:37:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17424:8;;:38;;;;;17361:57;;-1:-1:-1;17424:8:29;;;;;;:22;;:38;;17361:57;;17458:3;;17424:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17469:74:29;;;;;17485:57;17469:74;;;20846:98:33;336:42:0;;-1:-1:-1;17469:15:29;;-1:-1:-1;20819:18:33;;17469:74:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17549:8:29;;:38;;;;;:8;;;;;;;-1:-1:-1;17549:22:29;;-1:-1:-1;17549:38:29;;17572:9;;17583:3;;17549:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;336:42:0;17593:12:29;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:1018;16294:30;;;;;:9;16304:19;;;;16294:30;;;18412:41:33;336:42:0;;16294:9:29;;18385:18:33;;16294:30:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16330:28:29;;;;;:9;16340:17;;;;;;;;16330:28;;;18412:41:33;336:42:0;;-1:-1:-1;16330:9:29;;-1:-1:-1;18385:18:33;;16330:28:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16374:16:29;;16364:31;;;;;16374:20;;;16364:31;;;18412:41:33;336:42:0;;-1:-1:-1;16364:9:29;;-1:-1:-1;18385:18:33;;16364:31:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16443:2;16424:9;:16;:21;16420:89;;;16492:2;16481:9;16474:21;16420:89;16526:35;16551:9;16526:24;:35::i;:::-;16514:47;;16567:24;16608:9;:16;16594:31;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16594:31:29;;16567:58;;16636:9;16631:72;16651:9;:16;16647:1;:20;16631:72;;;16695:1;16682:7;16690:1;16682:10;;;;;;;;:::i;:::-;;;;;;;;;;:14;16669:3;;16631:72;;;;16709:17;16729:33;16740:14;16756:5;16729:10;:33::i;:::-;16769:20;;;;;15085:42:33;15073:55;;16769:20:29;;;15055:74:33;16709:53:29;;-1:-1:-1;336:42:0;;16769:13:29;;15028:18:33;;16769:20:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16795:8:29;;:37;;;;;19946:66:33;19934:79;;16795:37:29;;;19916:98:33;16795:8:29;;;;;;;-1:-1:-1;16795:21:29;;-1:-1:-1;19889:18:33;;16795:37:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16843:9;16838:109;16858:9;:16;16854:1;:20;16838:109;;;16889:8;;;;;;;;;;;:26;;;16916:9;16927;16937:1;16927:12;;;;;;;;:::i;:::-;;;;;;;16889:51;;;;;;;;;;;;;;;20623:25:33;;;20679:2;20664:18;;20657:34;20611:2;20596:18;;20449:248;16889:51:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16876:3:29;;;;;-1:-1:-1;16838:109:29;;-1:-1:-1;16838:109:29;;;336:42:0;16952:12:29;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16973:66:29;;;;;16989:49;16973:66;;;20846:98:33;336:42:0;;-1:-1:-1;16973:15:29;;-1:-1:-1;20819:18:33;;16973:66:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17045:18:29;;;;;15085:42:33;15073:55;;17045:18:29;;;15055:74:33;336:42:0;;-1:-1:-1;17045:8:29;;-1:-1:-1;15028:18:33;;17045::29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17069:8:29;;:65;;;;;:8;;;;;;;-1:-1:-1;17069:34:29;;-1:-1:-1;17069:65:29;;17104:9;;17115;;17126:7;;17069:65;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16288:851;;16121:1018;;;;:::o;10651:926::-;10823:30;;;;;:9;10833:19;;;;10823:30;;;18412:41:33;336:42:0;;10823:9:29;;18385:18:33;;10823:30:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10869:11:29;;10859:26;;;;;10869:15;;;10859:26;;;18412:41:33;336:42:0;;-1:-1:-1;10859:9:29;;-1:-1:-1;18385:18:33;;10859:26:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10928:2;10914:4;:11;:16;10910:79;;;10972:2;10966:4;10959:16;10910:79;11001:29;11025:4;11001:23;:29::i;:::-;10994:36;;11045:33;11051:6;11059:1;11076;11062:4;:11;:15;;;;:::i;11045:33::-;11036:42;;11085:17;11105:33;11116:14;11132:5;11105:10;:33::i;:::-;11085:53;;11145:30;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11145:30:29;11216:4;11221:6;11216:12;;;;;;;;:::i;:::-;;;;;;;;;;;11181:20;;;;:47;11235:20;;;;;15085:42:33;15073:55;;11235:20:29;;;15055:74:33;336:42:0;;11235:13:29;;15028:18:33;;11235:20:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11261:8:29;;:37;;;;;19946:66:33;19934:79;;11261:37:29;;;19916:98:33;11261:8:29;;;;;;;-1:-1:-1;11261:21:29;;-1:-1:-1;19889:18:33;;11261:37:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11309:9;11304:95;11324:4;:11;11320:1;:15;11304:95;;;11350:8;;;;;;;;;;;:22;;;11373:9;11384:4;11389:1;11384:7;;;;;;;;:::i;:::-;;;;;;;11350:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11337:3:29;;;;;-1:-1:-1;11304:95:29;;-1:-1:-1;11304:95:29;;;336:42:0;11404:12:29;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11441:8:29;;:60;;;;;11425:13;;-1:-1:-1;11441:8:29;;;;;;;-1:-1:-1;11441:28:29;;:60;;11470:6;;11478:11;;11491:9;;11441:60;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11425:76;-1:-1:-1;11507:65:29;11425:76;11523:48;:11;11564:6;11523:40;:48::i;3047:140:6:-;3095:34;3162:18;3141:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20800:808:29;20995:30;;;;;:9;21005:19;;;;20995:30;;;18412:41:33;336:42:0;;20995:9:29;;18385:18:33;;20995:30:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;336:42:0;21031:9:29;;;21066:1;21047:8;21041:22;:26;:58;;;;;21098:1;21077:10;21071:24;:28;21041:58;21031:69;;;;;;;;;;;;;18437:14:33;18430:22;18412:41;;18400:2;18385:18;;18272:187;21031:69:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;21146:28:29;;;;;;;;;;21116:26;;;;;;;;;21106:69;;;;;21116:58;;;21106:69;;;18412:41:33;336:42:0;;-1:-1:-1;21106:9:29;;-1:-1:-1;18385:18:33;;21106:69:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21182:17;21202:33;21213:14;21229:5;21202:10;:33::i;:::-;21242:15;;;;;15085:42:33;15073:55;;21242:15:29;;;15055:74:33;21182:53:29;;-1:-1:-1;336:42:0;;21242:8:29;;15028:18:33;;21242:15:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;21263:8:29;;:37;;;;;19946:66:33;19934:79;;21263:37:29;;;19916:98:33;21263:8:29;;;;;;;-1:-1:-1;21263:21:29;;-1:-1:-1;19889:18:33;;21263:37:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;21307:30;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21307:30:29;21343:20;;;;:45;;;21395:15;;;;;15085:42:33;15073:55;;21395:15:29;;;15055:74:33;336:42:0;;21395:8:29;;15028:18:33;;21395:15:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;21416:8:29;;:43;;;;;:8;;;;;;;-1:-1:-1;21416:22:29;;-1:-1:-1;21416:43:29;;21439:9;;21450:8;;21416:43;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;21466:71:29;;;;;21482:54;21466:71;;;20846:98:33;336:42:0;;-1:-1:-1;21466:15:29;;-1:-1:-1;20819:18:33;;21466:71:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;21543:8:29;;:60;;;;;:8;;;;;;;-1:-1:-1;21543:28:29;;-1:-1:-1;21543:60:29;;21572:6;;21580:11;;21593:9;;21543:60;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;3532:146:6:-;3580:40;3653:18;3632:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6131:1125:29;6286:30;;;;;:9;6296:19;;;;6286:30;;;18412:41:33;336:42:0;;6286:9:29;;18385:18:33;;6286:30:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6332:16:29;;6322:31;;;;;6332:20;;;6322:31;;;18412:41:33;336:42:0;;-1:-1:-1;6322:9:29;;-1:-1:-1;18385:18:33;;6322:31:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6401:2;6382:9;:16;:21;6378:89;;;6450:2;6439:9;6432:21;6378:89;6484:35;6509:9;6484:24;:35::i;:::-;6472:47;;6538:42;6544:10;6556:1;6578;6559:9;:16;:20;;;;:::i;6538:42::-;6525:55;;6587:17;6607:33;6618:14;6634:5;6607:10;:33::i;:::-;6647:20;;;;;15085:42:33;15073:55;;6647:20:29;;;15055:74:33;6587:53:29;;-1:-1:-1;336:42:0;;6647:13:29;;15028:18:33;;6647:20:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6673:8:29;;:37;;;;;19946:66:33;19934:79;;6673:37:29;;;19916:98:33;6673:8:29;;;;;;;-1:-1:-1;6673:21:29;;-1:-1:-1;19889:18:33;;6673:37:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6721:9;6716:109;6736:9;:16;6732:1;:20;6716:109;;;6767:8;;;;;;;;;;;:26;;;6794:9;6805;6815:1;6805:12;;;;;;;;:::i;:::-;;;;;;;6767:51;;;;;;;;;;;;;;;20623:25:33;;;20679:2;20664:18;;20657:34;20611:2;20596:18;;20449:248;6767:51:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6754:3:29;;;;;-1:-1:-1;6716:109:29;;-1:-1:-1;6716:109:29;;;336:42:0;6831:13:29;;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6911:9;6921:10;6911:21;;;;;;;;:::i;:::-;;;;;;;6900:9;6857:76;;;;;;;;;;6940:8;;;;;;;;;;;:29;;;6970:9;6981;6991:10;6981:21;;;;;;;;:::i;:::-;;;;;;;7004:10;6940:75;;;;;;;;;;;;;;;;21287:25:33;;;21343:2;21328:18;;21321:34;;;;21386:2;21371:18;;21364:34;21275:2;21260:18;;21085:319;6940:75:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;336:42:0;7021:12:29;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7066:8:29;;:35;;;;;;;;23437:25:33;;;7042:21:29;;-1:-1:-1;7066:8:29;;;;;;;-1:-1:-1;7066:24:29;;23410:18:33;;7066:35:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7042:59;;7107:43;7116:4;:11;7148:1;7129:9;:16;:20;;;;:::i;7107:43::-;7161:9;7156:96;7176:4;:11;7172:1;:15;7156:96;;;7202:43;7214:4;7219:1;7214:7;;;;;;;;:::i;:::-;;;;;;;7223:9;7233:10;7223:21;;;;;;;;:::i;:::-;;;;;;;7202:11;:43::i;:::-;7189:3;;7156:96;;13886:497;14040:30;;;;;:9;14050:19;;;;14040:30;;;18412:41:33;336:42:0;;14040:9:29;;18385:18:33;;14040:30:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14076:28:29;;;;;:9;14086:17;;;;;;;;14076:28;;;18412:41:33;336:42:0;;-1:-1:-1;14076:9:29;;-1:-1:-1;18385:18:33;;14076:28:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14111:17;14131:33;14142:14;14158:5;14131:10;:33::i;:::-;14171:15;;;;;15085:42:33;15073:55;;14171:15:29;;;15055:74:33;14111:53:29;;-1:-1:-1;336:42:0;;14171:8:29;;15028:18:33;;14171:15:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14192:8:29;;:37;;;;;19946:66:33;19934:79;;14192:37:29;;;19916:98:33;14192:8:29;;;;;;;-1:-1:-1;14192:21:29;;-1:-1:-1;19889:18:33;;14192:37:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;14236:66:29;;;;;14252:49;14236:66;;;20846:98:33;336:42:0;;14236:15:29;;20819:18:33;;14236:66:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14308:18:29;;;;;15085:42:33;15073:55;;14308:18:29;;;15055:74:33;336:42:0;;-1:-1:-1;14308:8:29;;-1:-1:-1;15028:18:33;;14308::29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14332:8:29;;:46;;;;;;;;20623:25:33;;;20664:18;;;20657:34;;;14332:8:29;;;;;;;-1:-1:-1;14332:26:29;;-1:-1:-1;20596:18:33;;14332:46:29;20449:248:33;18068:448:29;18189:30;;;;;:9;18199:19;;;;18189:30;;;18412:41:33;336:42:0;;18189:9:29;;18385:18:33;;18189:30:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18225:20:29;;;;;15085:42:33;15073:55;;18225:20:29;;;15055:74:33;336:42:0;;-1:-1:-1;18225:13:29;;-1:-1:-1;15028:18:33;;18225:20:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18271:8:29;;:37;;;;;19946:66:33;19934:79;;18271:37:29;;;19916:98:33;18251:17:29;;-1:-1:-1;18271:8:29;;;;;;;-1:-1:-1;18271:21:29;;19889:18:33;;18271:37:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18314:8;;18251:57;;-1:-1:-1;18314:8:29;;;;;:26;18251:57;18352:13;18361:3;18352:8;:13::i;:::-;18314:52;;;;;;;;;;;;;20623:25:33;;;;20664:18;;;20657:34;20596:18;;18314:52:29;20449:248:33;2754:147:6;2803:40;2876:18;2855:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2459:141;2508:34;2575:18;2554:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1306:195:1;1365:7;;1345:4;;1365:7;;1361:134;;;-1:-1:-1;1395:4:1;;1306:195::o;1361:134::-;1437:33;;;;;:7;:33;;;27680:74:33;;;1255:17:1;27770:18:33;;;27763:34;1482:1:1;;1437:7;;27653:18:33;;1437:33:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:47;;1430:54;;1306:195;:::o;4151:922:29:-;4268:30;;;;;:9;4278:19;;;;4268:30;;;18412:41:33;336:42:0;;4268:9:29;;18385:18:33;;4268:30:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4314:16:29;;4304:31;;;;;4314:20;;;4304:31;;;18412:41:33;336:42:0;;-1:-1:-1;4304:9:29;;-1:-1:-1;18385:18:33;;4304:31:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4383:2;4364:9;:16;:21;4360:89;;;4432:2;4421:9;4414:21;4360:89;4466:35;4491:9;4466:24;:35::i;:::-;4454:47;;4508:17;4528:33;4539:14;4555:5;4528:10;:33::i;:::-;4568:20;;;;;15085:42:33;15073:55;;4568:20:29;;;15055:74:33;4508:53:29;;-1:-1:-1;336:42:0;;4568:13:29;;15028:18:33;;4568:20:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4594:8:29;;:37;;;;;19946:66:33;19934:79;;4594:37:29;;;19916:98:33;4594:8:29;;;;;;;-1:-1:-1;4594:21:29;;-1:-1:-1;19889:18:33;;4594:37:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4643:9;4638:151;4658:9;:16;4654:1;:20;4638:151;;;336:42:0;4689:13:29;;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4769:9;4779:1;4769:12;;;;;;;;:::i;:::-;;;;;;;4758:9;4717:65;;;;;;;;;;4676:3;;4638:151;;;-1:-1:-1;4795:8:29;;:53;;;;;:8;;;;;;;:31;;:53;;4827:9;;4838;;4795:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;336:42:0;4854:12:29;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4899:8:29;;:35;;;;;;;;23437:25:33;;;4875:21:29;;-1:-1:-1;4899:8:29;;;;;;;-1:-1:-1;4899:24:29;;23410:18:33;;4899:35:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4875:59;;4940:39;4949:4;:11;4962:9;:16;4940:8;:39::i;:::-;4990:9;4985:84;5005:4;:11;5001:1;:15;4985:84;;;5031:31;5040:4;5045:1;5040:7;;;;;;;;:::i;:::-;;;;;;;5049:9;5059:1;5049:12;;;;;;;;:::i;:::-;;;;;;;5031:8;:31::i;:::-;5018:3;;4985:84;;11602:254;11717:15;;;;;11684:13;11717:15;;;15055:74:33;;;11684:13:29;336:42:0;;11717:8:29;;15028:18:33;;11717:15:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11738:70:29;;;;;11754:53;11738:70;;;20846:98:33;336:42:0;;-1:-1:-1;11738:15:29;;-1:-1:-1;20819:18:33;;11738:70:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11814:8:29;;:37;;;;;19946:66:33;19934:79;;11814:37:29;;;19916:98:33;11814:8:29;;;;;;;-1:-1:-1;11814:21:29;;-1:-1:-1;19889:18:33;;11814:37:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11678:178;11602:254;:::o;9998:649::-;10145:30;;;;;:9;10155:19;;;;10145:30;;;18412:41:33;336:42:0;;10145:9:29;;18385:18:33;;10145:30:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10191:17:29;;10181:32;;;;;10191:21;;;10181:32;;;18412:41:33;336:42:0;;-1:-1:-1;10181:9:29;;-1:-1:-1;18385:18:33;;10181:32:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10220:17;10240:33;10251:14;10267:5;10240:10;:33::i;:::-;10220:53;;10280:30;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10280:30:29;10316:20;;;;:38;;;10361:20;;;;;15085:42:33;15073:55;;10361:20:29;;;15055:74:33;336:42:0;;10361:13:29;;15028:18:33;;10361:20:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10387:8:29;;:37;;;;;19946:66:33;19934:79;;10387:37:29;;;19916:98:33;10387:8:29;;;;;;;-1:-1:-1;10387:21:29;;-1:-1:-1;19889:18:33;;10387:37:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;10430:8:29;;:38;;;;;:8;;;;;;;:22;;:38;;10453:9;;10464:3;;10430:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;336:42:0;10474:12:29;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10511:8:29;;:60;;;;;10495:13;;-1:-1:-1;10511:8:29;;;;;;;-1:-1:-1;10511:28:29;;:60;;10540:6;;10548:11;;10561:9;;10511:60;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10495:76;-1:-1:-1;10577:65:29;10495:76;10593:48;:11;10634:6;10593:40;:48::i;17616:448::-;17735:30;;;;;:9;17745:19;;;;17735:30;;;18412:41:33;336:42:0;;17735:9:29;;18385:18:33;;17735:30:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17771:20:29;;;;;15085:42:33;15073:55;;17771:20:29;;;15055:74:33;336:42:0;;-1:-1:-1;17771:13:29;;-1:-1:-1;15028:18:33;;17771:20:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17817:8:29;;:37;;;;;19946:66:33;19934:79;;17817:37:29;;;19916:98:33;17797:17:29;;-1:-1:-1;17817:8:29;;;;;;;-1:-1:-1;17817:21:29;;19889:18:33;;17817:37:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17860:8;;:46;;;;;;;;20623:25:33;;;20664:18;;;20657:34;;;17797:57:29;;-1:-1:-1;17860:8:29;;;;;;:26;;20596:18:33;;17860:46:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17913:74:29;;;;;17929:57;17913:74;;;20846:98:33;336:42:0;;-1:-1:-1;17913:15:29;;-1:-1:-1;20819:18:33;;17913:74:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17993:8:29;;:46;;;;;;;;20623:25:33;;;20664:18;;;20657:34;;;17993:8:29;;;;;;;-1:-1:-1;17993:26:29;;-1:-1:-1;20596:18:33;;17993:46:29;20449:248:33;869:454:29;948:30;;;;;:9;958:19;;;;948:30;;;18412:41:33;336:42:0;;948:9:29;;18385:18:33;;948:30:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;984:17;1004:33;1015:14;1031:5;1004:10;:33::i;:::-;984:53;;336:42:0;1044:13:29;;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1070:57:29;;;;;;-1:-1:-1;1110:9:29;;-1:-1:-1;1070:57:29;;;;;1134:15;;;;;15085:42:33;15073:55;;1134:15:29;;;15055:74:33;336:42:0;;1134:8:29;;15028:18:33;;1134:15:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1182:8:29;;:37;;;;;19946:66:33;19934:79;;1182:37:29;;;19916:98:33;1155:24:29;;-1:-1:-1;1182:8:29;;;;;;;-1:-1:-1;1182:21:29;;19889:18:33;;1182:37:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1155:64;;1226:37;1235:16;1253:9;1226:8;:37::i;:::-;1278:8;;:32;;;;;;;;23437:25:33;;;1269:49:29;;1278:8;;;;;;:21;;23410:18:33;;1278:32:29;23291:177:33;1269:49:29;942:381;;869:454;;:::o;2606:142:6:-;2655:35;2723:18;2702:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2606:142;:::o;18520:468:29:-;18661:30;;;;;:9;18671:19;;;;18661:30;;;18412:41:33;336:42:0;;18661:9:29;;18385:18:33;;18661:30:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18697:20:29;;;;;15085:42:33;15073:55;;18697:20:29;;;15055:74:33;336:42:0;;-1:-1:-1;18697:13:29;;-1:-1:-1;15028:18:33;;18697:20:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18743:8:29;;:37;;;;;19946:66:33;19934:79;;18743:37:29;;;19916:98:33;18723:17:29;;-1:-1:-1;18743:8:29;;;;;;;-1:-1:-1;18743:21:29;;19889:18:33;;18743:37:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18786:8;;:38;;;;;18723:57;;-1:-1:-1;18786:8:29;;;;;;:22;;:38;;18723:57;;18820:3;;18786:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18831:74:29;;;;;18847:57;18831:74;;;20846:98:33;336:42:0;;-1:-1:-1;18831:15:29;;-1:-1:-1;20819:18:33;;18831:74:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18911:8:29;;;;;;;;-1:-1:-1;18911:26:29;;-1:-1:-1;18938:9:29;18949:13;18958:3;18949:8;:13::i;:::-;18911:52;;;;;;;;;;;;;20623:25:33;;;;20664:18;;;20657:34;20596:18;;18911:52:29;20449:248:33;7260:1304:29;7380:30;;;;;:9;7390:19;;;;7380:30;;;18412:41:33;336:42:0;;7380:9:29;;18385:18:33;;7380:30:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7426:16:29;;7416:31;;;;;7426:20;;;7416:31;;;18412:41:33;336:42:0;;-1:-1:-1;7416:9:29;;-1:-1:-1;18385:18:33;;7416:31:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7495:2;7476:9;:16;:21;7472:89;;;7544:2;7533:9;7526:21;7472:89;7578:35;7603:9;7578:24;:35::i;:::-;7566:47;;7620:17;7640:33;7651:14;7667:5;7640:10;:33::i;:::-;7680:20;;;;;15085:42:33;15073:55;;7680:20:29;;;15055:74:33;7620:53:29;;-1:-1:-1;336:42:0;;7680:13:29;;15028:18:33;;7680:20:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7706:8:29;;:37;;;;;19946:66:33;19934:79;;7706:37:29;;;19916:98:33;7706:8:29;;;;;;;-1:-1:-1;7706:21:29;;-1:-1:-1;19889:18:33;;7706:37:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;7749:8:29;;:53;;;;;:8;;;;;;;:31;;:53;;7781:9;;7792;;7749:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7843:34;7894:9;:16;7880:31;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7880:31:29;;7843:68;;7922:9;7917:116;7937:9;:16;7933:1;:20;7917:116;;;7991:9;8024:1;8020;8001:9;:16;:20;;;;:::i;:::-;:24;;;;:::i;:::-;7991:35;;;;;;;;:::i;:::-;;;;;;;7968:17;7986:1;7968:20;;;;;;;;:::i;:::-;;;;;;;;;;:58;7955:3;;7917:116;;;;8039:24;8080:9;:16;8066:31;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8066:31:29;;8039:58;;8108:9;8103:95;8123:9;:16;8119:1;:20;8103:95;;;8190:1;8186;8167:9;:16;:20;;;;:::i;:::-;:24;;;;:::i;:::-;8154:7;8162:1;8154:10;;;;;;;;:::i;:::-;;;;;;;;;;:37;8141:3;;8103:95;;;;8209:9;8204:161;8224:9;:16;8220:1;:20;8204:161;;;336:42:0;8255:13:29;;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8337:17;8355:1;8337:20;;;;;;;;:::i;:::-;;;;;;;8326:9;8283:75;;;;;;;;;;8242:3;;8204:161;;;-1:-1:-1;8370:8:29;;:73;;;;;:8;;;;;;;:34;;:73;;8405:9;;8416:17;;8435:7;;8370:73;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;336:42:0;8449:12:29;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8494:8:29;;:35;;;;;;;;23437:25:33;;;8470:21:29;;-1:-1:-1;8494:8:29;;;;;;;-1:-1:-1;8494:24:29;;23410:18:33;;8494:35:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8470:59;;8535:24;8544:4;:11;8557:1;8535:8;:24::i;13395:487::-;13547:30;;;;;:9;13557:19;;;;13547:30;;;18412:41:33;336:42:0;;13547:9:29;;18385:18:33;;13547:30:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13583:28:29;;;;;:9;13593:17;;;;;;;;13583:28;;;18412:41:33;336:42:0;;-1:-1:-1;13583:9:29;;-1:-1:-1;18385:18:33;;13583:28:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13618:17;13638:33;13649:14;13665:5;13638:10;:33::i;:::-;13678:15;;;;;15085:42:33;15073:55;;13678:15:29;;;15055:74:33;13618:53:29;;-1:-1:-1;336:42:0;;13678:8:29;;15028:18:33;;13678:15:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13699:8:29;;:37;;;;;19946:66:33;19934:79;;13699:37:29;;;19916:98:33;13699:8:29;;;;;;;-1:-1:-1;13699:21:29;;-1:-1:-1;19889:18:33;;13699:37:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;13743:66:29;;;;;13759:49;13743:66;;;20846:98:33;336:42:0;;13743:15:29;;20819:18:33;;13743:66:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13815:18:29;;;;;15085:42:33;15073:55;;13815:18:29;;;15055:74:33;336:42:0;;-1:-1:-1;13815:8:29;;-1:-1:-1;15028:18:33;;13815::29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13839:8:29;;:38;;;;;:8;;;;;;;-1:-1:-1;13839:22:29;;-1:-1:-1;13839:38:29;;13862:9;;13873:3;;13839:38;;;:::i;3622:525::-;3723:30;;;;;:9;3733:19;;;;3723:30;;;18412:41:33;336:42:0;;3723:9:29;;18385:18:33;;3723:30:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3759:17;3779:33;3790:14;3806:5;3779:10;:33::i;:::-;3819:15;;;;;15085:42:33;15073:55;;3819:15:29;;;15055:74:33;3759:53:29;;-1:-1:-1;336:42:0;;3819:8:29;;15028:18:33;;3819:15:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3840:8:29;;:37;;;;;19946:66:33;19934:79;;3840:37:29;;;19916:98:33;3840:8:29;;;;;;;-1:-1:-1;3840:21:29;;-1:-1:-1;19889:18:33;;3840:37:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;336:42:0;3884:13:29;;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3910:60:29;;3962:7;;-1:-1:-1;3951:9:29;;-1:-1:-1;3910:60:29;;;;;3977:15;;;;;15085:42:33;15073:55;;3977:15:29;;;15055:74:33;336:42:0;;3977:8:29;;15028:18:33;;3977:15:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3998:8:29;;:46;;;;;;;;20623:25:33;;;20664:18;;;20657:34;;;3998:8:29;;;;;;;-1:-1:-1;3998:26:29;;-1:-1:-1;20596:18:33;;3998:46:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4075:8:29;;:35;;;;;;;;23437:25:33;;;4051:21:29;;-1:-1:-1;4075:8:29;;;;;;;-1:-1:-1;4075:24:29;;23410:18:33;;4075:35:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4051:59;;4116:26;4125:4;4130:1;4125:7;;;;;;;;:::i;:::-;;;;;;;4134;4116:8;:26::i;397:619:31:-;486:34;562:5;:12;548:27;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;548:27:31;;528:47;;581:25;617:9;612:328;632:5;:12;628:1;:16;612:328;;;659:16;688:9;683:158;703:17;699:1;:21;683:158;;;765:5;771:1;765:8;;;;;;;;:::i;:::-;;;;;;;741:17;759:1;741:20;;;;;;;;:::i;:::-;;;;;;;:32;737:96;;801:4;787:18;;817:5;;737:96;722:3;;683:158;;;;853:11;848:86;;917:5;923:1;917:8;;;;;;;;:::i;:::-;;;;;;;876:17;894:19;;;;;:::i;:::-;;;876:38;;;;;;;;:::i;:::-;;;;;;:49;;;;;848:86;-1:-1:-1;646:3:31;;612:328;;;-1:-1:-1;962:44:31;;969:17;397:619;-1:-1:-1;397:619:31:o;2815:199:12:-;2898:14;2933:19;2940:1;2943:3;2948;2933:6;:19::i;:::-;2924:28;;2962:45;;;;;;;;;;;;;;;;;;3000:6;2962:21;:45::i;:::-;2815:199;;;;;:::o;221:172:31:-;348:39;;;28189:66:33;28177:79;;348:39:31;;;28165:92:33;28308:66;28295:2;28291:15;;;28287:88;28273:12;;;28266:110;303:17:31;;28392:12:33;348:39:31;;;;;;;;;;;;340:48;;;:::i;1020:676::-;1107:33;1181:5;:12;1168:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1148:46;;1200:25;1236:9;1231:389;1251:5;:12;1247:1;:16;1231:389;;;1278:16;1302:19;1324:18;1333:5;1339:1;1333:8;;;;;;;;:::i;1324:18::-;1302:40;;1355:9;1350:171;1370:17;1366:1;:21;1350:171;;;1423:30;1432:17;1450:1;1432:20;;;;;;;;:::i;1423:30::-;1408:11;:45;1404:109;;1481:4;1467:18;;1497:5;;1404:109;1389:3;;1350:171;;;;1533:11;1528:86;;1597:5;1603:1;1597:8;;;;;;;;:::i;:::-;;;;;;;1556:17;1574:19;;;;;:::i;:::-;;;1556:38;;;;;;;;:::i;:::-;;;;;;:49;;;;1528:86;-1:-1:-1;;1265:3:31;;1231:389;;90:127;158:7;207:3;190:21;;;;;;;;:::i;:::-;;;;;;;;;;;;;180:32;;;;;;173:39;;90:127;;;:::o;2664:153:1:-;2755:5;2747:4;:13;2743:68;;2776:24;;;;;;;;20623:25:33;;;20664:18;;;20657:34;;;2776:11:1;;;;20596:18:33;;2776:24:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2743:68;2664:153;;:::o;9888:159::-;9982:5;9974:4;:13;9970:71;;10003:27;;;;;;;;20623:25:33;;;20664:18;;;20657:34;;;10003:14:1;;;;20596:18:33;;10003:27:1;20449:248:33;4362:153:1;4453:5;4445:4;:13;4441:68;;4474:24;;;;;;;;20623:25:33;;;20664:18;;;20657:34;;;4474:11:1;;;;20596:18:33;;4474:24:1;20449:248:33;4020:153:1;4111:5;4103:13;;:4;:13;;;4099:68;;4132:24;;;;;29542:42:33;29530:55;;;4132:24:1;;;29512:74:33;29622:55;;29602:18;;;29595:83;4132:11:1;;;;29485:18:33;;4132:24:1;29338:346:33;4328:271:21;284:41:22;;29903:23:33;284:41:22;;;29891:36:33;4437:7:21;;29943:12:33;;284:41:22;;;;;;;;;;;;274:52;;;;;;4531:6:21;4539:11;:24;;;4565:11;:22;;;4476:112;;;;;;;;;;30179:19:33;;;30236:2;30232:15;;;;30249:66;30228:88;30223:2;30214:12;;30207:110;30342:2;30333:12;;30326:28;30379:2;30370:12;;30363:28;30416:3;30407:13;;29966:460;4476:112:21;;;;;;;;;;;;;4459:135;;;;;;4452:142;;4328:271;;;;;:::o;1546:1263:12:-;1630:14;1671:3;1664;:10;;1656:85;;;;;;;30633:2:33;1656:85:12;;;30615:21:33;30672:2;30652:18;;;30645:30;30711:34;30691:18;;;30684:62;30782:32;30762:18;;;30755:60;30832:19;;1656:85:12;;;;;;;;1975:3;1970:1;:8;;:20;;;;;1987:3;1982:1;:8;;1970:20;1966:34;;;-1:-1:-1;1999:1:12;1992:8;;1966:34;2011:12;2026:9;2032:3;2026;:9;:::i;:::-;:13;;2038:1;2026:13;:::i;:::-;2011:28;;2234:1;2229;:6;;:18;;;;;2246:1;2239:4;:8;2229:18;2225:38;;;2256:7;2262:1;2256:3;:7;:::i;:::-;2249:14;;;;;2225:38;2282:15;2296:1;1042:78;2282:15;:::i;:::-;2277:1;:20;;:46;;;;-1:-1:-1;2308:15:12;2322:1;1042:78;2308:15;:::i;:::-;2301:4;:22;2277:46;2273:82;;;2339:15;2353:1;1042:78;2339:15;:::i;:::-;2332:23;;:3;:23;:::i;2273:82::-;2459:3;2455:1;:7;2451:352;;;2478:12;2493:7;2497:3;2493:1;:7;:::i;:::-;2478:22;-1:-1:-1;2514:11:12;2528;2535:4;2478:22;2528:11;:::i;:::-;2514:25;;2557:3;2564:1;2557:8;2553:24;;2574:3;2567:10;;;;;;;2553:24;2612:1;2600:9;2606:3;2600;:9;:::i;:::-;:13;;;;:::i;:::-;2591:22;;2464:160;;2451:352;;;2638:3;2634:1;:7;2630:173;;;2657:12;2672:7;2678:1;2672:3;:7;:::i;:::-;2657:22;-1:-1:-1;2693:11:12;2707;2714:4;2657:22;2707:11;:::i;:::-;2693:25;;2736:3;2743:1;2736:8;2732:24;;2753:3;2746:10;;;;;;;2732:24;2779:9;2785:3;2779;:9;:::i;:::-;:13;;2791:1;2779:13;:::i;:::-;2770:22;;2643:160;;2630:173;1646:1163;1546:1263;;;;;:::o;9561:162::-;9645:71;9708:2;9712;9661:54;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;8962:55;9009:7;8988:19;8962:55::i;:::-;8891:133;:::o;9030:381::-;9128:14;;679:42;9302:2;9289:16;;9104:21;;9128:14;9289:16;679:42;9338:5;9327:68;9318:77;;9255:150;;9030:381;:::o;-1:-1:-1:-;;;;;;;;:::o;14:154:33:-;100:42;93:5;89:54;82:5;79:65;69:93;;158:1;155;148:12;173:220;241:20;;301:66;290:78;;280:89;;270:117;;383:1;380;373:12;270:117;173:220;;;:::o;398:184::-;450:77;447:1;440:88;547:4;544:1;537:15;571:4;568:1;561:15;587:334;658:2;652:9;714:2;704:13;;719:66;700:86;688:99;;817:18;802:34;;838:22;;;799:62;796:88;;;864:18;;:::i;:::-;900:2;893:22;587:334;;-1:-1:-1;587:334:33:o;926:183::-;986:4;1019:18;1011:6;1008:30;1005:56;;;1041:18;;:::i;:::-;-1:-1:-1;1086:1:33;1082:14;1098:4;1078:25;;926:183::o;1114:723::-;1168:5;1221:3;1214:4;1206:6;1202:17;1198:27;1188:55;;1239:1;1236;1229:12;1188:55;1279:6;1266:20;1306:64;1322:47;1362:6;1322:47;:::i;:::-;1306:64;:::i;:::-;1394:3;1418:6;1413:3;1406:19;1450:4;1445:3;1441:14;1434:21;;1511:4;1501:6;1498:1;1494:14;1486:6;1482:27;1478:38;1464:52;;1539:3;1531:6;1528:15;1525:35;;;1556:1;1553;1546:12;1525:35;1592:4;1584:6;1580:17;1606:200;1622:6;1617:3;1614:15;1606:200;;;1714:17;;1744:18;;1791:4;1782:14;;;;1639;1606:200;;;-1:-1:-1;1824:7:33;1114:723;-1:-1:-1;;;;;1114:723:33:o;1842:678::-;1953:6;1961;1969;1977;2030:3;2018:9;2009:7;2005:23;2001:33;1998:53;;;2047:1;2044;2037:12;1998:53;2086:9;2073:23;2105:31;2130:5;2105:31;:::i;:::-;2155:5;-1:-1:-1;2179:38:33;2213:2;2198:18;;2179:38;:::i;:::-;2169:48;;2268:2;2257:9;2253:18;2240:32;2295:18;2287:6;2284:30;2281:50;;;2327:1;2324;2317:12;2281:50;2350:61;2403:7;2394:6;2383:9;2379:22;2350:61;:::i;:::-;1842:678;;;;-1:-1:-1;2340:71:33;;2484:2;2469:18;2456:32;;-1:-1:-1;;;1842:678:33:o;2525:462::-;2602:6;2610;2618;2671:2;2659:9;2650:7;2646:23;2642:32;2639:52;;;2687:1;2684;2677:12;2639:52;2726:9;2713:23;2745:31;2770:5;2745:31;:::i;:::-;2795:5;-1:-1:-1;2852:2:33;2837:18;;2824:32;2865:33;2824:32;2865:33;:::i;:::-;2917:7;-1:-1:-1;2943:38:33;2977:2;2962:18;;2943:38;:::i;:::-;2933:48;;2525:462;;;;;:::o;2992:660::-;3182:2;3194:21;;;3264:13;;3167:18;;;3286:22;;;3134:4;;3365:15;;;3339:2;3324:18;;;3134:4;3408:218;3422:6;3419:1;3416:13;3408:218;;;3487:13;;3502:42;3483:62;3471:75;;3575:2;3601:15;;;;3566:12;;;;3444:1;3437:9;3408:218;;;-1:-1:-1;3643:3:33;;2992:660;-1:-1:-1;;;;;2992:660:33:o;3657:1398::-;3793:6;3801;3809;3817;3870:3;3858:9;3849:7;3845:23;3841:33;3838:53;;;3887:1;3884;3877:12;3838:53;3926:9;3913:23;3945:31;3970:5;3945:31;:::i;:::-;3995:5;-1:-1:-1;4019:38:33;4053:2;4038:18;;4019:38;:::i;:::-;4009:48;;4108:2;4097:9;4093:18;4080:32;4135:18;4127:6;4124:30;4121:50;;;4167:1;4164;4157:12;4121:50;4190:61;4243:7;4234:6;4223:9;4219:22;4190:61;:::i;:::-;4180:71;;;4304:2;4293:9;4289:18;4276:32;4333:18;4323:8;4320:32;4317:52;;;4365:1;4362;4355:12;4317:52;4388:24;;4443:4;4435:13;;4431:27;-1:-1:-1;4421:55:33;;4472:1;4469;4462:12;4421:55;4512:2;4499:16;4535:64;4551:47;4591:6;4551:47;:::i;4535:64::-;4621:3;4645:6;4640:3;4633:19;4677:2;4672:3;4668:12;4661:19;;4732:2;4722:6;4719:1;4715:14;4711:2;4707:23;4703:32;4689:46;;4758:7;4750:6;4747:19;4744:39;;;4779:1;4776;4769:12;4744:39;4811:2;4807;4803:11;4792:22;;4823:202;4839:6;4834:3;4831:15;4823:202;;;4933:17;;4963:20;;5012:2;4856:12;;;;5003;;;;4823:202;;;3657:1398;;;;-1:-1:-1;3657:1398:33;;-1:-1:-1;;;;;3657:1398:33:o;5060:618::-;5103:5;5156:3;5149:4;5141:6;5137:17;5133:27;5123:55;;5174:1;5171;5164:12;5123:55;5214:6;5201:20;5244:18;5236:6;5233:30;5230:56;;;5266:18;;:::i;:::-;5310:118;5422:4;5353:66;5346:4;5338:6;5334:17;5330:90;5326:101;5310:118;:::i;:::-;5453:6;5444:7;5437:23;5507:3;5500:4;5491:6;5483;5479:19;5475:30;5472:39;5469:59;;;5524:1;5521;5514:12;5469:59;5589:6;5582:4;5574:6;5570:17;5563:4;5554:7;5550:18;5537:59;5645:1;5616:20;;;5638:4;5612:31;5605:42;;;;5620:7;5060:618;-1:-1:-1;;;5060:618:33:o;5683:827::-;5736:5;5789:3;5782:4;5774:6;5770:17;5766:27;5756:55;;5807:1;5804;5797:12;5756:55;5847:6;5834:20;5874:64;5890:47;5930:6;5890:47;:::i;5874:64::-;5962:3;5986:6;5981:3;5974:19;6018:4;6013:3;6009:14;6002:21;;6079:4;6069:6;6066:1;6062:14;6054:6;6050:27;6046:38;6032:52;;6107:3;6099:6;6096:15;6093:35;;;6124:1;6121;6114:12;6093:35;6160:4;6152:6;6148:17;6174:305;6190:6;6185:3;6182:15;6174:305;;;6278:3;6265:17;6314:18;6301:11;6298:35;6295:55;;;6346:1;6343;6336:12;6295:55;6375:59;6430:3;6423:4;6409:11;6401:6;6397:24;6393:35;6375:59;:::i;:::-;6363:72;;-1:-1:-1;6464:4:33;6455:14;;;;6207;6174:305;;6515:687;6636:6;6644;6652;6660;6713:3;6701:9;6692:7;6688:23;6684:33;6681:53;;;6730:1;6727;6720:12;6681:53;6769:9;6756:23;6788:31;6813:5;6788:31;:::i;:::-;6838:5;-1:-1:-1;6862:38:33;6896:2;6881:18;;6862:38;:::i;:::-;6852:48;;6951:2;6940:9;6936:18;6923:32;6978:18;6970:6;6967:30;6964:50;;;7010:1;7007;7000:12;6964:50;7033:60;7085:7;7076:6;7065:9;7061:22;7033:60;:::i;7207:348::-;7249:3;7287:5;7281:12;7314:6;7309:3;7302:19;7370:6;7363:4;7356:5;7352:16;7345:4;7340:3;7336:14;7330:47;7422:1;7415:4;7406:6;7401:3;7397:16;7393:27;7386:38;7544:4;7474:66;7469:2;7461:6;7457:15;7453:88;7448:3;7444:98;7440:109;7433:116;;;7207:348;;;;:::o;7560:638::-;7612:3;7643;7675:5;7669:12;7702:6;7697:3;7690:19;7734:4;7729:3;7725:14;7718:21;;7792:4;7782:6;7779:1;7775:14;7768:5;7764:26;7760:37;7831:4;7824:5;7820:16;7854:1;7864:308;7878:6;7875:1;7872:13;7864:308;;;7961:66;7953:5;7947:4;7943:16;7939:89;7934:3;7927:102;8050:38;8083:4;8074:6;8068:13;8050:38;:::i;:::-;8123:4;8148:14;;;;8042:46;;-1:-1:-1;8111:17:33;;;;;7900:1;7893:9;7864:308;;;-1:-1:-1;8188:4:33;;7560:638;-1:-1:-1;;;;;;7560:638:33:o;8203:1115::-;8407:4;8455:2;8444:9;8440:18;8485:2;8474:9;8467:21;8508:6;8543;8537:13;8574:6;8566;8559:22;8612:2;8601:9;8597:18;8590:25;;8674:2;8664:6;8661:1;8657:14;8646:9;8642:30;8638:39;8624:53;;8712:2;8704:6;8700:15;8733:1;8743:546;8757:6;8754:1;8751:13;8743:546;;;8846:66;8834:9;8826:6;8822:22;8818:95;8813:3;8806:108;8943:6;8937:13;8993:42;8988:2;8982:9;8978:58;8970:6;8963:74;9084:2;9080;9076:11;9070:18;9050:38;;9125:2;9120;9112:6;9108:15;9101:27;9151:58;9205:2;9197:6;9193:15;9179:12;9151:58;:::i;:::-;9141:68;-1:-1:-1;;9244:2:33;9267:12;;;;9232:15;;;;;8779:1;8772:9;8743:546;;;-1:-1:-1;9306:6:33;;8203:1115;-1:-1:-1;;;;;;8203:1115:33:o;9323:583::-;9409:6;9417;9425;9433;9486:3;9474:9;9465:7;9461:23;9457:33;9454:53;;;9503:1;9500;9493:12;9454:53;9542:9;9529:23;9561:31;9586:5;9561:31;:::i;:::-;9611:5;-1:-1:-1;9668:2:33;9653:18;;9640:32;9681:33;9640:32;9681:33;:::i;:::-;9733:7;-1:-1:-1;9759:38:33;9793:2;9778:18;;9759:38;:::i;:::-;9323:583;;;;-1:-1:-1;9749:48:33;;9870:2;9855:18;9842:32;;-1:-1:-1;;9323:583:33:o;9911:699::-;10022:6;10030;10038;10046;10099:3;10087:9;10078:7;10074:23;10070:33;10067:53;;;10116:1;10113;10106:12;10067:53;10155:9;10142:23;10174:31;10199:5;10174:31;:::i;:::-;10224:5;-1:-1:-1;10281:2:33;10266:18;;10253:32;10294:33;10253:32;10294:33;:::i;:::-;10346:7;-1:-1:-1;10372:38:33;10406:2;10391:18;;10372:38;:::i;:::-;10362:48;;10461:2;10450:9;10446:18;10433:32;10488:18;10480:6;10477:30;10474:50;;;10520:1;10517;10510:12;10474:50;10543:61;10596:7;10587:6;10576:9;10572:22;10543:61;:::i;:::-;10533:71;;;9911:699;;;;;;;:::o;10615:673::-;10711:6;10719;10727;10735;10788:3;10776:9;10767:7;10763:23;10759:33;10756:53;;;10805:1;10802;10795:12;10756:53;10844:9;10831:23;10863:31;10888:5;10863:31;:::i;:::-;10913:5;-1:-1:-1;10970:2:33;10955:18;;10942:32;10983:33;10942:32;10983:33;:::i;:::-;11035:7;-1:-1:-1;11061:38:33;11095:2;11080:18;;11061:38;:::i;:::-;11051:48;;11150:2;11139:9;11135:18;11122:32;11177:18;11169:6;11166:30;11163:50;;;11209:1;11206;11199:12;11163:50;11232;11274:7;11265:6;11254:9;11250:22;11232:50;:::i;11293:531::-;11380:6;11388;11396;11449:2;11437:9;11428:7;11424:23;11420:32;11417:52;;;11465:1;11462;11455:12;11417:52;11504:9;11491:23;11523:31;11548:5;11523:31;:::i;:::-;11573:5;-1:-1:-1;11597:38:33;11631:2;11616:18;;11597:38;:::i;:::-;11587:48;;11686:2;11675:9;11671:18;11658:32;11713:18;11705:6;11702:30;11699:50;;;11745:1;11742;11735:12;11699:50;11768;11810:7;11801:6;11790:9;11786:22;11768:50;:::i;:::-;11758:60;;;11293:531;;;;;:::o;11829:566::-;11941:6;11949;11957;12010:2;11998:9;11989:7;11985:23;11981:32;11978:52;;;12026:1;12023;12016:12;11978:52;12065:9;12052:23;12084:31;12109:5;12084:31;:::i;:::-;12134:5;-1:-1:-1;12158:38:33;12192:2;12177:18;;12158:38;:::i;:::-;12148:48;;12247:2;12236:9;12232:18;12219:32;12274:18;12266:6;12263:30;12260:50;;;12306:1;12303;12296:12;12260:50;12329:60;12381:7;12372:6;12361:9;12357:22;12329:60;:::i;12400:441::-;12477:6;12485;12493;12546:2;12534:9;12525:7;12521:23;12517:32;12514:52;;;12562:1;12559;12552:12;12514:52;12601:9;12588:23;12620:31;12645:5;12620:31;:::i;:::-;12670:5;-1:-1:-1;12694:38:33;12728:2;12713:18;;12694:38;:::i;:::-;12400:441;;12684:48;;-1:-1:-1;;;12805:2:33;12790:18;;;;12777:32;;12400:441::o;12846:492::-;12898:3;12936:5;12930:12;12963:6;12958:3;12951:19;12995:4;12990:3;12986:14;12979:21;;13034:4;13027:5;13023:16;13057:1;13067:246;13081:6;13078:1;13075:13;13067:246;;;13146:13;;13161:66;13142:86;13130:99;;13258:4;13249:14;;;;13286:17;;;;13103:1;13096:9;13067:246;;;-1:-1:-1;13329:3:33;;12846:492;-1:-1:-1;;;;12846:492:33:o;13343:1202::-;13561:4;13609:2;13598:9;13594:18;13639:2;13628:9;13621:21;13662:6;13697;13691:13;13728:6;13720;13713:22;13766:2;13755:9;13751:18;13744:25;;13828:2;13818:6;13815:1;13811:14;13800:9;13796:30;13792:39;13778:53;;13866:2;13858:6;13854:15;13887:1;13897:619;13911:6;13908:1;13905:13;13897:619;;;14000:66;13988:9;13980:6;13976:22;13972:95;13967:3;13960:108;14097:6;14091:13;14143:2;14137:9;14174:2;14166:6;14159:18;14204:48;14248:2;14240:6;14236:15;14222:12;14204:48;:::i;:::-;14190:62;;14301:2;14297;14293:11;14287:18;14265:40;;14354:6;14346;14342:19;14337:2;14329:6;14325:15;14318:44;14385:51;14429:6;14413:14;14385:51;:::i;:::-;14375:61;-1:-1:-1;;;14471:2:33;14494:12;;;;14459:15;;;;;13933:1;13926:9;13897:619;;14550:321;14618:6;14626;14679:2;14667:9;14658:7;14654:23;14650:32;14647:52;;;14695:1;14692;14685:12;14647:52;14734:9;14721:23;14753:31;14778:5;14753:31;:::i;:::-;14803:5;-1:-1:-1;14827:38:33;14861:2;14846:18;;14827:38;:::i;:::-;14817:48;;14550:321;;;;;:::o;15140:829::-;15270:6;15278;15286;15294;15302;15355:3;15343:9;15334:7;15330:23;15326:33;15323:53;;;15372:1;15369;15362:12;15323:53;15411:9;15398:23;15430:31;15455:5;15430:31;:::i;:::-;15480:5;-1:-1:-1;15537:2:33;15522:18;;15509:32;15550:33;15509:32;15550:33;:::i;:::-;15602:7;-1:-1:-1;15628:38:33;15662:2;15647:18;;15628:38;:::i;:::-;15618:48;;15717:2;15706:9;15702:18;15689:32;15744:18;15736:6;15733:30;15730:50;;;15776:1;15773;15766:12;15730:50;15799:60;15851:7;15842:6;15831:9;15827:22;15799:60;:::i;:::-;15140:829;;;;-1:-1:-1;15140:829:33;;15932:3;15917:19;15904:33;;15140:829;-1:-1:-1;;;15140:829:33:o;15974:280::-;16173:2;16162:9;16155:21;16136:4;16193:55;16244:2;16233:9;16229:18;16221:6;16193:55;:::i;16259:890::-;16374:6;16382;16390;16398;16406;16459:3;16447:9;16438:7;16434:23;16430:33;16427:53;;;16476:1;16473;16466:12;16427:53;16515:9;16502:23;16534:31;16559:5;16534:31;:::i;:::-;16584:5;-1:-1:-1;16641:2:33;16626:18;;16613:32;16654:33;16613:32;16654:33;:::i;:::-;16706:7;-1:-1:-1;16732:38:33;16766:2;16751:18;;16732:38;:::i;:::-;16722:48;;16821:2;16810:9;16806:18;16793:32;16848:18;16840:6;16837:30;16834:50;;;16880:1;16877;16870:12;16834:50;16903;16945:7;16936:6;16925:9;16921:22;16903:50;:::i;:::-;16893:60;;;17006:3;16995:9;16991:19;16978:33;17036:18;17026:8;17023:32;17020:52;;;17068:1;17065;17058:12;17020:52;17091;17135:7;17124:8;17113:9;17109:24;17091:52;:::i;:::-;17081:62;;;16259:890;;;;;;;;:::o;17154:1113::-;17356:4;17404:2;17393:9;17389:18;17434:2;17423:9;17416:21;17457:6;17492;17486:13;17523:6;17515;17508:22;17561:2;17550:9;17546:18;17539:25;;17623:2;17613:6;17610:1;17606:14;17595:9;17591:30;17587:39;17573:53;;17661:2;17653:6;17649:15;17682:1;17692:546;17706:6;17703:1;17700:13;17692:546;;;17795:66;17783:9;17775:6;17771:22;17767:95;17762:3;17755:108;17892:6;17886:13;17942:42;17937:2;17931:9;17927:58;17919:6;17912:74;18033:2;18029;18025:11;18019:18;17999:38;;18074:2;18069;18061:6;18057:15;18050:27;18100:58;18154:2;18146:6;18142:15;18128:12;18100:58;:::i;:::-;18090:68;-1:-1:-1;;18193:2:33;18216:12;;;;18181:15;;;;;17728:1;17721:9;17692:546;;18464:557;18566:6;18574;18582;18635:2;18623:9;18614:7;18610:23;18606:32;18603:52;;;18651:1;18648;18641:12;18603:52;18690:9;18677:23;18709:31;18734:5;18709:31;:::i;:::-;18759:5;-1:-1:-1;18783:38:33;18817:2;18802:18;;18783:38;:::i;:::-;18773:48;;18872:2;18861:9;18857:18;18844:32;18899:18;18891:6;18888:30;18885:50;;;18931:1;18928;18921:12;18885:50;18954:61;19007:7;18998:6;18987:9;18983:22;18954:61;:::i;19026:186::-;19085:6;19138:2;19126:9;19117:7;19113:23;19109:32;19106:52;;;19154:1;19151;19144:12;19106:52;19177:29;19196:9;19177:29;:::i;19217:184::-;19269:77;19266:1;19259:88;19366:4;19363:1;19356:15;19390:4;19387:1;19380:15;19406:128;19473:9;;;19494:11;;;19491:37;;;19508:18;;:::i;20025:230::-;20095:6;20148:2;20136:9;20127:7;20123:23;20119:32;20116:52;;;20164:1;20161;20154:12;20116:52;-1:-1:-1;20209:16:33;;20025:230;-1:-1:-1;20025:230:33:o;20260:184::-;20312:77;20309:1;20302:88;20409:4;20406:1;20399:15;20433:4;20430:1;20423:15;20955:125;21020:9;;;21041:10;;;21038:36;;;21054:18;;:::i;21711:420::-;21764:3;21802:5;21796:12;21829:6;21824:3;21817:19;21861:4;21856:3;21852:14;21845:21;;21900:4;21893:5;21889:16;21923:1;21933:173;21947:6;21944:1;21941:13;21933:173;;;22008:13;;21996:26;;22051:4;22042:14;;;;22079:17;;;;21969:1;21962:9;21933:173;;22136:854;22421:6;22410:9;22403:25;22464:2;22459;22448:9;22444:18;22437:30;22384:4;22490:56;22542:2;22531:9;22527:18;22519:6;22490:56;:::i;:::-;22582:22;;;22577:2;22562:18;;22555:50;22654:13;;22676:22;;;22726:2;22752:15;;;;22714;;22785:1;22795:169;22809:6;22806:1;22803:13;22795:169;;;22870:13;;22858:26;;22913:2;22939:15;;;;22904:12;;;;22831:1;22824:9;22795:169;;;-1:-1:-1;22981:3:33;;22136:854;-1:-1:-1;;;;;;;22136:854:33:o;22995:291::-;23172:6;23161:9;23154:25;23215:2;23210;23199:9;23195:18;23188:30;23135:4;23235:45;23276:2;23265:9;23261:18;23253:6;23235:45;:::i;:::-;23227:53;22995:291;-1:-1:-1;;;;22995:291:33:o;23473:930::-;23568:6;23621:2;23609:9;23600:7;23596:23;23592:32;23589:52;;;23637:1;23634;23627:12;23589:52;23670:9;23664:16;23703:18;23695:6;23692:30;23689:50;;;23735:1;23732;23725:12;23689:50;23758:22;;23811:4;23803:13;;23799:27;-1:-1:-1;23789:55:33;;23840:1;23837;23830:12;23789:55;23873:2;23867:9;23896:64;23912:47;23952:6;23912:47;:::i;23896:64::-;23982:3;24006:6;24001:3;23994:19;24038:2;24033:3;24029:12;24022:19;;24093:2;24083:6;24080:1;24076:14;24072:2;24068:23;24064:32;24050:46;;24119:7;24111:6;24108:19;24105:39;;;24140:1;24137;24130:12;24105:39;24172:2;24168;24164:11;24153:22;;24184:189;24200:6;24195:3;24192:15;24184:189;;;24290:10;;24313:18;;24360:2;24217:12;;;;24351;;;;24184:189;;;24392:5;23473:930;-1:-1:-1;;;;;;23473:930:33:o;24408:437::-;24487:1;24483:12;;;;24530;;;24551:61;;24605:4;24597:6;24593:17;24583:27;;24551:61;24658:2;24650:6;24647:14;24627:18;24624:38;24621:218;;24695:77;24692:1;24685:88;24796:4;24793:1;24786:15;24824:4;24821:1;24814:15;24621:218;;24408:437;;;:::o;25182:332::-;25389:6;25378:9;25371:25;25432:2;25427;25416:9;25412:18;25405:30;25352:4;25452:56;25504:2;25493:9;25489:18;25481:6;25452:56;:::i;25519:351::-;25746:6;25735:9;25728:25;25789:2;25784;25773:9;25769:18;25762:30;25709:4;25809:55;25860:2;25849:9;25845:18;25837:6;25809:55;:::i;25875:251::-;25945:6;25998:2;25986:9;25977:7;25973:23;25969:32;25966:52;;;26014:1;26011;26004:12;25966:52;26046:9;26040:16;26065:31;26090:5;26065:31;:::i;26131:1370::-;26388:42;26380:6;26376:55;26365:9;26358:74;26468:2;26463;26452:9;26448:18;26441:30;26526:42;26517:6;26511:13;26507:62;26502:2;26491:9;26487:18;26480:90;26635:66;26629:2;26621:6;26617:15;26611:22;26607:95;26601:3;26590:9;26586:19;26579:124;26758:4;26750:6;26746:17;26740:24;26734:3;26723:9;26719:19;26712:53;26821:2;26813:6;26809:15;26803:22;26796:4;26785:9;26781:20;26774:52;26339:4;26873:3;26865:6;26861:16;26855:23;26915:4;26909:3;26898:9;26894:19;26887:33;26943:52;26990:3;26979:9;26975:19;26961:12;26943:52;:::i;:::-;26929:66;;27044:3;27036:6;27032:16;27026:23;27114:66;27102:9;27094:6;27090:22;27086:95;27080:3;27069:9;27065:19;27058:124;27219:14;27213:21;27258:4;27250:6;27243:20;27286:52;27332:4;27324:6;27320:17;27304:14;27286:52;:::i;:::-;27272:66;;27407:18;27401:2;27385:14;27381:23;27375:30;27371:55;27366:2;27358:6;27354:15;27347:80;27444:6;27436:14;;;;;27488:6;27481:4;27470:9;27466:20;27459:36;26131:1370;;;;;;:::o;27808:195::-;27847:3;27878:66;27871:5;27868:77;27865:103;;27948:18;;:::i;:::-;-1:-1:-1;27995:1:33;27984:13;;27808:195::o;28415:357::-;28533:12;;28580:4;28569:16;;;28563:23;;28533:12;28598:16;;28595:171;;;28688:66;28672:4;28668:17;;;;28665:1;28661:25;28657:98;28646:110;;28415:357;-1:-1:-1;28415:357:33:o;28777:303::-;28908:3;28946:6;28940:13;28992:6;28985:4;28977:6;28973:17;28968:3;28962:37;29054:1;29018:16;;29043:13;;;-1:-1:-1;29018:16:33;28777:303;-1:-1:-1;28777:303:33:o;30862:266::-;30894:1;30920;30910:189;;30955:77;30952:1;30945:88;31056:4;31053:1;31046:15;31084:4;31081:1;31074:15;30910:189;-1:-1:-1;31113:9:33;;30862:266::o;31133:291::-;31310:2;31299:9;31292:21;31273:4;31330:45;31371:2;31360:9;31356:18;31348:6;31330:45;:::i;:::-;31322:53;;31411:6;31406:2;31395:9;31391:18;31384:34;31133:291;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","failed()":"ba414fa6","registry()":"7b103999","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","test_addProjectUrl(address,bytes12,string)":"56f52e42","test_addProjectUrlBatch(address,bytes12,string[])":"4cf9fbff","test_addProjectUrlHash(address,bytes12,bytes32)":"ff679dab","test_addProjectUrlHashBatch(address,bytes12,bytes32[])":"c5a36339","test_claimProject(address,bytes12)":"d887d395","test_fail_addProjectUrlAlreadyExists(address,bytes12,string)":"785cf657","test_fail_addProjectUrlAlreadyExistsHash(address,bytes12,string)":"ad2ac469","test_fail_addProjectUrlByNonOwner(address,address,bytes12,string)":"f72c62f1","test_fail_addProjectUrlHashAlreadyExists(address,bytes12,bytes32)":"d3609617","test_fail_addProjectUrlHashAlreadyExistsFull(address,bytes12,string)":"e575719f","test_fail_addProjectUrlHashBatchByNonOwner(address,address,bytes12,bytes32[])":"2d03611e","test_fail_addProjectUrlHashByNonOwner(address,address,bytes12,bytes32)":"ad0d1166","test_fail_claimInvalidOwner(bytes12)":"ca8c203d","test_fail_claimProjectTwice(address,address,bytes12)":"2955e468","test_fail_removeNonexistentUrl(address,bytes12,string)":"4b05e990","test_fail_removeNonexistentUrlHash(address,bytes12,bytes32)":"58bab962","test_fail_removeProjectUrlByNonOwner(address,address,bytes12,string)":"2e84025c","test_fail_removeProjectUrlHashBatchByNonOwner(address,address,bytes12,bytes32[])":"7d1d95b5","test_fail_removeProjectUrlHashByNonOwner(address,address,bytes12,bytes32)":"2c6eec1e","test_fail_removeUrlHashWrongIndex(address,bytes12,bytes32[],uint256)":"0b3307e8","test_fail_transferByNonAdmin(address,address,bytes12)":"12fe420e","test_fail_transferInvalidOwner(address,bytes12)":"72976749","test_fail_validateAttestationWithInvalidUrl(address,address,bytes12,string,string)":"891e3354","test_removeProjectUrl(address,bytes12,string[],uint256)":"2a475b0d","test_removeProjectUrlHash(address,bytes12,bytes32[],uint256)":"9cc595a4","test_removeProjectUrlHashBatch(address,bytes12,bytes32[])":"eed35792","test_removeProjectUrlHashBatchWithInvalidUrlIdxs(address,bytes12,bytes32[],uint256[])":"61fd155b","test_removeProjectUrlHashBatchWithInvalidUrlIdxsOrder(address,bytes12,bytes32[],uint256[])":"27d334b2","test_transferProject(address,address,bytes12,bytes32)":"538d6c48","test_validateAttestationMultiple(address,address,bytes12,string[],uint256)":"820c2c2c","test_validateAttestationSingle(address,address,bytes12,string)":"ce7bcae3"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"projectId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ProjectClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"projectId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"ProjectOwnerTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"projectId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"urlHash\",\"type\":\"bytes32\"}],\"name\":\"ProjectUrlAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"projectId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"urlHash\",\"type\":\"bytes32\"}],\"name\":\"ProjectUrlRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"excludedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract ImplicitProjectRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"artifact\",\"type\":\"string\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzArtifactSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bytes12\",\"name\":\"projectIdUpper\",\"type\":\"bytes12\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"name\":\"test_addProjectUrl\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bytes12\",\"name\":\"projectIdUpper\",\"type\":\"bytes12\"},{\"internalType\":\"string[]\",\"name\":\"urls\",\"type\":\"string[]\"}],\"name\":\"test_addProjectUrlBatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bytes12\",\"name\":\"projectIdUpper\",\"type\":\"bytes12\"},{\"internalType\":\"bytes32\",\"name\":\"urlHash\",\"type\":\"bytes32\"}],\"name\":\"test_addProjectUrlHash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bytes12\",\"name\":\"projectIdUpper\",\"type\":\"bytes12\"},{\"internalType\":\"bytes32[]\",\"name\":\"urlHashes\",\"type\":\"bytes32[]\"}],\"name\":\"test_addProjectUrlHashBatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bytes12\",\"name\":\"projectIdUpper\",\"type\":\"bytes12\"}],\"name\":\"test_claimProject\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bytes12\",\"name\":\"projectIdUpper\",\"type\":\"bytes12\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"name\":\"test_fail_addProjectUrlAlreadyExists\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bytes12\",\"name\":\"projectIdUpper\",\"type\":\"bytes12\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"name\":\"test_fail_addProjectUrlAlreadyExistsHash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"nonOwner\",\"type\":\"address\"},{\"internalType\":\"bytes12\",\"name\":\"projectIdUpper\",\"type\":\"bytes12\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"name\":\"test_fail_addProjectUrlByNonOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bytes12\",\"name\":\"projectIdUpper\",\"type\":\"bytes12\"},{\"internalType\":\"bytes32\",\"name\":\"urlHash\",\"type\":\"bytes32\"}],\"name\":\"test_fail_addProjectUrlHashAlreadyExists\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bytes12\",\"name\":\"projectIdUpper\",\"type\":\"bytes12\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"name\":\"test_fail_addProjectUrlHashAlreadyExistsFull\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"nonOwner\",\"type\":\"address\"},{\"internalType\":\"bytes12\",\"name\":\"projectIdUpper\",\"type\":\"bytes12\"},{\"internalType\":\"bytes32[]\",\"name\":\"urlHashes\",\"type\":\"bytes32[]\"}],\"name\":\"test_fail_addProjectUrlHashBatchByNonOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"nonOwner\",\"type\":\"address\"},{\"internalType\":\"bytes12\",\"name\":\"projectIdUpper\",\"type\":\"bytes12\"},{\"internalType\":\"bytes32\",\"name\":\"urlHash\",\"type\":\"bytes32\"}],\"name\":\"test_fail_addProjectUrlHashByNonOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes12\",\"name\":\"projectIdUpper\",\"type\":\"bytes12\"}],\"name\":\"test_fail_claimInvalidOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"otherUser\",\"type\":\"address\"},{\"internalType\":\"bytes12\",\"name\":\"projectIdUpper\",\"type\":\"bytes12\"}],\"name\":\"test_fail_claimProjectTwice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bytes12\",\"name\":\"projectIdUpper\",\"type\":\"bytes12\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"name\":\"test_fail_removeNonexistentUrl\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bytes12\",\"name\":\"projectIdUpper\",\"type\":\"bytes12\"},{\"internalType\":\"bytes32\",\"name\":\"urlHash\",\"type\":\"bytes32\"}],\"name\":\"test_fail_removeNonexistentUrlHash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"nonOwner\",\"type\":\"address\"},{\"internalType\":\"bytes12\",\"name\":\"projectIdUpper\",\"type\":\"bytes12\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"name\":\"test_fail_removeProjectUrlByNonOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"nonOwner\",\"type\":\"address\"},{\"internalType\":\"bytes12\",\"name\":\"projectIdUpper\",\"type\":\"bytes12\"},{\"internalType\":\"bytes32[]\",\"name\":\"urlHashes\",\"type\":\"bytes32[]\"}],\"name\":\"test_fail_removeProjectUrlHashBatchByNonOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"nonOwner\",\"type\":\"address\"},{\"internalType\":\"bytes12\",\"name\":\"projectIdUpper\",\"type\":\"bytes12\"},{\"internalType\":\"bytes32\",\"name\":\"urlHash\",\"type\":\"bytes32\"}],\"name\":\"test_fail_removeProjectUrlHashByNonOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bytes12\",\"name\":\"projectIdUpper\",\"type\":\"bytes12\"},{\"internalType\":\"bytes32[]\",\"name\":\"urlHashes\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256\",\"name\":\"urlHashIdx\",\"type\":\"uint256\"}],\"name\":\"test_fail_removeUrlHashWrongIndex\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"nonOwner\",\"type\":\"address\"},{\"internalType\":\"bytes12\",\"name\":\"projectIdUpper\",\"type\":\"bytes12\"}],\"name\":\"test_fail_transferByNonAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bytes12\",\"name\":\"projectIdUpper\",\"type\":\"bytes12\"}],\"name\":\"test_fail_transferInvalidOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"wallet\",\"type\":\"address\"},{\"internalType\":\"bytes12\",\"name\":\"projectIdUpper\",\"type\":\"bytes12\"},{\"internalType\":\"string\",\"name\":\"validUrl\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"invalidUrl\",\"type\":\"string\"}],\"name\":\"test_fail_validateAttestationWithInvalidUrl\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bytes12\",\"name\":\"projectIdUpper\",\"type\":\"bytes12\"},{\"internalType\":\"string[]\",\"name\":\"urls\",\"type\":\"string[]\"},{\"internalType\":\"uint256\",\"name\":\"urlIdx\",\"type\":\"uint256\"}],\"name\":\"test_removeProjectUrl\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bytes12\",\"name\":\"projectIdUpper\",\"type\":\"bytes12\"},{\"internalType\":\"bytes32[]\",\"name\":\"urlHashes\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256\",\"name\":\"urlHashIdx\",\"type\":\"uint256\"}],\"name\":\"test_removeProjectUrlHash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bytes12\",\"name\":\"projectIdUpper\",\"type\":\"bytes12\"},{\"internalType\":\"bytes32[]\",\"name\":\"urlHashes\",\"type\":\"bytes32[]\"}],\"name\":\"test_removeProjectUrlHashBatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bytes12\",\"name\":\"projectIdUpper\",\"type\":\"bytes12\"},{\"internalType\":\"bytes32[]\",\"name\":\"urlHashes\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"urlIdxs\",\"type\":\"uint256[]\"}],\"name\":\"test_removeProjectUrlHashBatchWithInvalidUrlIdxs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bytes12\",\"name\":\"projectIdUpper\",\"type\":\"bytes12\"},{\"internalType\":\"bytes32[]\",\"name\":\"urlHashes\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"urlIdxs\",\"type\":\"uint256[]\"}],\"name\":\"test_removeProjectUrlHashBatchWithInvalidUrlIdxsOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"},{\"internalType\":\"bytes12\",\"name\":\"projectIdUpper\",\"type\":\"bytes12\"},{\"internalType\":\"bytes32\",\"name\":\"urlHash\",\"type\":\"bytes32\"}],\"name\":\"test_transferProject\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"wallet\",\"type\":\"address\"},{\"internalType\":\"bytes12\",\"name\":\"projectIdUpper\",\"type\":\"bytes12\"},{\"internalType\":\"string[]\",\"name\":\"urls\",\"type\":\"string[]\"},{\"internalType\":\"uint256\",\"name\":\"urlIdx\",\"type\":\"uint256\"}],\"name\":\"test_validateAttestationMultiple\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"wallet\",\"type\":\"address\"},{\"internalType\":\"bytes12\",\"name\":\"projectIdUpper\",\"type\":\"bytes12\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"name\":\"test_validateAttestationSingle\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"events\":{\"ProjectClaimed(bytes32,address)\":{\"notice\":\"Emitted when a project is claimed\"},\"ProjectOwnerTransferred(bytes32,address)\":{\"notice\":\"Emitted when a project owner is transferred\"},\"ProjectUrlAdded(bytes32,bytes32)\":{\"notice\":\"Emitted when a project URL is added\"},\"ProjectUrlRemoved(bytes32,bytes32)\":{\"notice\":\"Emitted when a project URL is removed\"}},\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/ImplicitProjectRegistry.t.sol\":\"ImplicitProjectRegistryTest\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9\",\"dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/sequence-v3/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287\",\"dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p\"]},\"lib/sequence-v3/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/sequence-v3/src/extensions/sessions/implicit/Attestation.sol\":{\"keccak256\":\"0xcaa44022b5eb4bc7ab487b3b1a0125da67e2e891cee983ef6cdb6814f045efc8\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://94829782b6dcb482d7c002511c590d1ad8de3b21e5e72575df18be73565b3638\",\"dweb:/ipfs/QmZ4u9FxALzMzKR7auW8FmFkhGVw8kRDeDRJ1PKwKaWNWF\"]},\"lib/sequence-v3/src/extensions/sessions/implicit/ISignalsImplicitMode.sol\":{\"keccak256\":\"0x6cb48f50c49bcb3c7071306fe9fac6c102bc9eabf73d9909e19ab3b9a835d0a8\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://15297e969f64fc1152654d1cefbe276c15a0ecfc11f86b4c276bb0b454fe700a\",\"dweb:/ipfs/QmeehNFYBPPtJePwUcqiYCgiuFotur4VVVCV1KvegdCCZ4\"]},\"lib/sequence-v3/src/modules/Payload.sol\":{\"keccak256\":\"0x03b3dc2a4a556d3007671e910813dc4703ecb16f5bc2c6645e4c0d8512f2d76a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://9b41263156d5a310a48038e8c3871e9acdb806c018bc952d1a56efed62954e17\",\"dweb:/ipfs/QmaiuTbQgaiCvtN2V6roe4RTi6hHV85mNZpWKqvKA8ofqw\"]},\"lib/sequence-v3/src/utils/LibBytes.sol\":{\"keccak256\":\"0x4fe0b4786b2157e12384b90ae9daa1009b74b2547a8a24b800a8b998278c874b\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://065129e32d1a318e89fb7587e136c33177a7848393f9055c0ac601b84741cd8c\",\"dweb:/ipfs/QmVWucfHSHRJriRFNoJqoeDcVB4fDfqbccM8KPBmwcxVu3\"]},\"src/helper/SignalsImplicitMode.sol\":{\"keccak256\":\"0xd9107be2460f7f7ec4bdfefc3d10c79aa92b9285e1b12a75cb2a8d17b150a2ec\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://9294d6788fc490030dfc6aef1b8a5b0684a98aaff880c713a284d6b9b02c29f9\",\"dweb:/ipfs/QmcuCpVkx6yDjXhPNgPdeNpxyNbQ4kQnXWoz24VHZEXDFj\"]},\"src/registry/IImplicitProjectRegistry.sol\":{\"keccak256\":\"0xa14fecf045549da52f725265a9ecf08133fc94c61c626ad87d981e4b91cbf203\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://dd92526b0b0038c628295d0ea279871995b998d4f2d2cab92cdcd3fd8535c543\",\"dweb:/ipfs/QmbNuRU7qFEcHsCmEiR6oFpcLH85vFRLpFNiVbUczYDZkH\"]},\"src/registry/IImplicitProjectValidation.sol\":{\"keccak256\":\"0x1e8c305e011aa13d774e0ff3cfd9286af3d8174c4e33ba5ef8f724ea2dd6e5b2\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://057ad8894656688eefb257c02696f37281d3e7610cd3c3db8f1c3954fba9ea9c\",\"dweb:/ipfs/QmbdeFH1XxLyWqdTEmRkGNiebMVAxuREtuLpZXRErCyYM6\"]},\"src/registry/ImplicitProjectRegistry.sol\":{\"keccak256\":\"0x178b0f0a8022f9d5bdc434b9b54a55387b760d44b2783cef86756eafb7911617\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b9720240bade0c56c477f6df7993f6a8f9c6946e1e62d8d9198c2cf2aa2c2a24\",\"dweb:/ipfs/QmXCZmcb4GiUytzy3uPgXwmPYf8VcVy3YmcmgVMwKnncdt\"]},\"test/ImplicitProjectRegistry.t.sol\":{\"keccak256\":\"0x8311677081f5f5e12eba8419a6e62d91a950d49a9f0aea81d84949d0e4ec6d83\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://398b4a3a5cad1015c8e899566552366393e38d851ff15ae7ee905b42caa89e66\",\"dweb:/ipfs/QmdApvMWh48aRP39KnaMfW5A6bDRMfuVSsamuEM9sPf3Tn\"]},\"test/TestHelper.sol\":{\"keccak256\":\"0xc0edfb1ce57edb0f263183839aa67fd588f2d9f3987e13029149be7dcc32ea57\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d91003ef8784700368f3d4e6410732bea65ce7eeec9b719b9167f30f9ca76ac2\",\"dweb:/ipfs/QmShjBB4NB9YwGQm7sA2MmmbEeKT9yPKzEtSoJX9ZASXce\"]},\"test/mock/SignalsImplicitModeMock.sol\":{\"keccak256\":\"0x45f582ed846ca8f09391ec8f39a13e71371bff3ab6d7829a479ffd30049ba49e\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://9c775ddf09592811ea8f4b4e4303118958fc13104d2f8c3d6d2195220f65d4a4\",\"dweb:/ipfs/QmWD9ytPjuFjFiu5em37HNZawGE7tQVtLov2iXkAos9sFr\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes32","name":"projectId","type":"bytes32","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":true}],"type":"event","name":"ProjectClaimed","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"projectId","type":"bytes32","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"ProjectOwnerTransferred","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"projectId","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"urlHash","type":"bytes32","indexed":true}],"type":"event","name":"ProjectUrlAdded","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"projectId","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"urlHash","type":"bytes32","indexed":true}],"type":"event","name":"ProjectUrlRemoved","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"excludedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract ImplicitProjectRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"setUp"},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzArtifactSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"string","name":"artifact","type":"string"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"bytes12","name":"projectIdUpper","type":"bytes12"},{"internalType":"string","name":"url","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"test_addProjectUrl"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"bytes12","name":"projectIdUpper","type":"bytes12"},{"internalType":"string[]","name":"urls","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"test_addProjectUrlBatch"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"bytes12","name":"projectIdUpper","type":"bytes12"},{"internalType":"bytes32","name":"urlHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"test_addProjectUrlHash"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"bytes12","name":"projectIdUpper","type":"bytes12"},{"internalType":"bytes32[]","name":"urlHashes","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"test_addProjectUrlHashBatch"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"bytes12","name":"projectIdUpper","type":"bytes12"}],"stateMutability":"nonpayable","type":"function","name":"test_claimProject"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"bytes12","name":"projectIdUpper","type":"bytes12"},{"internalType":"string","name":"url","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"test_fail_addProjectUrlAlreadyExists"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"bytes12","name":"projectIdUpper","type":"bytes12"},{"internalType":"string","name":"url","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"test_fail_addProjectUrlAlreadyExistsHash"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"nonOwner","type":"address"},{"internalType":"bytes12","name":"projectIdUpper","type":"bytes12"},{"internalType":"string","name":"url","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"test_fail_addProjectUrlByNonOwner"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"bytes12","name":"projectIdUpper","type":"bytes12"},{"internalType":"bytes32","name":"urlHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"test_fail_addProjectUrlHashAlreadyExists"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"bytes12","name":"projectIdUpper","type":"bytes12"},{"internalType":"string","name":"url","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"test_fail_addProjectUrlHashAlreadyExistsFull"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"nonOwner","type":"address"},{"internalType":"bytes12","name":"projectIdUpper","type":"bytes12"},{"internalType":"bytes32[]","name":"urlHashes","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"test_fail_addProjectUrlHashBatchByNonOwner"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"nonOwner","type":"address"},{"internalType":"bytes12","name":"projectIdUpper","type":"bytes12"},{"internalType":"bytes32","name":"urlHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"test_fail_addProjectUrlHashByNonOwner"},{"inputs":[{"internalType":"bytes12","name":"projectIdUpper","type":"bytes12"}],"stateMutability":"nonpayable","type":"function","name":"test_fail_claimInvalidOwner"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"otherUser","type":"address"},{"internalType":"bytes12","name":"projectIdUpper","type":"bytes12"}],"stateMutability":"nonpayable","type":"function","name":"test_fail_claimProjectTwice"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"bytes12","name":"projectIdUpper","type":"bytes12"},{"internalType":"string","name":"url","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"test_fail_removeNonexistentUrl"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"bytes12","name":"projectIdUpper","type":"bytes12"},{"internalType":"bytes32","name":"urlHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"test_fail_removeNonexistentUrlHash"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"nonOwner","type":"address"},{"internalType":"bytes12","name":"projectIdUpper","type":"bytes12"},{"internalType":"string","name":"url","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"test_fail_removeProjectUrlByNonOwner"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"nonOwner","type":"address"},{"internalType":"bytes12","name":"projectIdUpper","type":"bytes12"},{"internalType":"bytes32[]","name":"urlHashes","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"test_fail_removeProjectUrlHashBatchByNonOwner"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"nonOwner","type":"address"},{"internalType":"bytes12","name":"projectIdUpper","type":"bytes12"},{"internalType":"bytes32","name":"urlHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"test_fail_removeProjectUrlHashByNonOwner"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"bytes12","name":"projectIdUpper","type":"bytes12"},{"internalType":"bytes32[]","name":"urlHashes","type":"bytes32[]"},{"internalType":"uint256","name":"urlHashIdx","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"test_fail_removeUrlHashWrongIndex"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"nonOwner","type":"address"},{"internalType":"bytes12","name":"projectIdUpper","type":"bytes12"}],"stateMutability":"nonpayable","type":"function","name":"test_fail_transferByNonAdmin"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"bytes12","name":"projectIdUpper","type":"bytes12"}],"stateMutability":"nonpayable","type":"function","name":"test_fail_transferInvalidOwner"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"wallet","type":"address"},{"internalType":"bytes12","name":"projectIdUpper","type":"bytes12"},{"internalType":"string","name":"validUrl","type":"string"},{"internalType":"string","name":"invalidUrl","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"test_fail_validateAttestationWithInvalidUrl"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"bytes12","name":"projectIdUpper","type":"bytes12"},{"internalType":"string[]","name":"urls","type":"string[]"},{"internalType":"uint256","name":"urlIdx","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"test_removeProjectUrl"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"bytes12","name":"projectIdUpper","type":"bytes12"},{"internalType":"bytes32[]","name":"urlHashes","type":"bytes32[]"},{"internalType":"uint256","name":"urlHashIdx","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"test_removeProjectUrlHash"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"bytes12","name":"projectIdUpper","type":"bytes12"},{"internalType":"bytes32[]","name":"urlHashes","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"test_removeProjectUrlHashBatch"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"bytes12","name":"projectIdUpper","type":"bytes12"},{"internalType":"bytes32[]","name":"urlHashes","type":"bytes32[]"},{"internalType":"uint256[]","name":"urlIdxs","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"test_removeProjectUrlHashBatchWithInvalidUrlIdxs"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"bytes12","name":"projectIdUpper","type":"bytes12"},{"internalType":"bytes32[]","name":"urlHashes","type":"bytes32[]"},{"internalType":"uint256[]","name":"urlIdxs","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"test_removeProjectUrlHashBatchWithInvalidUrlIdxsOrder"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"newOwner","type":"address"},{"internalType":"bytes12","name":"projectIdUpper","type":"bytes12"},{"internalType":"bytes32","name":"urlHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"test_transferProject"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"wallet","type":"address"},{"internalType":"bytes12","name":"projectIdUpper","type":"bytes12"},{"internalType":"string[]","name":"urls","type":"string[]"},{"internalType":"uint256","name":"urlIdx","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"test_validateAttestationMultiple"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"wallet","type":"address"},{"internalType":"bytes12","name":"projectIdUpper","type":"bytes12"},{"internalType":"string","name":"url","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"test_validateAttestationSingle"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"test/ImplicitProjectRegistry.t.sol":"ImplicitProjectRegistryTest"},"evmVersion":"prague","libraries":{}},"sources":{"lib/forge-std/src/Base.sol":{"keccak256":"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf","urls":["bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d","dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43","urls":["bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3","dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa","urls":["bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2","dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746","urls":["bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41","dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK"],"license":"MIT"},"lib/forge-std/src/StdConstants.sol":{"keccak256":"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534","urls":["bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc","dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d","urls":["bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391","dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500","urls":["bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974","dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd","urls":["bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc","dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdToml.sol":{"keccak256":"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861","urls":["bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3","dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8","urls":["bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a","dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c","urls":["bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4","dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39","urls":["bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9","dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5","urls":["bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57","dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f","urls":["bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d","dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11","urls":["bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab","dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3"],"license":"MIT"},"lib/sequence-v3/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa","urls":["bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287","dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p"],"license":"MIT"},"lib/sequence-v3/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"lib/sequence-v3/src/extensions/sessions/implicit/Attestation.sol":{"keccak256":"0xcaa44022b5eb4bc7ab487b3b1a0125da67e2e891cee983ef6cdb6814f045efc8","urls":["bzz-raw://94829782b6dcb482d7c002511c590d1ad8de3b21e5e72575df18be73565b3638","dweb:/ipfs/QmZ4u9FxALzMzKR7auW8FmFkhGVw8kRDeDRJ1PKwKaWNWF"],"license":"Apache-2.0"},"lib/sequence-v3/src/extensions/sessions/implicit/ISignalsImplicitMode.sol":{"keccak256":"0x6cb48f50c49bcb3c7071306fe9fac6c102bc9eabf73d9909e19ab3b9a835d0a8","urls":["bzz-raw://15297e969f64fc1152654d1cefbe276c15a0ecfc11f86b4c276bb0b454fe700a","dweb:/ipfs/QmeehNFYBPPtJePwUcqiYCgiuFotur4VVVCV1KvegdCCZ4"],"license":"Apache-2.0"},"lib/sequence-v3/src/modules/Payload.sol":{"keccak256":"0x03b3dc2a4a556d3007671e910813dc4703ecb16f5bc2c6645e4c0d8512f2d76a","urls":["bzz-raw://9b41263156d5a310a48038e8c3871e9acdb806c018bc952d1a56efed62954e17","dweb:/ipfs/QmaiuTbQgaiCvtN2V6roe4RTi6hHV85mNZpWKqvKA8ofqw"],"license":"Apache-2.0"},"lib/sequence-v3/src/utils/LibBytes.sol":{"keccak256":"0x4fe0b4786b2157e12384b90ae9daa1009b74b2547a8a24b800a8b998278c874b","urls":["bzz-raw://065129e32d1a318e89fb7587e136c33177a7848393f9055c0ac601b84741cd8c","dweb:/ipfs/QmVWucfHSHRJriRFNoJqoeDcVB4fDfqbccM8KPBmwcxVu3"],"license":"Apache-2.0"},"src/helper/SignalsImplicitMode.sol":{"keccak256":"0xd9107be2460f7f7ec4bdfefc3d10c79aa92b9285e1b12a75cb2a8d17b150a2ec","urls":["bzz-raw://9294d6788fc490030dfc6aef1b8a5b0684a98aaff880c713a284d6b9b02c29f9","dweb:/ipfs/QmcuCpVkx6yDjXhPNgPdeNpxyNbQ4kQnXWoz24VHZEXDFj"],"license":"Apache-2.0"},"src/registry/IImplicitProjectRegistry.sol":{"keccak256":"0xa14fecf045549da52f725265a9ecf08133fc94c61c626ad87d981e4b91cbf203","urls":["bzz-raw://dd92526b0b0038c628295d0ea279871995b998d4f2d2cab92cdcd3fd8535c543","dweb:/ipfs/QmbNuRU7qFEcHsCmEiR6oFpcLH85vFRLpFNiVbUczYDZkH"],"license":"Apache-2.0"},"src/registry/IImplicitProjectValidation.sol":{"keccak256":"0x1e8c305e011aa13d774e0ff3cfd9286af3d8174c4e33ba5ef8f724ea2dd6e5b2","urls":["bzz-raw://057ad8894656688eefb257c02696f37281d3e7610cd3c3db8f1c3954fba9ea9c","dweb:/ipfs/QmbdeFH1XxLyWqdTEmRkGNiebMVAxuREtuLpZXRErCyYM6"],"license":"Apache-2.0"},"src/registry/ImplicitProjectRegistry.sol":{"keccak256":"0x178b0f0a8022f9d5bdc434b9b54a55387b760d44b2783cef86756eafb7911617","urls":["bzz-raw://b9720240bade0c56c477f6df7993f6a8f9c6946e1e62d8d9198c2cf2aa2c2a24","dweb:/ipfs/QmXCZmcb4GiUytzy3uPgXwmPYf8VcVy3YmcmgVMwKnncdt"],"license":"Apache-2.0"},"test/ImplicitProjectRegistry.t.sol":{"keccak256":"0x8311677081f5f5e12eba8419a6e62d91a950d49a9f0aea81d84949d0e4ec6d83","urls":["bzz-raw://398b4a3a5cad1015c8e899566552366393e38d851ff15ae7ee905b42caa89e66","dweb:/ipfs/QmdApvMWh48aRP39KnaMfW5A6bDRMfuVSsamuEM9sPf3Tn"],"license":"Apache-2.0"},"test/TestHelper.sol":{"keccak256":"0xc0edfb1ce57edb0f263183839aa67fd588f2d9f3987e13029149be7dcc32ea57","urls":["bzz-raw://d91003ef8784700368f3d4e6410732bea65ce7eeec9b719b9167f30f9ca76ac2","dweb:/ipfs/QmShjBB4NB9YwGQm7sA2MmmbEeKT9yPKzEtSoJX9ZASXce"],"license":"Apache-2.0"},"test/mock/SignalsImplicitModeMock.sol":{"keccak256":"0x45f582ed846ca8f09391ec8f39a13e71371bff3ab6d7829a479ffd30049ba49e","urls":["bzz-raw://9c775ddf09592811ea8f4b4e4303118958fc13104d2f8c3d6d2195220f65d4a4","dweb:/ipfs/QmWD9ytPjuFjFiu5em37HNZawGE7tQVtLov2iXkAos9sFr"],"license":"Apache-2.0"}},"version":1},"id":29} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/LibBytes.sol/LibBytes.json b/lib/signals-implicit-mode/out/LibBytes.sol/LibBytes.json new file mode 100644 index 0000000000..54b7e2b57e --- /dev/null +++ b/lib/signals-implicit-mode/out/LibBytes.sol/LibBytes.json @@ -0,0 +1 @@ +{"abi":[],"bytecode":{"object":"0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220bccae16ee3648778e1cd3b85eee35ef2e7bce9b94fbf6d40d26025841e9a60ea64736f6c634300081c0033","sourceMap":"432:3576:24:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;432:3576:24;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220bccae16ee3648778e1cd3b85eee35ef2e7bce9b94fbf6d40d26025841e9a60ea64736f6c634300081c0033","sourceMap":"432:3576:24:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Agustin Aguilar (aa@horizon.io), Michael Standen (mstan@horizon.io)\",\"details\":\"These functions do not check if the input index is within the bounds of the data array.Reading out of bounds may return dirty values.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"Library for reading data from bytes arrays\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"This library contains functions for reading data from bytes arrays.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/sequence-v3/src/utils/LibBytes.sol\":\"LibBytes\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/sequence-v3/src/utils/LibBytes.sol\":{\"keccak256\":\"0x4fe0b4786b2157e12384b90ae9daa1009b74b2547a8a24b800a8b998278c874b\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://065129e32d1a318e89fb7587e136c33177a7848393f9055c0ac601b84741cd8c\",\"dweb:/ipfs/QmVWucfHSHRJriRFNoJqoeDcVB4fDfqbccM8KPBmwcxVu3\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/sequence-v3/src/utils/LibBytes.sol":"LibBytes"},"evmVersion":"prague","libraries":{}},"sources":{"lib/sequence-v3/src/utils/LibBytes.sol":{"keccak256":"0x4fe0b4786b2157e12384b90ae9daa1009b74b2547a8a24b800a8b998278c874b","urls":["bzz-raw://065129e32d1a318e89fb7587e136c33177a7848393f9055c0ac601b84741cd8c","dweb:/ipfs/QmVWucfHSHRJriRFNoJqoeDcVB4fDfqbccM8KPBmwcxVu3"],"license":"Apache-2.0"}},"version":1},"id":24} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/Payload.sol/Payload.json b/lib/signals-implicit-mode/out/Payload.sol/Payload.json new file mode 100644 index 0000000000..36762ef18d --- /dev/null +++ b/lib/signals-implicit-mode/out/Payload.sol/Payload.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"BEHAVIOR_ABORT_ON_ERROR","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"BEHAVIOR_IGNORE_ERROR","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"BEHAVIOR_REVERT_ON_ERROR","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"KIND_CONFIG_UPDATE","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"KIND_DIGEST","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"KIND_MESSAGE","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"KIND_TRANSACTIONS","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"error","name":"InvalidKind","inputs":[{"name":"kind","type":"uint8","internalType":"uint8"}]}],"bytecode":{"object":"0x60e7610033600b8282823980515f1a607314602757634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610607c575f3560e01c8063420b0c2511605d578063420b0c251460805780634a7d2aa014609d5780634e5f57151460a3578063b570180a1460aa575f5ffd5b80630739d59a146080578063075a3d2d14609d5780633d5c1f9b1460a3575b5f5ffd5b6087600281565b60405160ff909116815260200160405180910390f35b60875f81565b6087600181565b608760038156fea264697066735822122018b97a37563de76d6a275bcefb5aa4334bab029f4b6f972d8f9e4846fc73d7a564736f6c634300081c0033","sourceMap":"275:9818:23:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;275:9818:23;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x7300000000000000000000000000000000000000003014608060405260043610607c575f3560e01c8063420b0c2511605d578063420b0c251460805780634a7d2aa014609d5780634e5f57151460a3578063b570180a1460aa575f5ffd5b80630739d59a146080578063075a3d2d14609d5780633d5c1f9b1460a3575b5f5ffd5b6087600281565b60405160ff909116815260200160405180910390f35b60875f81565b6087600181565b608760038156fea264697066735822122018b97a37563de76d6a275bcefb5aa4334bab029f4b6f972d8f9e4846fc73d7a564736f6c634300081c0033","sourceMap":"275:9818:23:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2439:47;;2482:4;2439:47;;;;;194:4:33;182:17;;;164:36;;152:2;137:18;2439:47:23;;;;;;;2279:46;;2321:4;2279:46;;2358:41;;2395:4;2358:41;;2520:40;;2556:4;2520:40;","linkReferences":{}},"methodIdentifiers":{"BEHAVIOR_ABORT_ON_ERROR()":"420b0c25","BEHAVIOR_IGNORE_ERROR()":"4a7d2aa0","BEHAVIOR_REVERT_ON_ERROR()":"4e5f5715","KIND_CONFIG_UPDATE()":"0739d59a","KIND_DIGEST()":"b570180a","KIND_MESSAGE()":"3d5c1f9b","KIND_TRANSACTIONS()":"075a3d2d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"kind\",\"type\":\"uint8\"}],\"name\":\"InvalidKind\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BEHAVIOR_ABORT_ON_ERROR\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"BEHAVIOR_IGNORE_ERROR\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"BEHAVIOR_REVERT_ON_ERROR\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"KIND_CONFIG_UPDATE\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"KIND_DIGEST\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"KIND_MESSAGE\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"KIND_TRANSACTIONS\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Agustin Aguilar, Michael Standen, William Hua\",\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"CALLS_TYPEHASH\":{\"details\":\"keccak256(\\\"Calls(Call[] calls,uint256 space,uint256 nonce,address[] wallets)Call(address to,uint256 value,bytes data,uint256 gasLimit,bool delegateCall,bool onlyFallback,uint256 behaviorOnError)\\\")\"},\"CALL_TYPEHASH\":{\"details\":\"keccak256(\\\"Call(address to,uint256 value,bytes data,uint256 gasLimit,bool delegateCall,bool onlyFallback,uint256 behaviorOnError)\\\")\"},\"CONFIG_UPDATE_TYPEHASH\":{\"details\":\"keccak256(\\\"ConfigUpdate(bytes32 imageHash,address[] wallets)\\\")\"},\"EIP712_DOMAIN_NAME_SEQUENCE\":{\"details\":\"keccak256(\\\"Sequence Wallet\\\")\"},\"EIP712_DOMAIN_TYPEHASH\":{\"details\":\"keccak256(\\\"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\\\")\"},\"EIP712_DOMAIN_VERSION_SEQUENCE\":{\"details\":\"keccak256(\\\"3\\\")\"},\"MESSAGE_TYPEHASH\":{\"details\":\"keccak256(\\\"Message(bytes message,address[] wallets)\\\")\"}},\"title\":\"Payload\",\"version\":1},\"userdoc\":{\"errors\":{\"InvalidKind(uint8)\":[{\"notice\":\"Error thrown when the kind is invalid\"}]},\"kind\":\"user\",\"methods\":{\"BEHAVIOR_ABORT_ON_ERROR()\":{\"notice\":\"Behavior on error: abort on error\"},\"BEHAVIOR_IGNORE_ERROR()\":{\"notice\":\"Behavior on error: ignore error\"},\"BEHAVIOR_REVERT_ON_ERROR()\":{\"notice\":\"Behavior on error: revert on error\"},\"KIND_CONFIG_UPDATE()\":{\"notice\":\"Kind of config update\"},\"KIND_DIGEST()\":{\"notice\":\"Kind of message\"},\"KIND_MESSAGE()\":{\"notice\":\"Kind of digest\"},\"KIND_TRANSACTIONS()\":{\"notice\":\"Kind of transaction\"}},\"notice\":\"Library for encoding and decoding payloads\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/sequence-v3/src/modules/Payload.sol\":\"Payload\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/sequence-v3/src/modules/Payload.sol\":{\"keccak256\":\"0x03b3dc2a4a556d3007671e910813dc4703ecb16f5bc2c6645e4c0d8512f2d76a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://9b41263156d5a310a48038e8c3871e9acdb806c018bc952d1a56efed62954e17\",\"dweb:/ipfs/QmaiuTbQgaiCvtN2V6roe4RTi6hHV85mNZpWKqvKA8ofqw\"]},\"lib/sequence-v3/src/utils/LibBytes.sol\":{\"keccak256\":\"0x4fe0b4786b2157e12384b90ae9daa1009b74b2547a8a24b800a8b998278c874b\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://065129e32d1a318e89fb7587e136c33177a7848393f9055c0ac601b84741cd8c\",\"dweb:/ipfs/QmVWucfHSHRJriRFNoJqoeDcVB4fDfqbccM8KPBmwcxVu3\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint8","name":"kind","type":"uint8"}],"type":"error","name":"InvalidKind"},{"inputs":[],"stateMutability":"view","type":"function","name":"BEHAVIOR_ABORT_ON_ERROR","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"BEHAVIOR_IGNORE_ERROR","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"BEHAVIOR_REVERT_ON_ERROR","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"KIND_CONFIG_UPDATE","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"KIND_DIGEST","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"KIND_MESSAGE","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"KIND_TRANSACTIONS","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"BEHAVIOR_ABORT_ON_ERROR()":{"notice":"Behavior on error: abort on error"},"BEHAVIOR_IGNORE_ERROR()":{"notice":"Behavior on error: ignore error"},"BEHAVIOR_REVERT_ON_ERROR()":{"notice":"Behavior on error: revert on error"},"KIND_CONFIG_UPDATE()":{"notice":"Kind of config update"},"KIND_DIGEST()":{"notice":"Kind of message"},"KIND_MESSAGE()":{"notice":"Kind of digest"},"KIND_TRANSACTIONS()":{"notice":"Kind of transaction"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/sequence-v3/src/modules/Payload.sol":"Payload"},"evmVersion":"prague","libraries":{}},"sources":{"lib/sequence-v3/src/modules/Payload.sol":{"keccak256":"0x03b3dc2a4a556d3007671e910813dc4703ecb16f5bc2c6645e4c0d8512f2d76a","urls":["bzz-raw://9b41263156d5a310a48038e8c3871e9acdb806c018bc952d1a56efed62954e17","dweb:/ipfs/QmaiuTbQgaiCvtN2V6roe4RTi6hHV85mNZpWKqvKA8ofqw"],"license":"Apache-2.0"},"lib/sequence-v3/src/utils/LibBytes.sol":{"keccak256":"0x4fe0b4786b2157e12384b90ae9daa1009b74b2547a8a24b800a8b998278c874b","urls":["bzz-raw://065129e32d1a318e89fb7587e136c33177a7848393f9055c0ac601b84741cd8c","dweb:/ipfs/QmVWucfHSHRJriRFNoJqoeDcVB4fDfqbccM8KPBmwcxVu3"],"license":"Apache-2.0"}},"version":1},"id":23} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/Script.sol/Script.json b/lib/signals-implicit-mode/out/Script.sol/Script.json new file mode 100644 index 0000000000..37c2cb8958 --- /dev/null +++ b/lib/signals-implicit-mode/out/Script.sol/Script.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"IS_SCRIPT()":"f8ccbf47"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Script.sol\":\"Script\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0xc942e27c7baae499beb01afbbae99f24d42af9a6e4aae675bc6901b704aa8e9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0456008adf68947247f358b62863af4a8e349549d2260f2ff9569ff0e3cf5c98\",\"dweb:/ipfs/QmdviSUj2i7o3TPN5vd2xocqGMFVqjUzaiJTZRYyPxyHPx\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9\",\"dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"IS_SCRIPT","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/Script.sol":"Script"},"evmVersion":"prague","libraries":{}},"sources":{"lib/forge-std/src/Base.sol":{"keccak256":"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf","urls":["bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d","dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs"],"license":"MIT"},"lib/forge-std/src/Script.sol":{"keccak256":"0xc942e27c7baae499beb01afbbae99f24d42af9a6e4aae675bc6901b704aa8e9b","urls":["bzz-raw://0456008adf68947247f358b62863af4a8e349549d2260f2ff9569ff0e3cf5c98","dweb:/ipfs/QmdviSUj2i7o3TPN5vd2xocqGMFVqjUzaiJTZRYyPxyHPx"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa","urls":["bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2","dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746","urls":["bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41","dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK"],"license":"MIT"},"lib/forge-std/src/StdConstants.sol":{"keccak256":"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534","urls":["bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc","dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500","urls":["bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974","dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd","urls":["bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc","dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8","urls":["bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a","dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39","urls":["bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9","dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5","urls":["bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57","dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f","urls":["bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d","dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11","urls":["bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab","dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3"],"license":"MIT"}},"version":1},"id":1} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/SignalsImplicitMode.sol/SignalsImplicitMode.json b/lib/signals-implicit-mode/out/SignalsImplicitMode.sol/SignalsImplicitMode.json new file mode 100644 index 0000000000..43ab9dc1c6 --- /dev/null +++ b/lib/signals-implicit-mode/out/SignalsImplicitMode.sol/SignalsImplicitMode.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"acceptImplicitRequest","inputs":[{"name":"wallet","type":"address","internalType":"address"},{"name":"attestation","type":"tuple","internalType":"struct Attestation","components":[{"name":"approvedSigner","type":"address","internalType":"address"},{"name":"identityType","type":"bytes4","internalType":"bytes4"},{"name":"issuerHash","type":"bytes32","internalType":"bytes32"},{"name":"audienceHash","type":"bytes32","internalType":"bytes32"},{"name":"applicationData","type":"bytes","internalType":"bytes"},{"name":"authData","type":"tuple","internalType":"struct AuthData","components":[{"name":"redirectUrl","type":"string","internalType":"string"},{"name":"issuedAt","type":"uint64","internalType":"uint64"}]}]},{"name":"call","type":"tuple","internalType":"struct Payload.Call","components":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"gasLimit","type":"uint256","internalType":"uint256"},{"name":"delegateCall","type":"bool","internalType":"bool"},{"name":"onlyFallback","type":"bool","internalType":"bool"},{"name":"behaviorOnError","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"acceptImplicitRequest(address,(address,bytes4,bytes32,bytes32,bytes,(string,uint64)),(address,uint256,bytes,uint256,bool,bool,uint256))":"9d043a66","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"wallet\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"approvedSigner\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"identityType\",\"type\":\"bytes4\"},{\"internalType\":\"bytes32\",\"name\":\"issuerHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"audienceHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"applicationData\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"redirectUrl\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"issuedAt\",\"type\":\"uint64\"}],\"internalType\":\"struct AuthData\",\"name\":\"authData\",\"type\":\"tuple\"}],\"internalType\":\"struct Attestation\",\"name\":\"attestation\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"delegateCall\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"onlyFallback\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"behaviorOnError\",\"type\":\"uint256\"}],\"internalType\":\"struct Payload.Call\",\"name\":\"call\",\"type\":\"tuple\"}],\"name\":\"acceptImplicitRequest\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Michael Standen\",\"kind\":\"dev\",\"methods\":{\"acceptImplicitRequest(address,(address,bytes4,bytes32,bytes32,bytes,(string,uint64)),(address,uint256,bytes,uint256,bool,bool,uint256))\":{\"params\":{\"attestation\":\"The attestation data\",\"call\":\"The call to validate\",\"wallet\":\"The wallet's address\"},\"returns\":{\"_0\":\"The hash of the implicit request if valid\"}},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"title\":\"SignalsImplicitMode\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"acceptImplicitRequest(address,(address,bytes4,bytes32,bytes32,bytes,(string,uint64)),(address,uint256,bytes,uint256,bool,bool,uint256))\":{\"notice\":\"Determines if an implicit request is valid\"}},\"notice\":\"Base contract for implicit mode validation by project\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/helper/SignalsImplicitMode.sol\":\"SignalsImplicitMode\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/sequence-v3/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287\",\"dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p\"]},\"lib/sequence-v3/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/sequence-v3/src/extensions/sessions/implicit/Attestation.sol\":{\"keccak256\":\"0xcaa44022b5eb4bc7ab487b3b1a0125da67e2e891cee983ef6cdb6814f045efc8\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://94829782b6dcb482d7c002511c590d1ad8de3b21e5e72575df18be73565b3638\",\"dweb:/ipfs/QmZ4u9FxALzMzKR7auW8FmFkhGVw8kRDeDRJ1PKwKaWNWF\"]},\"lib/sequence-v3/src/extensions/sessions/implicit/ISignalsImplicitMode.sol\":{\"keccak256\":\"0x6cb48f50c49bcb3c7071306fe9fac6c102bc9eabf73d9909e19ab3b9a835d0a8\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://15297e969f64fc1152654d1cefbe276c15a0ecfc11f86b4c276bb0b454fe700a\",\"dweb:/ipfs/QmeehNFYBPPtJePwUcqiYCgiuFotur4VVVCV1KvegdCCZ4\"]},\"lib/sequence-v3/src/modules/Payload.sol\":{\"keccak256\":\"0x03b3dc2a4a556d3007671e910813dc4703ecb16f5bc2c6645e4c0d8512f2d76a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://9b41263156d5a310a48038e8c3871e9acdb806c018bc952d1a56efed62954e17\",\"dweb:/ipfs/QmaiuTbQgaiCvtN2V6roe4RTi6hHV85mNZpWKqvKA8ofqw\"]},\"lib/sequence-v3/src/utils/LibBytes.sol\":{\"keccak256\":\"0x4fe0b4786b2157e12384b90ae9daa1009b74b2547a8a24b800a8b998278c874b\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://065129e32d1a318e89fb7587e136c33177a7848393f9055c0ac601b84741cd8c\",\"dweb:/ipfs/QmVWucfHSHRJriRFNoJqoeDcVB4fDfqbccM8KPBmwcxVu3\"]},\"src/helper/SignalsImplicitMode.sol\":{\"keccak256\":\"0xd9107be2460f7f7ec4bdfefc3d10c79aa92b9285e1b12a75cb2a8d17b150a2ec\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://9294d6788fc490030dfc6aef1b8a5b0684a98aaff880c713a284d6b9b02c29f9\",\"dweb:/ipfs/QmcuCpVkx6yDjXhPNgPdeNpxyNbQ4kQnXWoz24VHZEXDFj\"]},\"src/registry/IImplicitProjectValidation.sol\":{\"keccak256\":\"0x1e8c305e011aa13d774e0ff3cfd9286af3d8174c4e33ba5ef8f724ea2dd6e5b2\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://057ad8894656688eefb257c02696f37281d3e7610cd3c3db8f1c3954fba9ea9c\",\"dweb:/ipfs/QmbdeFH1XxLyWqdTEmRkGNiebMVAxuREtuLpZXRErCyYM6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"struct Attestation","name":"attestation","type":"tuple","components":[{"internalType":"address","name":"approvedSigner","type":"address"},{"internalType":"bytes4","name":"identityType","type":"bytes4"},{"internalType":"bytes32","name":"issuerHash","type":"bytes32"},{"internalType":"bytes32","name":"audienceHash","type":"bytes32"},{"internalType":"bytes","name":"applicationData","type":"bytes"},{"internalType":"struct AuthData","name":"authData","type":"tuple","components":[{"internalType":"string","name":"redirectUrl","type":"string"},{"internalType":"uint64","name":"issuedAt","type":"uint64"}]}]},{"internalType":"struct Payload.Call","name":"call","type":"tuple","components":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"gasLimit","type":"uint256"},{"internalType":"bool","name":"delegateCall","type":"bool"},{"internalType":"bool","name":"onlyFallback","type":"bool"},{"internalType":"uint256","name":"behaviorOnError","type":"uint256"}]}],"stateMutability":"view","type":"function","name":"acceptImplicitRequest","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"acceptImplicitRequest(address,(address,bytes4,bytes32,bytes32,bytes,(string,uint64)),(address,uint256,bytes,uint256,bool,bool,uint256))":{"params":{"attestation":"The attestation data","call":"The call to validate","wallet":"The wallet's address"},"returns":{"_0":"The hash of the implicit request if valid"}},"supportsInterface(bytes4)":{"details":"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas."}},"version":1},"userdoc":{"kind":"user","methods":{"acceptImplicitRequest(address,(address,bytes4,bytes32,bytes32,bytes,(string,uint64)),(address,uint256,bytes,uint256,bool,bool,uint256))":{"notice":"Determines if an implicit request is valid"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/helper/SignalsImplicitMode.sol":"SignalsImplicitMode"},"evmVersion":"prague","libraries":{}},"sources":{"lib/sequence-v3/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa","urls":["bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287","dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p"],"license":"MIT"},"lib/sequence-v3/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"lib/sequence-v3/src/extensions/sessions/implicit/Attestation.sol":{"keccak256":"0xcaa44022b5eb4bc7ab487b3b1a0125da67e2e891cee983ef6cdb6814f045efc8","urls":["bzz-raw://94829782b6dcb482d7c002511c590d1ad8de3b21e5e72575df18be73565b3638","dweb:/ipfs/QmZ4u9FxALzMzKR7auW8FmFkhGVw8kRDeDRJ1PKwKaWNWF"],"license":"Apache-2.0"},"lib/sequence-v3/src/extensions/sessions/implicit/ISignalsImplicitMode.sol":{"keccak256":"0x6cb48f50c49bcb3c7071306fe9fac6c102bc9eabf73d9909e19ab3b9a835d0a8","urls":["bzz-raw://15297e969f64fc1152654d1cefbe276c15a0ecfc11f86b4c276bb0b454fe700a","dweb:/ipfs/QmeehNFYBPPtJePwUcqiYCgiuFotur4VVVCV1KvegdCCZ4"],"license":"Apache-2.0"},"lib/sequence-v3/src/modules/Payload.sol":{"keccak256":"0x03b3dc2a4a556d3007671e910813dc4703ecb16f5bc2c6645e4c0d8512f2d76a","urls":["bzz-raw://9b41263156d5a310a48038e8c3871e9acdb806c018bc952d1a56efed62954e17","dweb:/ipfs/QmaiuTbQgaiCvtN2V6roe4RTi6hHV85mNZpWKqvKA8ofqw"],"license":"Apache-2.0"},"lib/sequence-v3/src/utils/LibBytes.sol":{"keccak256":"0x4fe0b4786b2157e12384b90ae9daa1009b74b2547a8a24b800a8b998278c874b","urls":["bzz-raw://065129e32d1a318e89fb7587e136c33177a7848393f9055c0ac601b84741cd8c","dweb:/ipfs/QmVWucfHSHRJriRFNoJqoeDcVB4fDfqbccM8KPBmwcxVu3"],"license":"Apache-2.0"},"src/helper/SignalsImplicitMode.sol":{"keccak256":"0xd9107be2460f7f7ec4bdfefc3d10c79aa92b9285e1b12a75cb2a8d17b150a2ec","urls":["bzz-raw://9294d6788fc490030dfc6aef1b8a5b0684a98aaff880c713a284d6b9b02c29f9","dweb:/ipfs/QmcuCpVkx6yDjXhPNgPdeNpxyNbQ4kQnXWoz24VHZEXDFj"],"license":"Apache-2.0"},"src/registry/IImplicitProjectValidation.sol":{"keccak256":"0x1e8c305e011aa13d774e0ff3cfd9286af3d8174c4e33ba5ef8f724ea2dd6e5b2","urls":["bzz-raw://057ad8894656688eefb257c02696f37281d3e7610cd3c3db8f1c3954fba9ea9c","dweb:/ipfs/QmbdeFH1XxLyWqdTEmRkGNiebMVAxuREtuLpZXRErCyYM6"],"license":"Apache-2.0"}},"version":1},"id":25} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/SignalsImplicitMode.t.sol/SignalsImplicitModeTest.json b/lib/signals-implicit-mode/out/SignalsImplicitMode.t.sol/SignalsImplicitModeTest.json new file mode 100644 index 0000000000..446e6ae43d --- /dev/null +++ b/lib/signals-implicit-mode/out/SignalsImplicitMode.t.sol/SignalsImplicitModeTest.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ImplicitProjectRegistry"}],"stateMutability":"view"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"signalsImplicitMode","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract SignalsImplicitModeMock"}],"stateMutability":"view"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"test_acceptsValidUrl","inputs":[{"name":"projectIdUpper","type":"bytes12","internalType":"bytes12"},{"name":"owner","type":"address","internalType":"address"},{"name":"url","type":"string","internalType":"string"},{"name":"attestation","type":"tuple","internalType":"struct Attestation","components":[{"name":"approvedSigner","type":"address","internalType":"address"},{"name":"identityType","type":"bytes4","internalType":"bytes4"},{"name":"issuerHash","type":"bytes32","internalType":"bytes32"},{"name":"audienceHash","type":"bytes32","internalType":"bytes32"},{"name":"applicationData","type":"bytes","internalType":"bytes"},{"name":"authData","type":"tuple","internalType":"struct AuthData","components":[{"name":"redirectUrl","type":"string","internalType":"string"},{"name":"issuedAt","type":"uint64","internalType":"uint64"}]}]},{"name":"wallet","type":"address","internalType":"address"},{"name":"call","type":"tuple","internalType":"struct Payload.Call","components":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"gasLimit","type":"uint256","internalType":"uint256"},{"name":"delegateCall","type":"bool","internalType":"bool"},{"name":"onlyFallback","type":"bool","internalType":"bool"},{"name":"behaviorOnError","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_acceptsValidUrlFromMultiple","inputs":[{"name":"projectIdUpper","type":"bytes12","internalType":"bytes12"},{"name":"owner","type":"address","internalType":"address"},{"name":"urls","type":"string[]","internalType":"string[]"},{"name":"urlIdx","type":"uint256","internalType":"uint256"},{"name":"attestation","type":"tuple","internalType":"struct Attestation","components":[{"name":"approvedSigner","type":"address","internalType":"address"},{"name":"identityType","type":"bytes4","internalType":"bytes4"},{"name":"issuerHash","type":"bytes32","internalType":"bytes32"},{"name":"audienceHash","type":"bytes32","internalType":"bytes32"},{"name":"applicationData","type":"bytes","internalType":"bytes"},{"name":"authData","type":"tuple","internalType":"struct AuthData","components":[{"name":"redirectUrl","type":"string","internalType":"string"},{"name":"issuedAt","type":"uint64","internalType":"uint64"}]}]},{"name":"wallet","type":"address","internalType":"address"},{"name":"call","type":"tuple","internalType":"struct Payload.Call","components":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"gasLimit","type":"uint256","internalType":"uint256"},{"name":"delegateCall","type":"bool","internalType":"bool"},{"name":"onlyFallback","type":"bool","internalType":"bool"},{"name":"behaviorOnError","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_rejectsInvalidUrl","inputs":[{"name":"projectId","type":"bytes32","internalType":"bytes32"},{"name":"url","type":"string","internalType":"string"},{"name":"attestation","type":"tuple","internalType":"struct Attestation","components":[{"name":"approvedSigner","type":"address","internalType":"address"},{"name":"identityType","type":"bytes4","internalType":"bytes4"},{"name":"issuerHash","type":"bytes32","internalType":"bytes32"},{"name":"audienceHash","type":"bytes32","internalType":"bytes32"},{"name":"applicationData","type":"bytes","internalType":"bytes"},{"name":"authData","type":"tuple","internalType":"struct AuthData","components":[{"name":"redirectUrl","type":"string","internalType":"string"},{"name":"issuedAt","type":"uint64","internalType":"uint64"}]}]},{"name":"wallet","type":"address","internalType":"address"},{"name":"call","type":"tuple","internalType":"struct Payload.Call","components":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"gasLimit","type":"uint256","internalType":"uint256"},{"name":"delegateCall","type":"bool","internalType":"bool"},{"name":"onlyFallback","type":"bool","internalType":"bool"},{"name":"behaviorOnError","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_supportsInterface","inputs":[{"name":"projectId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x6080604052600c8054600160ff199182168117909255601f80549091169091179055348015602b575f5ffd5b50614abb806100395f395ff3fe608060405234801561000f575f5ffd5b5060043610610149575f3560e01c80637b103999116100c7578063b0464fdc1161007d578063ba414fa611610063578063ba414fa61461029f578063e20c9f71146102b7578063fa7626d4146102bf575f5ffd5b8063b0464fdc1461028f578063b5508aa914610297575f5ffd5b806390110f2d116100ad57806390110f2d14610254578063916a17c614610267578063a401b02b1461027c575f5ffd5b80637b1039991461021f57806385226c811461023f575f5ffd5b80633e5e3c231161011c578063509327241161010257806350932724146101ad57806366d9a9a0146101c05780637aa3488f146101d5575f5ffd5b80633e5e3c231461019d5780633f7286f4146101a5575f5ffd5b80630a9254e41461014d5780631ed7831c146101575780632ade3880146101755780632f2377181461018a575b5f5ffd5b6101556102cc565b005b61015f610339565b60405161016c9190611fa7565b60405180910390f35b61017d6103a6565b60405161016c919061204b565b610155610198366004612516565b6104ef565b61015f610933565b61015f61099e565b6101556101bb3660046125d4565b610a09565b6101c8610c38565b60405161016c91906126d8565b601f546101fa90610100900473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161016c565b6020546101fa9073ffffffffffffffffffffffffffffffffffffffff1681565b610247610db1565b60405161016c9190612774565b6101556102623660046127e9565b610e7c565b61026f6113a9565b60405161016c9190612943565b61015561028a3660046129e5565b6114ac565b61026f611663565b610247611766565b6102a7611831565b604051901515815260200161016c565b61015f6118fd565b601f546102a79060ff1681565b6040516102d890611f8d565b604051809103905ff0801580156102f1573d5f5f3e3d5ffd5b50602080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6060601680548060200260200160405190810160405280929190818152602001828054801561039c57602002820191905f5260205f20905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610371575b5050505050905090565b6060601e805480602002602001604051908101604052809291908181526020015f905b828210156104e6575f848152602080822060408051808201825260028702909201805473ffffffffffffffffffffffffffffffffffffffff168352600181018054835181870281018701909452808452939591948681019491929084015b828210156104cf578382905f5260205f20018054610444906129fc565b80601f0160208091040260200160405190810160405280929190818152602001828054610470906129fc565b80156104bb5780601f10610492576101008083540402835291602001916104bb565b820191905f5260205f20905b81548152906001019060200180831161049e57829003601f168201915b505050505081526020019060010190610427565b5050505081525050815260200190600101906103c9565b50505050905090565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff861615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015610568575f5ffd5b505afa15801561057a573d5f5f3e3d5ffd5b5050505060a08301518490526040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b1580156105fe575f5ffd5b505af1158015610610573d5f5f3e3d5ffd5b50506020546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008a1660048201525f935073ffffffffffffffffffffffffffffffffffffffff909116915063d4df1018906024016020604051808303815f875af11580156106a5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106c99190612a4d565b6020546040517f2f28c69d00000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff1690632f28c69d906107229084908990600401612a64565b5f604051808303815f87803b158015610739575f5ffd5b505af115801561074b573d5f5f3e3d5ffd5b50505050737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156107a8575f5ffd5b505af11580156107ba573d5f5f3e3d5ffd5b505060205460405173ffffffffffffffffffffffffffffffffffffffff90911692508391506107e890611f9a565b73ffffffffffffffffffffffffffffffffffffffff90921682526020820152604001604051809103905ff080158015610823573d5f5f3e3d5ffd5b50601f805473ffffffffffffffffffffffffffffffffffffffff92909216610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff9092169190911790555f61087a8585611968565b601f546040517f9d043a660000000000000000000000000000000000000000000000000000000081529192505f9161010090910473ffffffffffffffffffffffffffffffffffffffff1690639d043a66906108dd9088908a908990600401612afa565b602060405180830381865afa1580156108f8573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061091c9190612a4d565b90506109288183611a24565b505050505050505050565b6060601880548060200260200160405190810160405280929190818152602001828054801561039c57602002820191905f5260205f2090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610371575050505050905090565b6060601780548060200260200160405190810160405280929190818152602001828054801561039c57602002820191905f5260205f2090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610371575050505050905090565b60205460405173ffffffffffffffffffffffffffffffffffffffff909116908690610a3390611f9a565b73ffffffffffffffffffffffffffffffffffffffff90921682526020820152604001604051809103905ff080158015610a6e573d5f5f3e3d5ffd5b50601f805473ffffffffffffffffffffffffffffffffffffffff92909216610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff90921691909117905560a08301518490526040805160048082526024820183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fd7abef4e0000000000000000000000000000000000000000000000000000000017905291517ff28dceb3000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d9263f28dceb392610b6692909101612c0b565b5f604051808303815f87803b158015610b7d575f5ffd5b505af1158015610b8f573d5f5f3e3d5ffd5b5050601f546040517f9d043a6600000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff169250639d043a669150610bf190859087908690600401612afa565b602060405180830381865afa158015610c0c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c309190612a4d565b505050505050565b6060601b805480602002602001604051908101604052809291908181526020015f905b828210156104e6578382905f5260205f2090600202016040518060400160405290815f82018054610c8b906129fc565b80601f0160208091040260200160405190810160405280929190818152602001828054610cb7906129fc565b8015610d025780601f10610cd957610100808354040283529160200191610d02565b820191905f5260205f20905b815481529060010190602001808311610ce557829003601f168201915b5050505050815260200160018201805480602002602001604051908101604052809291908181526020018280548015610d9957602002820191905f5260205f20905f905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610d465790505b50505050508152505081526020019060010190610c5b565b6060601a805480602002602001604051908101604052809291908181526020015f905b828210156104e6578382905f5260205f20018054610df1906129fc565b80601f0160208091040260200160405190810160405280929190818152602001828054610e1d906129fc565b8015610e685780601f10610e3f57610100808354040283529160200191610e68565b820191905f5260205f20905b815481529060010190602001808311610e4b57829003601f168201915b505050505081526020019060010190610dd4565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff871615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015610ef5575f5ffd5b505afa158015610f07573d5f5f3e3d5ffd5b505086516040517f4c63e5620000000000000000000000000000000000000000000000000000000081529015156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015610f70575f5ffd5b505afa158015610f82573d5f5f3e3d5ffd5b50505050600a85511115610f9557600a85525b610f9e85611aab565b9450610fb8845f60018851610fb39190612c4a565b611bc1565b9350848481518110610fcc57610fcc612c5d565b602090810291909101015160a0840151526040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b158015611055575f5ffd5b505af1158015611067573d5f5f3e3d5ffd5b50506020546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008b1660048201525f935073ffffffffffffffffffffffffffffffffffffffff909116915063d4df1018906024016020604051808303815f875af11580156110fc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111209190612a4d565b90505f5b86518110156111c357602054875173ffffffffffffffffffffffffffffffffffffffff90911690632f28c69d9084908a908590811061116557611165612c5d565b60200260200101516040518363ffffffff1660e01b815260040161118a929190612a64565b5f604051808303815f87803b1580156111a1575f5ffd5b505af11580156111b3573d5f5f3e3d5ffd5b5050600190920191506111249050565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b15801561121d575f5ffd5b505af115801561122f573d5f5f3e3d5ffd5b505060205460405173ffffffffffffffffffffffffffffffffffffffff909116925083915061125d90611f9a565b73ffffffffffffffffffffffffffffffffffffffff90921682526020820152604001604051809103905ff080158015611298573d5f5f3e3d5ffd5b50601f805473ffffffffffffffffffffffffffffffffffffffff92909216610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff9092169190911790555f6112ef8585611968565b601f546040517f9d043a660000000000000000000000000000000000000000000000000000000081529192505f9161010090910473ffffffffffffffffffffffffffffffffffffffff1690639d043a66906113529088908a908990600401612afa565b602060405180830381865afa15801561136d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113919190612a4d565b905061139d8183611a24565b50505050505050505050565b6060601d805480602002602001604051908101604052809291908181526020015f905b828210156104e6575f84815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff16835260018101805483518187028101870190945280845293949193858301939283018282801561149457602002820191905f5260205f20905f905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116114415790505b505050505081525050815260200190600101906113cc565b60205460405173ffffffffffffffffffffffffffffffffffffffff9091169082906114d690611f9a565b73ffffffffffffffffffffffffffffffffffffffff90921682526020820152604001604051809103905ff080158015611511573d5f5f3e3d5ffd5b50601f80547fffffffffffffffffffffff0000000000000000000000000000000000000000ff1661010073ffffffffffffffffffffffffffffffffffffffff938416810291909117918290556040517f01ffc9a70000000000000000000000000000000000000000000000000000000080825260048201526115e3939190920416906301ffc9a7906024015b602060405180830381865afa1580156115b8573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115dc9190612c8a565b6001611c15565b601f546040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f9d043a6600000000000000000000000000000000000000000000000000000000600482015261166091610100900473ffffffffffffffffffffffffffffffffffffffff16906301ffc9a79060240161159d565b50565b6060601c805480602002602001604051908101604052809291908181526020015f905b828210156104e6575f84815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff16835260018101805483518187028101870190945280845293949193858301939283018282801561174e57602002820191905f5260205f20905f905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116116fb5790505b50505050508152505081526020019060010190611686565b60606019805480602002602001604051908101604052809291908181526020015f905b828210156104e6578382905f5260205f200180546117a6906129fc565b80601f01602080910402602001604051908101604052809291908181526020018280546117d2906129fc565b801561181d5780601f106117f45761010080835404028352916020019161181d565b820191905f5260205f20905b81548152906001019060200180831161180057829003601f168201915b505050505081526020019060010190611789565b6008545f9060ff16156118445750600190565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190527f6661696c6564000000000000000000000000000000000000000000000000000060248301525f9163667f9d7090604401602060405180830381865afa1580156118d2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118f69190612a4d565b1415905090565b6060601580548060200260200160405190810160405280929190818152602001828054801561039c57602002820191905f5260205f2090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610371575050505050905090565b6040517f616363657074496d706c6963697452657175657374000000000000000000000060208201525f90603501604051602081830303815290604052805190602001208284606001518560400151604051602001611a05949392919093845260609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208401526034830152605482015260740190565b6040516020818303038152906040528051906020012090505b92915050565b808214611aa7576040517f7c84c69b0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052737109709ecfa91a80626ff3989d68f67f5b1dd12d90637c84c69b906044015b5f6040518083038186803b158015611a95575f5ffd5b505afa158015610c30573d5f5f3e3d5ffd5b5050565b6060815167ffffffffffffffff811115611ac757611ac76121b4565b604051908082528060200260200182016040528015611afa57816020015b6060815260200190600190039081611ae55790505b5090505f5f5b8351811015611bb9575f5f611b2d868481518110611b2057611b20612c5d565b6020026020010151611c7a565b90505f5b84811015611b6557611b4e868281518110611b2057611b20612c5d565b8203611b5d5760019250611b65565b600101611b31565b5081611baf57858381518110611b7d57611b7d612c5d565b6020026020010151858580611b9190612ca5565b965081518110611ba357611ba3612c5d565b60200260200101819052505b5050600101611b00565b508152919050565b5f611bcd848484611ca9565b9050611c0e6040518060400160405280600c81526020017f426f756e6420726573756c74000000000000000000000000000000000000000081525082611edd565b9392505050565b80151582151514611aa7576040517ff7fe347700000000000000000000000000000000000000000000000000000000815282151560048201528115156024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063f7fe347790604401611a7f565b5f81604051602001611c8c9190612cdc565b604051602081830303815290604052805190602001209050919050565b5f81831115611d3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f5374645574696c7320626f756e642875696e743235362c75696e743235362c7560448201527f696e74323536293a204d6178206973206c657373207468616e206d696e2e0000606482015260840160405180910390fd5b828410158015611d4e5750818411155b15611d5a575082611c0e565b5f611d658484612c4a565b611d70906001612cf2565b905060038511158015611d8257508481115b15611d9957611d918585612cf2565b915050611c0e565b611dc460037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612c4a565b8510158015611dfb5750611df8857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612c4a565b81115b15611e3457611e2a857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612c4a565b611d919084612c4a565b82851115611e87575f611e478487612c4a565b90505f611e548383612d05565b9050805f03611e6857849350505050611c0e565b6001611e748288612cf2565b611e7e9190612c4a565b93505050611ed5565b83851015611ed5575f611e9a8686612c4a565b90505f611ea78383612d05565b9050805f03611ebb57859350505050611c0e565b611ec58186612c4a565b611ed0906001612cf2565b935050505b509392505050565b611aa78282604051602401611ef3929190612d3d565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb60e72cc000000000000000000000000000000000000000000000000000000001790526116608180516a636f6e736f6c652e6c6f67602083015f808483855afa5050505050565b61176b80612d5f83390190565b6105bc806144ca83390190565b602080825282518282018190525f918401906040840190835b81811015611ff457835173ffffffffffffffffffffffffffffffffffffffff16835260209384019390920191600101611fc0565b509095945050505050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015612151577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08786030184528151805173ffffffffffffffffffffffffffffffffffffffff168652602090810151604082880181905281519088018190529101906060600582901b8801810191908801905f5b81811015612137577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08a8503018352612121848651611fff565b60209586019590945092909201916001016120e7565b509197505050602094850194929092019150600101612071565b50929695505050505050565b80357fffffffffffffffffffffffff00000000000000000000000000000000000000008116811461218c575f5ffd5b919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461218c575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60405160c0810167ffffffffffffffff81118282101715612204576122046121b4565b60405290565b60405160e0810167ffffffffffffffff81118282101715612204576122046121b4565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612274576122746121b4565b604052919050565b5f82601f83011261228b575f5ffd5b8135602083015f5f67ffffffffffffffff8411156122ab576122ab6121b4565b50601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0166020016122de8161222d565b9150508281528583830111156122f2575f5ffd5b828260208301375f92810160200192909252509392505050565b80357fffffffff000000000000000000000000000000000000000000000000000000008116811461218c575f5ffd5b5f6040828403121561234b575f5ffd5b6040805190810167ffffffffffffffff8111828210171561236e5761236e6121b4565b604052905080823567ffffffffffffffff81111561238a575f5ffd5b6123968582860161227c565b825250602083013567ffffffffffffffff811681146123b3575f5ffd5b6020919091015292915050565b5f60c082840312156123d0575f5ffd5b6123d86121e1565b90506123e382612191565b81526123f16020830161230c565b60208201526040828101359082015260608083013590820152608082013567ffffffffffffffff811115612423575f5ffd5b61242f8482850161227c565b60808301525060a082013567ffffffffffffffff81111561244e575f5ffd5b61245a8482850161233b565b60a08301525092915050565b8015158114611660575f5ffd5b803561218c81612466565b5f60e0828403121561248e575f5ffd5b61249661220a565b90506124a182612191565b815260208281013590820152604082013567ffffffffffffffff8111156124c6575f5ffd5b6124d28482850161227c565b604083015250606082810135908201526124ee60808301612473565b60808201526124ff60a08301612473565b60a082015260c09182013591810191909152919050565b5f5f5f5f5f5f60c0878903121561252b575f5ffd5b6125348761215d565b955061254260208801612191565b9450604087013567ffffffffffffffff81111561255d575f5ffd5b61256989828a0161227c565b945050606087013567ffffffffffffffff811115612585575f5ffd5b61259189828a016123c0565b9350506125a060808801612191565b915060a087013567ffffffffffffffff8111156125bb575f5ffd5b6125c789828a0161247e565b9150509295509295509295565b5f5f5f5f5f60a086880312156125e8575f5ffd5b85359450602086013567ffffffffffffffff811115612605575f5ffd5b6126118882890161227c565b945050604086013567ffffffffffffffff81111561262d575f5ffd5b612639888289016123c0565b93505061264860608701612191565b9150608086013567ffffffffffffffff811115612663575f5ffd5b61266f8882890161247e565b9150509295509295909350565b5f8151808452602084019350602083015f5b828110156126ce5781517fffffffff000000000000000000000000000000000000000000000000000000001686526020958601959091019060010161268e565b5093949350505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015612151577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc087860301845281518051604087526127426040880182611fff565b905060208201519150868103602088015261275d818361267c565b9650505060209384019391909101906001016126fe565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015612151577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08786030184526127d4858351611fff565b9450602093840193919091019060010161279a565b5f5f5f5f5f5f5f60e0888a0312156127ff575f5ffd5b6128088861215d565b965061281660208901612191565b9550604088013567ffffffffffffffff811115612831575f5ffd5b8801601f81018a13612841575f5ffd5b803567ffffffffffffffff81111561285b5761285b6121b4565b8060051b61286b6020820161222d565b9182526020818401810192908101908d841115612886575f5ffd5b6020850192505b838310156128cc57823567ffffffffffffffff8111156128ab575f5ffd5b6128ba8f60208389010161227c565b8352506020928301929091019061288d565b98505050506060890135945050608088013567ffffffffffffffff8111156128f2575f5ffd5b6128fe8a828b016123c0565b93505061290d60a08901612191565b915060c088013567ffffffffffffffff811115612928575f5ffd5b6129348a828b0161247e565b91505092959891949750929550565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015612151577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452815173ffffffffffffffffffffffffffffffffffffffff815116865260208101519050604060208701526129cf604087018261267c565b9550506020938401939190910190600101612969565b5f602082840312156129f5575f5ffd5b5035919050565b600181811c90821680612a1057607f821691505b602082108103612a47577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b5f60208284031215612a5d575f5ffd5b5051919050565b828152604060208201525f612a7c6040830184611fff565b949350505050565b73ffffffffffffffffffffffffffffffffffffffff8151168252602081015160208301525f604082015160e06040850152612ac260e0850182611fff565b90506060830151606085015260808301511515608085015260a0830151151560a085015260c083015160c08501528091505092915050565b73ffffffffffffffffffffffffffffffffffffffff841681526060602082015273ffffffffffffffffffffffffffffffffffffffff83511660608201527fffffffff000000000000000000000000000000000000000000000000000000006020840151166080820152604083015160a0820152606083015160c08201525f608084015160c060e0840152612b92610120840182611fff565b905060a08501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa084830301610100850152805160408352612bd76040840182611fff565b905067ffffffffffffffff60208301511660208401528481036040860152612bff8187612a84565b98975050505050505050565b602081525f611c0e6020830184611fff565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b81810381811115611a1e57611a1e612c1d565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215612c9a575f5ffd5b8151611c0e81612466565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612cd557612cd5612c1d565b5060010190565b5f82518060208501845e5f920191825250919050565b80820180821115611a1e57611a1e612c1d565b5f82612d38577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500690565b604081525f612d4f6040830185611fff565b9050826020830152939250505056fe6080604052348015600e575f5ffd5b5061174f8061001c5f395ff3fe608060405234801561000f575f5ffd5b50600436106100e5575f3560e01c8063a25acb2511610088578063d9acbe6b11610063578063d9acbe6b146101e6578063dac6c587146101f9578063ebc27b821461020c578063f4364de614610266575f5ffd5b8063a25acb2514610183578063d4c9c5c4146101c0578063d4df1018146101d3575f5ffd5b80633808a90b116100c35780633808a90b14610124578063520994f11461014a57806356cd2b921461015d5780639630aff814610170575f5ffd5b8063065d6c69146100e95780631b31f01b146100fe5780632f28c69d14610111575b5f5ffd5b6100fc6100f7366004610ff9565b610286565b005b6100fc61010c36600461103d565b610320565b6100fc61011f3660046110f6565b610389565b610137610132366004611158565b6103fe565b6040519081526020015b60405180910390f35b6100fc6101583660046111b0565b6104cb565b6100fc61016b3660046111d0565b610533565b6100fc61017e36600461128d565b6105ca565b6101b06101913660046111b0565b600160209081525f928352604080842090915290825290205460ff1681565b6040519015158152602001610141565b6100fc6101ce3660046112b7565b6106f3565b6101376101e136600461137d565b610879565b6101376101f43660046111b0565b610a00565b6100fc6102073660046110f6565b610a2b565b61024161021a3660046113bc565b5f6020819052908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610141565b6102796102743660046113bc565b610b22565b60405161014191906113d3565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff1633146102e4576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b825181101561031a576103128484838151811061030557610305611415565b6020026020010151610b81565b6001016102e6565b50505050565b5f83815260208190526040902054839073ffffffffffffffffffffffffffffffffffffffff16331461037e576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61031a848484610c5d565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff1633146103e7576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103f9836103f484610ddc565b610b81565b505050565b5f8061045361041060a0860186611442565b61041a908061147e565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610ddc92505050565b5f84815260016020908152604080832084845290915290205490915060ff16156104925761048a856104848661159a565b90610e0b565b9150506104c4565b6040517fd7abef4e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9392505050565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163314610529576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103f98383610b81565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163314610591576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b825181101561031a576105c2846103f48584815181106105b5576105b5611415565b6020026020010151610ddc565b600101610593565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163314610628576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216610675576040517fff7d580d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8381526020819052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff86169081179091559051909185917f7869f0fa3d7efaa83c69bf6de987567787178b8d7e41fea0cadfea68a2e27de59190a3505050565b5f83815260208190526040902054839073ffffffffffffffffffffffffffffffffffffffff163314610751576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815183511461078c576040517f526c768700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b6001835161079c919061166b565b81101561082157826107af82600161167e565b815181106107bf576107bf611415565b60200260200101518382815181106107d9576107d9611415565b60200260200101511015610819576040517f526c768700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60010161078e565b505f5b83518110156108725761086a8585838151811061084357610843611415565b602002602001015185848151811061085d5761085d611415565b6020026020010151610c5d565b600101610824565b5050505050565b5f33806108b2576040517fff7d580d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080517fffffffffffffffffffffffff0000000000000000000000000000000000000000851660208201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606084901b16602c8201520160405160208183030381529060405261092390611691565b5f8181526020819052604090205490925073ffffffffffffffffffffffffffffffffffffffff1615610981576040517ffeabeb4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8281526020819052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff85169081179091559051909184917f0f01cd0734cc8ed416ac6ca25cb4fe02dbab63f1236af3858deb14a5666362389190a350919050565b6002602052815f5260405f208181548110610a19575f80fd5b905f5260205f20015f91509150505481565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163314610a89576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610a9383610ddc565b90505f5b5f85815260026020526040902054811015610aef575f858152600260205260409020805483919083908110610ace57610ace611415565b905f5260205f20015403610ae757610872858383610c5d565b600101610a97565b506040517f4745a4ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81815260026020908152604091829020805483518184028101840190945280845260609392830182828015610b7557602002820191905f5260205f20905b815481526020019060010190808311610b61575b50505050509050919050565b5f82815260016020908152604080832084845290915290205460ff1615610bd4576040517f2d86c03a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f828152600160208181526040808420858552825280842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016841790558584526002825280842080549384018155845290832090910183905551829184917fceac3080d7874c4bba80ceae14b6aa96e0df9d4f673d9e5a352d66444f5020679190a35050565b5f8381526002602052604090205481101580610ca257505f838152600260205260409020805483919083908110610c9657610c96611415565b905f5260205f20015414155b15610cd9576040517f526c768700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f838152600160208181526040808420868552825280842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055868452600290915290912080549091610d2f9161166b565b81548110610d3f57610d3f611415565b905f5260205f20015460025f8581526020019081526020015f208281548110610d6a57610d6a611415565b905f5260205f20018190555060025f8481526020019081526020015f20805480610d9657610d966116d6565b600190038181905f5260205f20015f9055905581837f13d94de535e503661de3c84adf637590f269f37c8d4ed5daabae98376a442a6a60405160405180910390a3505050565b5f81604051602001610dee9190611703565b604051602081830303815290604052805190602001209050919050565b6040517f616363657074496d706c6963697452657175657374000000000000000000000060208201525f90603501604051602081830303815290604052805190602001208284606001518560400151604051602001610ea8949392919093845260609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208401526034830152605482015260740190565b6040516020818303038152906040528051906020012090505b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60405160c0810167ffffffffffffffff81118282101715610f1757610f17610ec7565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610f6457610f64610ec7565b604052919050565b5f67ffffffffffffffff821115610f8557610f85610ec7565b5060051b60200190565b5f82601f830112610f9e575f5ffd5b8135610fb1610fac82610f6c565b610f1d565b8082825260208201915060208360051b860101925085831115610fd2575f5ffd5b602085015b83811015610fef578035835260209283019201610fd7565b5095945050505050565b5f5f6040838503121561100a575f5ffd5b82359150602083013567ffffffffffffffff811115611027575f5ffd5b61103385828601610f8f565b9150509250929050565b5f5f5f6060848603121561104f575f5ffd5b505081359360208301359350604090920135919050565b5f82601f830112611075575f5ffd5b8135602083015f5f67ffffffffffffffff84111561109557611095610ec7565b50601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0166020016110c881610f1d565b9150508281528583830111156110dc575f5ffd5b828260208301375f92810160200192909252509392505050565b5f5f60408385031215611107575f5ffd5b82359150602083013567ffffffffffffffff811115611124575f5ffd5b61103385828601611066565b803573ffffffffffffffffffffffffffffffffffffffff81168114611153575f5ffd5b919050565b5f5f5f6060848603121561116a575f5ffd5b61117384611130565b9250602084013567ffffffffffffffff81111561118e575f5ffd5b840160c0818703121561119f575f5ffd5b929592945050506040919091013590565b5f5f604083850312156111c1575f5ffd5b50508035926020909101359150565b5f5f604083850312156111e1575f5ffd5b82359150602083013567ffffffffffffffff8111156111fe575f5ffd5b8301601f8101851361120e575f5ffd5b803561121c610fac82610f6c565b8082825260208201915060208360051b85010192508783111561123d575f5ffd5b602084015b8381101561127e57803567ffffffffffffffff811115611260575f5ffd5b61126f8a602083890101611066565b84525060209283019201611242565b50809450505050509250929050565b5f5f6040838503121561129e575f5ffd5b823591506112ae60208401611130565b90509250929050565b5f5f5f606084860312156112c9575f5ffd5b83359250602084013567ffffffffffffffff8111156112e6575f5ffd5b6112f286828701610f8f565b925050604084013567ffffffffffffffff81111561130e575f5ffd5b8401601f8101861361131e575f5ffd5b803561132c610fac82610f6c565b8082825260208201915060208360051b85010192508883111561134d575f5ffd5b6020840193505b8284101561136f578335825260209384019390910190611354565b809450505050509250925092565b5f6020828403121561138d575f5ffd5b81357fffffffffffffffffffffffff0000000000000000000000000000000000000000811681146104c4575f5ffd5b5f602082840312156113cc575f5ffd5b5035919050565b602080825282518282018190525f918401906040840190835b8181101561140a5783518352602093840193909201916001016113ec565b509095945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112611474575f5ffd5b9190910192915050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126114b1575f5ffd5b83018035915067ffffffffffffffff8211156114cb575f5ffd5b6020019150368190038213156114df575f5ffd5b9250929050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114611153575f5ffd5b5f60408284031215611525575f5ffd5b6040805190810167ffffffffffffffff8111828210171561154857611548610ec7565b604052905080823567ffffffffffffffff811115611564575f5ffd5b61157085828601611066565b825250602083013567ffffffffffffffff8116811461158d575f5ffd5b6020919091015292915050565b5f60c082360312156115aa575f5ffd5b6115b2610ef4565b6115bb83611130565b81526115c9602084016114e6565b60208201526040838101359082015260608084013590820152608083013567ffffffffffffffff8111156115fb575f5ffd5b61160736828601611066565b60808301525060a083013567ffffffffffffffff811115611626575f5ffd5b61163236828601611515565b60a08301525092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b81810381811115610ec157610ec161163e565b80820180821115610ec157610ec161163e565b805160208083015191908110156116d0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8160200360031b1b821691505b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b5f82518060208501845e5f92019182525091905056fea2646970667358221220eff7a239b8ebc55f56295f057cc1827136d7f792f7aac5663d6082776f11363064736f6c634300081c00336080604052348015600e575f5ffd5b506040516105bc3803806105bc833981016040819052602b916050565b5f80546001600160a01b0319166001600160a01b038416179055600181905550506085565b5f5f604083850312156060575f5ffd5b82516001600160a01b03811681146075575f5ffd5b6020939093015192949293505050565b61052a806100925f395ff3fe608060405234801561000f575f5ffd5b5060043610610034575f3560e01c806301ffc9a7146100385780639d043a6614610060575b5f5ffd5b61004b6100463660046101ef565b610081565b60405190151581526020015b60405180910390f35b61007361006e366004610232565b610119565b604051908152602001610057565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f9d043a6600000000000000000000000000000000000000000000000000000000148061011357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b5f5f546001546040517f3808a90b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90921691633808a90b9161017491889188916004016103aa565b602060405180830381865afa15801561018f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101b391906104dd565b949350505050565b80357fffffffff00000000000000000000000000000000000000000000000000000000811681146101ea575f5ffd5b919050565b5f602082840312156101ff575f5ffd5b610208826101bb565b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101ea575f5ffd5b5f5f5f60608486031215610244575f5ffd5b61024d8461020f565b9250602084013567ffffffffffffffff811115610268575f5ffd5b840160c08187031215610279575f5ffd5b9150604084013567ffffffffffffffff811115610294575f5ffd5b840160e081870312156102a5575f5ffd5b809150509250925092565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126102e3575f5ffd5b830160208101925035905067ffffffffffffffff811115610302575f5ffd5b803603821315610310575f5ffd5b9250929050565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b5f61036982836102b0565b6040855261037b604086018284610317565b915050602083013567ffffffffffffffff8116808214610399575f5ffd5b602095909501949094529392505050565b73ffffffffffffffffffffffffffffffffffffffff841681526060602082015273ffffffffffffffffffffffffffffffffffffffff6103e88461020f565b1660608201527fffffffff0000000000000000000000000000000000000000000000000000000061041b602085016101bb565b16608082810191909152604084013560a0830152606084013560c08301525f90610447908501856102b0565b60c060e085015261045d61012085018284610317565b91505060a08501357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1863603018112610494575f5ffd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0848303016101008501526104cb8287830161035e565b92505050826040830152949350505050565b5f602082840312156104ed575f5ffd5b505191905056fea2646970667358221220a6364954197d77147a5f3f1991dbee1f1186c7a0785bbf6ab288589e6e61ea7464736f6c634300081c0033a2646970667358221220b527f106e2c401c655c79b1991d2874e64e8c11bbef4121604ef24090896e9d964736f6c634300081c0033","sourceMap":"798:3196:30:-:0;;;3160:44:2;;;3200:4;-1:-1:-1;;3160:44:2;;;;;;;;1065:26:13;;;;;;;;;;;798:3196:30;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f5ffd5b5060043610610149575f3560e01c80637b103999116100c7578063b0464fdc1161007d578063ba414fa611610063578063ba414fa61461029f578063e20c9f71146102b7578063fa7626d4146102bf575f5ffd5b8063b0464fdc1461028f578063b5508aa914610297575f5ffd5b806390110f2d116100ad57806390110f2d14610254578063916a17c614610267578063a401b02b1461027c575f5ffd5b80637b1039991461021f57806385226c811461023f575f5ffd5b80633e5e3c231161011c578063509327241161010257806350932724146101ad57806366d9a9a0146101c05780637aa3488f146101d5575f5ffd5b80633e5e3c231461019d5780633f7286f4146101a5575f5ffd5b80630a9254e41461014d5780631ed7831c146101575780632ade3880146101755780632f2377181461018a575b5f5ffd5b6101556102cc565b005b61015f610339565b60405161016c9190611fa7565b60405180910390f35b61017d6103a6565b60405161016c919061204b565b610155610198366004612516565b6104ef565b61015f610933565b61015f61099e565b6101556101bb3660046125d4565b610a09565b6101c8610c38565b60405161016c91906126d8565b601f546101fa90610100900473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161016c565b6020546101fa9073ffffffffffffffffffffffffffffffffffffffff1681565b610247610db1565b60405161016c9190612774565b6101556102623660046127e9565b610e7c565b61026f6113a9565b60405161016c9190612943565b61015561028a3660046129e5565b6114ac565b61026f611663565b610247611766565b6102a7611831565b604051901515815260200161016c565b61015f6118fd565b601f546102a79060ff1681565b6040516102d890611f8d565b604051809103905ff0801580156102f1573d5f5f3e3d5ffd5b50602080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6060601680548060200260200160405190810160405280929190818152602001828054801561039c57602002820191905f5260205f20905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610371575b5050505050905090565b6060601e805480602002602001604051908101604052809291908181526020015f905b828210156104e6575f848152602080822060408051808201825260028702909201805473ffffffffffffffffffffffffffffffffffffffff168352600181018054835181870281018701909452808452939591948681019491929084015b828210156104cf578382905f5260205f20018054610444906129fc565b80601f0160208091040260200160405190810160405280929190818152602001828054610470906129fc565b80156104bb5780601f10610492576101008083540402835291602001916104bb565b820191905f5260205f20905b81548152906001019060200180831161049e57829003601f168201915b505050505081526020019060010190610427565b5050505081525050815260200190600101906103c9565b50505050905090565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff861615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015610568575f5ffd5b505afa15801561057a573d5f5f3e3d5ffd5b5050505060a08301518490526040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b1580156105fe575f5ffd5b505af1158015610610573d5f5f3e3d5ffd5b50506020546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008a1660048201525f935073ffffffffffffffffffffffffffffffffffffffff909116915063d4df1018906024016020604051808303815f875af11580156106a5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106c99190612a4d565b6020546040517f2f28c69d00000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff1690632f28c69d906107229084908990600401612a64565b5f604051808303815f87803b158015610739575f5ffd5b505af115801561074b573d5f5f3e3d5ffd5b50505050737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156107a8575f5ffd5b505af11580156107ba573d5f5f3e3d5ffd5b505060205460405173ffffffffffffffffffffffffffffffffffffffff90911692508391506107e890611f9a565b73ffffffffffffffffffffffffffffffffffffffff90921682526020820152604001604051809103905ff080158015610823573d5f5f3e3d5ffd5b50601f805473ffffffffffffffffffffffffffffffffffffffff92909216610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff9092169190911790555f61087a8585611968565b601f546040517f9d043a660000000000000000000000000000000000000000000000000000000081529192505f9161010090910473ffffffffffffffffffffffffffffffffffffffff1690639d043a66906108dd9088908a908990600401612afa565b602060405180830381865afa1580156108f8573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061091c9190612a4d565b90506109288183611a24565b505050505050505050565b6060601880548060200260200160405190810160405280929190818152602001828054801561039c57602002820191905f5260205f2090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610371575050505050905090565b6060601780548060200260200160405190810160405280929190818152602001828054801561039c57602002820191905f5260205f2090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610371575050505050905090565b60205460405173ffffffffffffffffffffffffffffffffffffffff909116908690610a3390611f9a565b73ffffffffffffffffffffffffffffffffffffffff90921682526020820152604001604051809103905ff080158015610a6e573d5f5f3e3d5ffd5b50601f805473ffffffffffffffffffffffffffffffffffffffff92909216610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff90921691909117905560a08301518490526040805160048082526024820183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fd7abef4e0000000000000000000000000000000000000000000000000000000017905291517ff28dceb3000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d9263f28dceb392610b6692909101612c0b565b5f604051808303815f87803b158015610b7d575f5ffd5b505af1158015610b8f573d5f5f3e3d5ffd5b5050601f546040517f9d043a6600000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff169250639d043a669150610bf190859087908690600401612afa565b602060405180830381865afa158015610c0c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c309190612a4d565b505050505050565b6060601b805480602002602001604051908101604052809291908181526020015f905b828210156104e6578382905f5260205f2090600202016040518060400160405290815f82018054610c8b906129fc565b80601f0160208091040260200160405190810160405280929190818152602001828054610cb7906129fc565b8015610d025780601f10610cd957610100808354040283529160200191610d02565b820191905f5260205f20905b815481529060010190602001808311610ce557829003601f168201915b5050505050815260200160018201805480602002602001604051908101604052809291908181526020018280548015610d9957602002820191905f5260205f20905f905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610d465790505b50505050508152505081526020019060010190610c5b565b6060601a805480602002602001604051908101604052809291908181526020015f905b828210156104e6578382905f5260205f20018054610df1906129fc565b80601f0160208091040260200160405190810160405280929190818152602001828054610e1d906129fc565b8015610e685780601f10610e3f57610100808354040283529160200191610e68565b820191905f5260205f20905b815481529060010190602001808311610e4b57829003601f168201915b505050505081526020019060010190610dd4565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff871615156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015610ef5575f5ffd5b505afa158015610f07573d5f5f3e3d5ffd5b505086516040517f4c63e5620000000000000000000000000000000000000000000000000000000081529015156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e56291506024015f6040518083038186803b158015610f70575f5ffd5b505afa158015610f82573d5f5f3e3d5ffd5b50505050600a85511115610f9557600a85525b610f9e85611aab565b9450610fb8845f60018851610fb39190612c4a565b611bc1565b9350848481518110610fcc57610fcc612c5d565b602090810291909101015160a0840151526040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b158015611055575f5ffd5b505af1158015611067573d5f5f3e3d5ffd5b50506020546040517fd4df10180000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff00000000000000000000000000000000000000008b1660048201525f935073ffffffffffffffffffffffffffffffffffffffff909116915063d4df1018906024016020604051808303815f875af11580156110fc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111209190612a4d565b90505f5b86518110156111c357602054875173ffffffffffffffffffffffffffffffffffffffff90911690632f28c69d9084908a908590811061116557611165612c5d565b60200260200101516040518363ffffffff1660e01b815260040161118a929190612a64565b5f604051808303815f87803b1580156111a1575f5ffd5b505af11580156111b3573d5f5f3e3d5ffd5b5050600190920191506111249050565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b15801561121d575f5ffd5b505af115801561122f573d5f5f3e3d5ffd5b505060205460405173ffffffffffffffffffffffffffffffffffffffff909116925083915061125d90611f9a565b73ffffffffffffffffffffffffffffffffffffffff90921682526020820152604001604051809103905ff080158015611298573d5f5f3e3d5ffd5b50601f805473ffffffffffffffffffffffffffffffffffffffff92909216610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff9092169190911790555f6112ef8585611968565b601f546040517f9d043a660000000000000000000000000000000000000000000000000000000081529192505f9161010090910473ffffffffffffffffffffffffffffffffffffffff1690639d043a66906113529088908a908990600401612afa565b602060405180830381865afa15801561136d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113919190612a4d565b905061139d8183611a24565b50505050505050505050565b6060601d805480602002602001604051908101604052809291908181526020015f905b828210156104e6575f84815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff16835260018101805483518187028101870190945280845293949193858301939283018282801561149457602002820191905f5260205f20905f905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116114415790505b505050505081525050815260200190600101906113cc565b60205460405173ffffffffffffffffffffffffffffffffffffffff9091169082906114d690611f9a565b73ffffffffffffffffffffffffffffffffffffffff90921682526020820152604001604051809103905ff080158015611511573d5f5f3e3d5ffd5b50601f80547fffffffffffffffffffffff0000000000000000000000000000000000000000ff1661010073ffffffffffffffffffffffffffffffffffffffff938416810291909117918290556040517f01ffc9a70000000000000000000000000000000000000000000000000000000080825260048201526115e3939190920416906301ffc9a7906024015b602060405180830381865afa1580156115b8573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115dc9190612c8a565b6001611c15565b601f546040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f9d043a6600000000000000000000000000000000000000000000000000000000600482015261166091610100900473ffffffffffffffffffffffffffffffffffffffff16906301ffc9a79060240161159d565b50565b6060601c805480602002602001604051908101604052809291908181526020015f905b828210156104e6575f84815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff16835260018101805483518187028101870190945280845293949193858301939283018282801561174e57602002820191905f5260205f20905f905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116116fb5790505b50505050508152505081526020019060010190611686565b60606019805480602002602001604051908101604052809291908181526020015f905b828210156104e6578382905f5260205f200180546117a6906129fc565b80601f01602080910402602001604051908101604052809291908181526020018280546117d2906129fc565b801561181d5780601f106117f45761010080835404028352916020019161181d565b820191905f5260205f20905b81548152906001019060200180831161180057829003601f168201915b505050505081526020019060010190611789565b6008545f9060ff16156118445750600190565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190527f6661696c6564000000000000000000000000000000000000000000000000000060248301525f9163667f9d7090604401602060405180830381865afa1580156118d2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118f69190612a4d565b1415905090565b6060601580548060200260200160405190810160405280929190818152602001828054801561039c57602002820191905f5260205f2090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610371575050505050905090565b6040517f616363657074496d706c6963697452657175657374000000000000000000000060208201525f90603501604051602081830303815290604052805190602001208284606001518560400151604051602001611a05949392919093845260609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208401526034830152605482015260740190565b6040516020818303038152906040528051906020012090505b92915050565b808214611aa7576040517f7c84c69b0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052737109709ecfa91a80626ff3989d68f67f5b1dd12d90637c84c69b906044015b5f6040518083038186803b158015611a95575f5ffd5b505afa158015610c30573d5f5f3e3d5ffd5b5050565b6060815167ffffffffffffffff811115611ac757611ac76121b4565b604051908082528060200260200182016040528015611afa57816020015b6060815260200190600190039081611ae55790505b5090505f5f5b8351811015611bb9575f5f611b2d868481518110611b2057611b20612c5d565b6020026020010151611c7a565b90505f5b84811015611b6557611b4e868281518110611b2057611b20612c5d565b8203611b5d5760019250611b65565b600101611b31565b5081611baf57858381518110611b7d57611b7d612c5d565b6020026020010151858580611b9190612ca5565b965081518110611ba357611ba3612c5d565b60200260200101819052505b5050600101611b00565b508152919050565b5f611bcd848484611ca9565b9050611c0e6040518060400160405280600c81526020017f426f756e6420726573756c74000000000000000000000000000000000000000081525082611edd565b9392505050565b80151582151514611aa7576040517ff7fe347700000000000000000000000000000000000000000000000000000000815282151560048201528115156024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063f7fe347790604401611a7f565b5f81604051602001611c8c9190612cdc565b604051602081830303815290604052805190602001209050919050565b5f81831115611d3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f5374645574696c7320626f756e642875696e743235362c75696e743235362c7560448201527f696e74323536293a204d6178206973206c657373207468616e206d696e2e0000606482015260840160405180910390fd5b828410158015611d4e5750818411155b15611d5a575082611c0e565b5f611d658484612c4a565b611d70906001612cf2565b905060038511158015611d8257508481115b15611d9957611d918585612cf2565b915050611c0e565b611dc460037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612c4a565b8510158015611dfb5750611df8857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612c4a565b81115b15611e3457611e2a857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612c4a565b611d919084612c4a565b82851115611e87575f611e478487612c4a565b90505f611e548383612d05565b9050805f03611e6857849350505050611c0e565b6001611e748288612cf2565b611e7e9190612c4a565b93505050611ed5565b83851015611ed5575f611e9a8686612c4a565b90505f611ea78383612d05565b9050805f03611ebb57859350505050611c0e565b611ec58186612c4a565b611ed0906001612cf2565b935050505b509392505050565b611aa78282604051602401611ef3929190612d3d565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb60e72cc000000000000000000000000000000000000000000000000000000001790526116608180516a636f6e736f6c652e6c6f67602083015f808483855afa5050505050565b61176b80612d5f83390190565b6105bc806144ca83390190565b602080825282518282018190525f918401906040840190835b81811015611ff457835173ffffffffffffffffffffffffffffffffffffffff16835260209384019390920191600101611fc0565b509095945050505050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015612151577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08786030184528151805173ffffffffffffffffffffffffffffffffffffffff168652602090810151604082880181905281519088018190529101906060600582901b8801810191908801905f5b81811015612137577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08a8503018352612121848651611fff565b60209586019590945092909201916001016120e7565b509197505050602094850194929092019150600101612071565b50929695505050505050565b80357fffffffffffffffffffffffff00000000000000000000000000000000000000008116811461218c575f5ffd5b919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461218c575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60405160c0810167ffffffffffffffff81118282101715612204576122046121b4565b60405290565b60405160e0810167ffffffffffffffff81118282101715612204576122046121b4565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612274576122746121b4565b604052919050565b5f82601f83011261228b575f5ffd5b8135602083015f5f67ffffffffffffffff8411156122ab576122ab6121b4565b50601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0166020016122de8161222d565b9150508281528583830111156122f2575f5ffd5b828260208301375f92810160200192909252509392505050565b80357fffffffff000000000000000000000000000000000000000000000000000000008116811461218c575f5ffd5b5f6040828403121561234b575f5ffd5b6040805190810167ffffffffffffffff8111828210171561236e5761236e6121b4565b604052905080823567ffffffffffffffff81111561238a575f5ffd5b6123968582860161227c565b825250602083013567ffffffffffffffff811681146123b3575f5ffd5b6020919091015292915050565b5f60c082840312156123d0575f5ffd5b6123d86121e1565b90506123e382612191565b81526123f16020830161230c565b60208201526040828101359082015260608083013590820152608082013567ffffffffffffffff811115612423575f5ffd5b61242f8482850161227c565b60808301525060a082013567ffffffffffffffff81111561244e575f5ffd5b61245a8482850161233b565b60a08301525092915050565b8015158114611660575f5ffd5b803561218c81612466565b5f60e0828403121561248e575f5ffd5b61249661220a565b90506124a182612191565b815260208281013590820152604082013567ffffffffffffffff8111156124c6575f5ffd5b6124d28482850161227c565b604083015250606082810135908201526124ee60808301612473565b60808201526124ff60a08301612473565b60a082015260c09182013591810191909152919050565b5f5f5f5f5f5f60c0878903121561252b575f5ffd5b6125348761215d565b955061254260208801612191565b9450604087013567ffffffffffffffff81111561255d575f5ffd5b61256989828a0161227c565b945050606087013567ffffffffffffffff811115612585575f5ffd5b61259189828a016123c0565b9350506125a060808801612191565b915060a087013567ffffffffffffffff8111156125bb575f5ffd5b6125c789828a0161247e565b9150509295509295509295565b5f5f5f5f5f60a086880312156125e8575f5ffd5b85359450602086013567ffffffffffffffff811115612605575f5ffd5b6126118882890161227c565b945050604086013567ffffffffffffffff81111561262d575f5ffd5b612639888289016123c0565b93505061264860608701612191565b9150608086013567ffffffffffffffff811115612663575f5ffd5b61266f8882890161247e565b9150509295509295909350565b5f8151808452602084019350602083015f5b828110156126ce5781517fffffffff000000000000000000000000000000000000000000000000000000001686526020958601959091019060010161268e565b5093949350505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015612151577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc087860301845281518051604087526127426040880182611fff565b905060208201519150868103602088015261275d818361267c565b9650505060209384019391909101906001016126fe565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015612151577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08786030184526127d4858351611fff565b9450602093840193919091019060010161279a565b5f5f5f5f5f5f5f60e0888a0312156127ff575f5ffd5b6128088861215d565b965061281660208901612191565b9550604088013567ffffffffffffffff811115612831575f5ffd5b8801601f81018a13612841575f5ffd5b803567ffffffffffffffff81111561285b5761285b6121b4565b8060051b61286b6020820161222d565b9182526020818401810192908101908d841115612886575f5ffd5b6020850192505b838310156128cc57823567ffffffffffffffff8111156128ab575f5ffd5b6128ba8f60208389010161227c565b8352506020928301929091019061288d565b98505050506060890135945050608088013567ffffffffffffffff8111156128f2575f5ffd5b6128fe8a828b016123c0565b93505061290d60a08901612191565b915060c088013567ffffffffffffffff811115612928575f5ffd5b6129348a828b0161247e565b91505092959891949750929550565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015612151577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452815173ffffffffffffffffffffffffffffffffffffffff815116865260208101519050604060208701526129cf604087018261267c565b9550506020938401939190910190600101612969565b5f602082840312156129f5575f5ffd5b5035919050565b600181811c90821680612a1057607f821691505b602082108103612a47577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b5f60208284031215612a5d575f5ffd5b5051919050565b828152604060208201525f612a7c6040830184611fff565b949350505050565b73ffffffffffffffffffffffffffffffffffffffff8151168252602081015160208301525f604082015160e06040850152612ac260e0850182611fff565b90506060830151606085015260808301511515608085015260a0830151151560a085015260c083015160c08501528091505092915050565b73ffffffffffffffffffffffffffffffffffffffff841681526060602082015273ffffffffffffffffffffffffffffffffffffffff83511660608201527fffffffff000000000000000000000000000000000000000000000000000000006020840151166080820152604083015160a0820152606083015160c08201525f608084015160c060e0840152612b92610120840182611fff565b905060a08501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa084830301610100850152805160408352612bd76040840182611fff565b905067ffffffffffffffff60208301511660208401528481036040860152612bff8187612a84565b98975050505050505050565b602081525f611c0e6020830184611fff565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b81810381811115611a1e57611a1e612c1d565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215612c9a575f5ffd5b8151611c0e81612466565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612cd557612cd5612c1d565b5060010190565b5f82518060208501845e5f920191825250919050565b80820180821115611a1e57611a1e612c1d565b5f82612d38577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500690565b604081525f612d4f6040830185611fff565b9050826020830152939250505056fe6080604052348015600e575f5ffd5b5061174f8061001c5f395ff3fe608060405234801561000f575f5ffd5b50600436106100e5575f3560e01c8063a25acb2511610088578063d9acbe6b11610063578063d9acbe6b146101e6578063dac6c587146101f9578063ebc27b821461020c578063f4364de614610266575f5ffd5b8063a25acb2514610183578063d4c9c5c4146101c0578063d4df1018146101d3575f5ffd5b80633808a90b116100c35780633808a90b14610124578063520994f11461014a57806356cd2b921461015d5780639630aff814610170575f5ffd5b8063065d6c69146100e95780631b31f01b146100fe5780632f28c69d14610111575b5f5ffd5b6100fc6100f7366004610ff9565b610286565b005b6100fc61010c36600461103d565b610320565b6100fc61011f3660046110f6565b610389565b610137610132366004611158565b6103fe565b6040519081526020015b60405180910390f35b6100fc6101583660046111b0565b6104cb565b6100fc61016b3660046111d0565b610533565b6100fc61017e36600461128d565b6105ca565b6101b06101913660046111b0565b600160209081525f928352604080842090915290825290205460ff1681565b6040519015158152602001610141565b6100fc6101ce3660046112b7565b6106f3565b6101376101e136600461137d565b610879565b6101376101f43660046111b0565b610a00565b6100fc6102073660046110f6565b610a2b565b61024161021a3660046113bc565b5f6020819052908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610141565b6102796102743660046113bc565b610b22565b60405161014191906113d3565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff1633146102e4576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b825181101561031a576103128484838151811061030557610305611415565b6020026020010151610b81565b6001016102e6565b50505050565b5f83815260208190526040902054839073ffffffffffffffffffffffffffffffffffffffff16331461037e576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61031a848484610c5d565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff1633146103e7576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103f9836103f484610ddc565b610b81565b505050565b5f8061045361041060a0860186611442565b61041a908061147e565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610ddc92505050565b5f84815260016020908152604080832084845290915290205490915060ff16156104925761048a856104848661159a565b90610e0b565b9150506104c4565b6040517fd7abef4e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9392505050565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163314610529576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103f98383610b81565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163314610591576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b825181101561031a576105c2846103f48584815181106105b5576105b5611415565b6020026020010151610ddc565b600101610593565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163314610628576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216610675576040517fff7d580d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8381526020819052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff86169081179091559051909185917f7869f0fa3d7efaa83c69bf6de987567787178b8d7e41fea0cadfea68a2e27de59190a3505050565b5f83815260208190526040902054839073ffffffffffffffffffffffffffffffffffffffff163314610751576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815183511461078c576040517f526c768700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b6001835161079c919061166b565b81101561082157826107af82600161167e565b815181106107bf576107bf611415565b60200260200101518382815181106107d9576107d9611415565b60200260200101511015610819576040517f526c768700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60010161078e565b505f5b83518110156108725761086a8585838151811061084357610843611415565b602002602001015185848151811061085d5761085d611415565b6020026020010151610c5d565b600101610824565b5050505050565b5f33806108b2576040517fff7d580d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080517fffffffffffffffffffffffff0000000000000000000000000000000000000000851660208201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606084901b16602c8201520160405160208183030381529060405261092390611691565b5f8181526020819052604090205490925073ffffffffffffffffffffffffffffffffffffffff1615610981576040517ffeabeb4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8281526020819052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff85169081179091559051909184917f0f01cd0734cc8ed416ac6ca25cb4fe02dbab63f1236af3858deb14a5666362389190a350919050565b6002602052815f5260405f208181548110610a19575f80fd5b905f5260205f20015f91509150505481565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163314610a89576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610a9383610ddc565b90505f5b5f85815260026020526040902054811015610aef575f858152600260205260409020805483919083908110610ace57610ace611415565b905f5260205f20015403610ae757610872858383610c5d565b600101610a97565b506040517f4745a4ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81815260026020908152604091829020805483518184028101840190945280845260609392830182828015610b7557602002820191905f5260205f20905b815481526020019060010190808311610b61575b50505050509050919050565b5f82815260016020908152604080832084845290915290205460ff1615610bd4576040517f2d86c03a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f828152600160208181526040808420858552825280842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016841790558584526002825280842080549384018155845290832090910183905551829184917fceac3080d7874c4bba80ceae14b6aa96e0df9d4f673d9e5a352d66444f5020679190a35050565b5f8381526002602052604090205481101580610ca257505f838152600260205260409020805483919083908110610c9657610c96611415565b905f5260205f20015414155b15610cd9576040517f526c768700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f838152600160208181526040808420868552825280842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055868452600290915290912080549091610d2f9161166b565b81548110610d3f57610d3f611415565b905f5260205f20015460025f8581526020019081526020015f208281548110610d6a57610d6a611415565b905f5260205f20018190555060025f8481526020019081526020015f20805480610d9657610d966116d6565b600190038181905f5260205f20015f9055905581837f13d94de535e503661de3c84adf637590f269f37c8d4ed5daabae98376a442a6a60405160405180910390a3505050565b5f81604051602001610dee9190611703565b604051602081830303815290604052805190602001209050919050565b6040517f616363657074496d706c6963697452657175657374000000000000000000000060208201525f90603501604051602081830303815290604052805190602001208284606001518560400151604051602001610ea8949392919093845260609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208401526034830152605482015260740190565b6040516020818303038152906040528051906020012090505b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60405160c0810167ffffffffffffffff81118282101715610f1757610f17610ec7565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610f6457610f64610ec7565b604052919050565b5f67ffffffffffffffff821115610f8557610f85610ec7565b5060051b60200190565b5f82601f830112610f9e575f5ffd5b8135610fb1610fac82610f6c565b610f1d565b8082825260208201915060208360051b860101925085831115610fd2575f5ffd5b602085015b83811015610fef578035835260209283019201610fd7565b5095945050505050565b5f5f6040838503121561100a575f5ffd5b82359150602083013567ffffffffffffffff811115611027575f5ffd5b61103385828601610f8f565b9150509250929050565b5f5f5f6060848603121561104f575f5ffd5b505081359360208301359350604090920135919050565b5f82601f830112611075575f5ffd5b8135602083015f5f67ffffffffffffffff84111561109557611095610ec7565b50601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0166020016110c881610f1d565b9150508281528583830111156110dc575f5ffd5b828260208301375f92810160200192909252509392505050565b5f5f60408385031215611107575f5ffd5b82359150602083013567ffffffffffffffff811115611124575f5ffd5b61103385828601611066565b803573ffffffffffffffffffffffffffffffffffffffff81168114611153575f5ffd5b919050565b5f5f5f6060848603121561116a575f5ffd5b61117384611130565b9250602084013567ffffffffffffffff81111561118e575f5ffd5b840160c0818703121561119f575f5ffd5b929592945050506040919091013590565b5f5f604083850312156111c1575f5ffd5b50508035926020909101359150565b5f5f604083850312156111e1575f5ffd5b82359150602083013567ffffffffffffffff8111156111fe575f5ffd5b8301601f8101851361120e575f5ffd5b803561121c610fac82610f6c565b8082825260208201915060208360051b85010192508783111561123d575f5ffd5b602084015b8381101561127e57803567ffffffffffffffff811115611260575f5ffd5b61126f8a602083890101611066565b84525060209283019201611242565b50809450505050509250929050565b5f5f6040838503121561129e575f5ffd5b823591506112ae60208401611130565b90509250929050565b5f5f5f606084860312156112c9575f5ffd5b83359250602084013567ffffffffffffffff8111156112e6575f5ffd5b6112f286828701610f8f565b925050604084013567ffffffffffffffff81111561130e575f5ffd5b8401601f8101861361131e575f5ffd5b803561132c610fac82610f6c565b8082825260208201915060208360051b85010192508883111561134d575f5ffd5b6020840193505b8284101561136f578335825260209384019390910190611354565b809450505050509250925092565b5f6020828403121561138d575f5ffd5b81357fffffffffffffffffffffffff0000000000000000000000000000000000000000811681146104c4575f5ffd5b5f602082840312156113cc575f5ffd5b5035919050565b602080825282518282018190525f918401906040840190835b8181101561140a5783518352602093840193909201916001016113ec565b509095945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112611474575f5ffd5b9190910192915050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126114b1575f5ffd5b83018035915067ffffffffffffffff8211156114cb575f5ffd5b6020019150368190038213156114df575f5ffd5b9250929050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114611153575f5ffd5b5f60408284031215611525575f5ffd5b6040805190810167ffffffffffffffff8111828210171561154857611548610ec7565b604052905080823567ffffffffffffffff811115611564575f5ffd5b61157085828601611066565b825250602083013567ffffffffffffffff8116811461158d575f5ffd5b6020919091015292915050565b5f60c082360312156115aa575f5ffd5b6115b2610ef4565b6115bb83611130565b81526115c9602084016114e6565b60208201526040838101359082015260608084013590820152608083013567ffffffffffffffff8111156115fb575f5ffd5b61160736828601611066565b60808301525060a083013567ffffffffffffffff811115611626575f5ffd5b61163236828601611515565b60a08301525092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b81810381811115610ec157610ec161163e565b80820180821115610ec157610ec161163e565b805160208083015191908110156116d0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8160200360031b1b821691505b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b5f82518060208501845e5f92019182525091905056fea2646970667358221220eff7a239b8ebc55f56295f057cc1827136d7f792f7aac5663d6082776f11363064736f6c634300081c00336080604052348015600e575f5ffd5b506040516105bc3803806105bc833981016040819052602b916050565b5f80546001600160a01b0319166001600160a01b038416179055600181905550506085565b5f5f604083850312156060575f5ffd5b82516001600160a01b03811681146075575f5ffd5b6020939093015192949293505050565b61052a806100925f395ff3fe608060405234801561000f575f5ffd5b5060043610610034575f3560e01c806301ffc9a7146100385780639d043a6614610060575b5f5ffd5b61004b6100463660046101ef565b610081565b60405190151581526020015b60405180910390f35b61007361006e366004610232565b610119565b604051908152602001610057565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f9d043a6600000000000000000000000000000000000000000000000000000000148061011357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b5f5f546001546040517f3808a90b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90921691633808a90b9161017491889188916004016103aa565b602060405180830381865afa15801561018f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101b391906104dd565b949350505050565b80357fffffffff00000000000000000000000000000000000000000000000000000000811681146101ea575f5ffd5b919050565b5f602082840312156101ff575f5ffd5b610208826101bb565b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101ea575f5ffd5b5f5f5f60608486031215610244575f5ffd5b61024d8461020f565b9250602084013567ffffffffffffffff811115610268575f5ffd5b840160c08187031215610279575f5ffd5b9150604084013567ffffffffffffffff811115610294575f5ffd5b840160e081870312156102a5575f5ffd5b809150509250925092565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126102e3575f5ffd5b830160208101925035905067ffffffffffffffff811115610302575f5ffd5b803603821315610310575f5ffd5b9250929050565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b5f61036982836102b0565b6040855261037b604086018284610317565b915050602083013567ffffffffffffffff8116808214610399575f5ffd5b602095909501949094529392505050565b73ffffffffffffffffffffffffffffffffffffffff841681526060602082015273ffffffffffffffffffffffffffffffffffffffff6103e88461020f565b1660608201527fffffffff0000000000000000000000000000000000000000000000000000000061041b602085016101bb565b16608082810191909152604084013560a0830152606084013560c08301525f90610447908501856102b0565b60c060e085015261045d61012085018284610317565b91505060a08501357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1863603018112610494575f5ffd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0848303016101008501526104cb8287830161035e565b92505050826040830152949350505050565b5f602082840312156104ed575f5ffd5b505191905056fea2646970667358221220a6364954197d77147a5f3f1991dbee1f1186c7a0785bbf6ab288589e6e61ea7464736f6c634300081c0033a2646970667358221220b527f106e2c401c655c79b1991d2874e64e8c11bbef4121604ef24090896e9d964736f6c634300081c0033","sourceMap":"798:3196:30:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;995:75;;;:::i;:::-;;2907:134:6;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3823:151;;;:::i;:::-;;;;;;;:::i;1419:859:30:-;;;;;;:::i;:::-;;:::i;3684:133:6:-;;;:::i;3385:141::-;;;:::i;3471:520:30:-;;;;;;:::i;:::-;;:::i;3193:186:6:-;;;:::i;:::-;;;;;;;:::i;897:50:30:-;;;;;;;;;;;;;;;11989:42:33;11977:55;;;11959:74;;11947:2;11932:18;897:50:30;11780:259:33;951:39:30;;;;;;;;;3047:140:6;;;:::i;:::-;;;;;;;:::i;2282:1185:30:-;;;;;;:::i;:::-;;:::i;3532:146:6:-;;;:::i;:::-;;;;;;;:::i;1074:341:30:-;;;;;;:::i;:::-;;:::i;2754:147:6:-;;;:::i;2459:141::-;;;:::i;1306:195:1:-;;;:::i;:::-;;;16598:14:33;;16591:22;16573:41;;16561:2;16546:18;1306:195:1;16433:187:33;2606:142:6;;;:::i;1065:26:13:-;;;;;;;;;995:75:30;1036:29;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1025:8:30;:40;;;;;;;;;;;;;;;995:75::o;2907:134:6:-;2954:33;3018:16;2999:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2907:134;:::o;3823:151::-;3872:42;3948:19;3926:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3823:151;:::o;1419:859:30:-;1622:30;;;;;:9;1632:19;;;;1622:30;;;16573:41:33;336:42:0;;1622:9:30;;16546:18:33;;1622:30:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;1658:20:30;;;;:38;;;1744:20;;;;;11989:42:33;11977:55;;1744:20:30;;;11959:74:33;336:42:0;;1744:13:30;;11932:18:33;;1744:20:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1790:8:30;;:37;;;;;17474:66:33;17462:79;;1790:37:30;;;17444:98:33;1770:17:30;;-1:-1:-1;1790:8:30;;;;;-1:-1:-1;1790:21:30;;17417:18:33;;1790:37:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1833:8;;:38;;;;;1770:57;;-1:-1:-1;1833:8:30;;;:22;;:38;;1770:57;;1867:3;;1833:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;336:42:0;1877:12:30;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2000:8:30;;1964:57;;2000:8;;;;;-1:-1:-1;2011:9:30;;-1:-1:-1;1964:57:30;;;:::i;:::-;18242:42:33;18230:55;;;18212:74;;18317:2;18302:18;;18295:34;18200:2;18185:18;1964:57:30;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1942:19:30;:79;;;;;;;;;;;;;;;;;;;-1:-1:-1;2087:48:30;:11;2128:6;2087:40;:48::i;:::-;2163:19;;:68;;;;;2063:72;;-1:-1:-1;2141:19:30;;2163;;;;;;;:41;;:68;;2205:6;;2213:11;;2226:4;;2163:68;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2141:90;;2237:36;2246:11;2259:13;2237:8;:36::i;:::-;1616:662;;;1419:859;;;;;;:::o;3684:133:6:-;3730:33;3794:16;3775:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3684:133;:::o;3385:141::-;3433:35;3501:18;3480:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3385:141;:::o;3471:520:30:-;3710:8;;3674:57;;3710:8;;;;;3721:9;;3674:57;;;:::i;:::-;18242:42:33;18230:55;;;18212:74;;18317:2;18302:18;;18295:34;18200:2;18185:18;3674:57:30;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3652:19:30;:79;;;;;;;;;;;;;;;;;;;3737:20;;;;:38;;;3833:78;;;;;;;;;;;;;;;;;;;3856:54;3833:78;;;3817:95;;;;;336:42:0;;3817:15:30;;:95;;3833:78;;3817:95;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3918:19:30;;:68;;;;;:19;;;;;;;-1:-1:-1;3918:41:30;;-1:-1:-1;3918:68:30;;3960:6;;3968:11;;3981:4;;3918:68;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3471:520;;;;;:::o;3193:186:6:-;3249:56;3346:26;3317:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3047:140;3095:34;3162:18;3141:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2282:1185:30;2520:30;;;;;:9;2530:19;;;;2520:30;;;16573:41:33;336:42:0;;2520:9:30;;16546:18:33;;2520:30:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2566:11:30;;2556:26;;;;;2566:15;;;2556:26;;;16573:41:33;336:42:0;;-1:-1:-1;2556:9:30;;-1:-1:-1;16546:18:33;;2556:26:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2625:2;2611:4;:11;:16;2607:79;;;2669:2;2663:4;2656:16;2607:79;2698:29;2722:4;2698:23;:29::i;:::-;2691:36;;2742:33;2748:6;2756:1;2773;2759:4;:11;:15;;;;:::i;:::-;2742:5;:33::i;:::-;2733:42;;2817:4;2822:6;2817:12;;;;;;;;:::i;:::-;;;;;;;;;;;2782:20;;;;:47;2877:20;;;;;11989:42:33;11977:55;;2877:20:30;;;11959:74:33;336:42:0;;2877:13:30;;11932:18:33;;2877:20:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2923:8:30;;:37;;;;;17474:66:33;17462:79;;2923:37:30;;;17444:98:33;2903:17:30;;-1:-1:-1;2923:8:30;;;;;-1:-1:-1;2923:21:30;;17417:18:33;;2923:37:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2903:57;;2971:9;2966:95;2986:4;:11;2982:1;:15;2966:95;;;3012:8;;3046:7;;3012:8;;;;;:22;;3035:9;;3046:4;;3051:1;;3046:7;;;;;;:::i;:::-;;;;;;;3012:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2999:3:30;;;;;-1:-1:-1;2966:95:30;;-1:-1:-1;2966:95:30;;;336:42:0;3066:12:30;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3189:8:30;;3153:57;;3189:8;;;;;-1:-1:-1;3200:9:30;;-1:-1:-1;3153:57:30;;;:::i;:::-;18242:42:33;18230:55;;;18212:74;;18317:2;18302:18;;18295:34;18200:2;18185:18;3153:57:30;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3131:19:30;:79;;;;;;;;;;;;;;;;;;;-1:-1:-1;3276:48:30;:11;3317:6;3276:40;:48::i;:::-;3352:19;;:68;;;;;3252:72;;-1:-1:-1;3330:19:30;;3352;;;;;;;:41;;:68;;3394:6;;3402:11;;3415:4;;3352:68;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3330:90;;3426:36;3435:11;3448:13;3426:8;:36::i;:::-;2514:953;;;2282:1185;;;;;;;:::o;3532:146:6:-;3580:40;3653:18;3632:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1074:341:30;1204:8;;1168:57;;1204:8;;;;;1215:9;;1168:57;;;:::i;:::-;18242:42:33;18230:55;;;18212:74;;18317:2;18302:18;;18295:34;18200:2;18185:18;1168:57:30;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1146:19:30;:79;;;;;;;;;;;;;;;;;;;1240:64;;1278:25;1240:64;;;;;;21326:98:33;1231:80:30;;1240:19;;;;;;:37;;21299:18:33;;1240:64:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1306:4;1231:8;:80::i;:::-;1326:19;;:77;;;;;1364:38;1326:77;;;21326:98:33;1317:93:30;;1326:19;;;;;;:37;;21299:18:33;;1326:77:30;21182:248:33;1317:93:30;1074:341;:::o;2754:147:6:-;2803:40;2876:18;2855:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2459:141;2508:34;2575:18;2554:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1306:195:1;1365:7;;1345:4;;1365:7;;1361:134;;;-1:-1:-1;1395:4:1;;1306:195::o;1361:134::-;1437:33;;;;;:7;:33;;;18212:74:33;;;1255:17:1;18302:18:33;;;18295:34;1482:1:1;;1437:7;;18185:18:33;;1437:33:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:47;;1430:54;;1306:195;:::o;2606:142:6:-;2655:35;2723:18;2702:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2606:142;:::o;4328:271:21:-;284:41:22;;21899:23:33;284:41:22;;;21887:36:33;4437:7:21;;21939:12:33;;284:41:22;;;;;;;;;;;;274:52;;;;;;4531:6:21;4539:11;:24;;;4565:11;:22;;;4476:112;;;;;;;;;;22175:19:33;;;22232:2;22228:15;;;;22245:66;22224:88;22219:2;22210:12;;22203:110;22338:2;22329:12;;22322:28;22375:2;22366:12;;22359:28;22412:3;22403:13;;21962:460;4476:112:21;;;;;;;;;;;;;4459:135;;;;;;4452:142;;4328:271;;;;;:::o;4362:153:1:-;4453:5;4445:4;:13;4441:68;;4474:24;;;;;;;;22601:25:33;;;22642:18;;;22635:34;;;4474:11:1;;;;22574:18:33;;4474:24:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4441:68;4362:153;;:::o;1020:676:31:-;1107:33;1181:5;:12;1168:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1148:46;;1200:25;1236:9;1231:389;1251:5;:12;1247:1;:16;1231:389;;;1278:16;1302:19;1324:18;1333:5;1339:1;1333:8;;;;;;;;:::i;:::-;;;;;;;1324;:18::i;:::-;1302:40;;1355:9;1350:171;1370:17;1366:1;:21;1350:171;;;1423:30;1432:17;1450:1;1432:20;;;;;;;;:::i;1423:30::-;1408:11;:45;1404:109;;1481:4;1467:18;;1497:5;;1404:109;1389:3;;1350:171;;;;1533:11;1528:86;;1597:5;1603:1;1597:8;;;;;;;;:::i;:::-;;;;;;;1556:17;1574:19;;;;;:::i;:::-;;;1556:38;;;;;;;;:::i;:::-;;;;;;:49;;;;1528:86;-1:-1:-1;;1265:3:31;;1231:389;;;-1:-1:-1;1642:44:31;;1649:17;1020:676;-1:-1:-1;1020:676:31:o;2815:199:12:-;2898:14;2933:19;2940:1;2943:3;2948;2933:6;:19::i;:::-;2924:28;;2962:45;;;;;;;;;;;;;;;;;;3000:6;2962:21;:45::i;:::-;2815:199;;;;;:::o;2334:147:1:-;2419:5;2411:13;;:4;:13;;;2407:68;;2440:24;;;;;23067:14:33;;23060:22;2440:24:1;;;23042:41:33;23126:14;;23119:22;23099:18;;;23092:50;2440:11:1;;;;23015:18:33;;2440:24:1;22880:268:33;90:127:31;158:7;207:3;190:21;;;;;;;;:::i;:::-;;;;;;;;;;;;;180:32;;;;;;173:39;;90:127;;;:::o;1546:1263:12:-;1630:14;1671:3;1664;:10;;1656:85;;;;;;;23663:2:33;1656:85:12;;;23645:21:33;23702:2;23682:18;;;23675:30;23741:34;23721:18;;;23714:62;23812:32;23792:18;;;23785:60;23862:19;;1656:85:12;;;;;;;;1975:3;1970:1;:8;;:20;;;;;1987:3;1982:1;:8;;1970:20;1966:34;;;-1:-1:-1;1999:1:12;1992:8;;1966:34;2011:12;2026:9;2032:3;2026;:9;:::i;:::-;:13;;2038:1;2026:13;:::i;:::-;2011:28;;2234:1;2229;:6;;:18;;;;;2246:1;2239:4;:8;2229:18;2225:38;;;2256:7;2262:1;2256:3;:7;:::i;:::-;2249:14;;;;;2225:38;2282:15;2296:1;1042:78;2282:15;:::i;:::-;2277:1;:20;;:46;;;;-1:-1:-1;2308:15:12;2322:1;1042:78;2308:15;:::i;:::-;2301:4;:22;2277:46;2273:82;;;2339:15;2353:1;1042:78;2339:15;:::i;:::-;2332:23;;:3;:23;:::i;2273:82::-;2459:3;2455:1;:7;2451:352;;;2478:12;2493:7;2497:3;2493:1;:7;:::i;:::-;2478:22;-1:-1:-1;2514:11:12;2528;2535:4;2478:22;2528:11;:::i;:::-;2514:25;;2557:3;2564:1;2557:8;2553:24;;2574:3;2567:10;;;;;;;2553:24;2612:1;2600:9;2606:3;2600;:9;:::i;:::-;:13;;;;:::i;:::-;2591:22;;2464:160;;2451:352;;;2638:3;2634:1;:7;2630:173;;;2657:12;2672:7;2678:1;2672:3;:7;:::i;:::-;2657:22;-1:-1:-1;2693:11:12;2707;2714:4;2657:22;2707:11;:::i;:::-;2693:25;;2736:3;2743:1;2736:8;2732:24;;2753:3;2746:10;;;;;;;2732:24;2779:9;2785:3;2779;:9;:::i;:::-;:13;;2791:1;2779:13;:::i;:::-;2770:22;;2643:160;;2630:173;1646:1163;1546:1263;;;;;:::o;9561:162::-;9645:71;9708:2;9712;9661:54;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;8962:55;9009:7;9128:14;;679:42;9302:2;9289:16;;9104:21;;9128:14;9289:16;679:42;9338:5;9327:68;9318:77;;9255:150;;9030:381;:::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;14:660:33:-;204:2;216:21;;;286:13;;189:18;;;308:22;;;156:4;;387:15;;;361:2;346:18;;;156:4;430:218;444:6;441:1;438:13;430:218;;;509:13;;524:42;505:62;493:75;;597:2;623:15;;;;588:12;;;;466:1;459:9;430:218;;;-1:-1:-1;665:3:33;;14:660;-1:-1:-1;;;;;14:660:33:o;679:348::-;721:3;759:5;753:12;786:6;781:3;774:19;842:6;835:4;828:5;824:16;817:4;812:3;808:14;802:47;894:1;887:4;878:6;873:3;869:16;865:27;858:38;1016:4;946:66;941:2;933:6;929:15;925:88;920:3;916:98;912:109;905:116;;;679:348;;;;:::o;1032:1767::-;1236:4;1284:2;1273:9;1269:18;1314:2;1303:9;1296:21;1337:6;1372;1366:13;1403:6;1395;1388:22;1441:2;1430:9;1426:18;1419:25;;1503:2;1493:6;1490:1;1486:14;1475:9;1471:30;1467:39;1453:53;;1541:2;1533:6;1529:15;1562:1;1572:1198;1586:6;1583:1;1580:13;1572:1198;;;1675:66;1651:22;;;1647:95;1635:108;;1766:13;;1853:9;;1864:42;1849:58;1834:74;;1955:2;1947:11;;;1941:18;1818:2;1979:15;;;1972:27;;;2060:19;;1806:15;;;2092:24;;;2247:21;;;2150:2;2200:1;2196:16;;;2184:29;;2180:38;;;2138:15;;;;-1:-1:-1;2306:355:33;2322:8;2317:3;2314:17;2306:355;;;2424:66;2415:6;2407;2403:19;2399:92;2392:5;2385:107;2519:42;2554:6;2543:8;2537:15;2519:42;:::i;:::-;2604:2;2590:17;;;;2509:52;;-1:-1:-1;2633:14:33;;;;;2350:1;2341:11;2306:355;;;-1:-1:-1;2684:6:33;;-1:-1:-1;;;2725:2:33;2748:12;;;;2713:15;;;;;-1:-1:-1;1608:1:33;1601:9;1572:1198;;;-1:-1:-1;2787:6:33;;1032:1767;-1:-1:-1;;;;;;1032:1767:33:o;2804:220::-;2872:20;;2932:66;2921:78;;2911:89;;2901:117;;3014:1;3011;3004:12;2901:117;2804:220;;;:::o;3029:196::-;3097:20;;3157:42;3146:54;;3136:65;;3126:93;;3215:1;3212;3205:12;3230:184;3282:77;3279:1;3272:88;3379:4;3376:1;3369:15;3403:4;3400:1;3393:15;3419:253;3491:2;3485:9;3533:4;3521:17;;3568:18;3553:34;;3589:22;;;3550:62;3547:88;;;3615:18;;:::i;:::-;3651:2;3644:22;3419:253;:::o;3677:::-;3749:2;3743:9;3791:4;3779:17;;3826:18;3811:34;;3847:22;;;3808:62;3805:88;;;3873:18;;:::i;3935:334::-;4006:2;4000:9;4062:2;4052:13;;4067:66;4048:86;4036:99;;4165:18;4150:34;;4186:22;;;4147:62;4144:88;;;4212:18;;:::i;:::-;4248:2;4241:22;3935:334;;-1:-1:-1;3935:334:33:o;4274:689::-;4317:5;4370:3;4363:4;4355:6;4351:17;4347:27;4337:55;;4388:1;4385;4378:12;4337:55;4428:6;4415:20;4467:4;4459:6;4455:17;4496:1;4518;4542:18;4534:6;4531:30;4528:56;;;4564:18;;:::i;:::-;-1:-1:-1;4621:2:33;4609:15;;4626:66;4605:88;4695:4;4601:99;4720:21;4601:99;4720:21;:::i;:::-;4709:32;;;4766:6;4757:7;4750:23;4806:3;4797:6;4792:3;4788:16;4785:25;4782:45;;;4823:1;4820;4813:12;4782:45;4874:6;4869:3;4862:4;4853:7;4849:18;4836:45;4930:1;4901:20;;;4923:4;4897:31;4890:42;;;;-1:-1:-1;4905:7:33;4274:689;-1:-1:-1;;;4274:689:33:o;4968:219::-;5035:20;;5095:66;5084:78;;5074:89;;5064:117;;5177:1;5174;5167:12;5192:738;5247:5;5295:4;5283:9;5278:3;5274:19;5270:30;5267:50;;;5313:1;5310;5303:12;5267:50;5366:4;5360:11;;;5398:17;;5445:18;5430:34;;5466:22;;;5427:62;5424:88;;;5492:18;;:::i;:::-;5528:4;5521:24;5563:6;-1:-1:-1;5563:6:33;5592:23;;5638:18;5627:30;;5624:50;;;5670:1;5667;5660:12;5624:50;5698:46;5740:3;5731:6;5720:9;5716:22;5698:46;:::i;:::-;5690:6;5683:62;;5797:2;5786:9;5782:18;5769:32;5845:18;5836:7;5832:32;5823:7;5820:45;5810:73;;5879:1;5876;5869:12;5810:73;5911:2;5899:15;;;;5892:32;5192:738;;-1:-1:-1;;5192:738:33:o;5935:936::-;5993:5;6041:4;6029:9;6024:3;6020:19;6016:30;6013:50;;;6059:1;6056;6049:12;6013:50;6081:22;;:::i;:::-;6072:31;;6126:29;6145:9;6126:29;:::i;:::-;6119:5;6112:44;6188:37;6221:2;6210:9;6206:18;6188:37;:::i;:::-;6183:2;6172:14;;6165:61;6299:2;6284:18;;;6271:32;6319:14;;;6312:31;6416:2;6401:18;;;6388:32;6436:14;;;6429:31;6511:3;6496:19;;6483:33;6539:18;6528:30;;6525:50;;;6571:1;6568;6561:12;6525:50;6608:46;6650:3;6641:6;6630:9;6626:22;6608:46;:::i;:::-;6602:3;6595:5;6591:15;6584:71;;6708:3;6697:9;6693:19;6680:33;6738:18;6728:8;6725:32;6722:52;;;6770:1;6767;6760:12;6722:52;6807:57;6860:3;6849:8;6838:9;6834:24;6807:57;:::i;:::-;6801:3;6794:5;6790:15;6783:82;;5935:936;;;;:::o;6876:118::-;6962:5;6955:13;6948:21;6941:5;6938:32;6928:60;;6984:1;6981;6974:12;6999:128;7064:20;;7093:28;7064:20;7093:28;:::i;7132:906::-;7183:5;7231:4;7219:9;7214:3;7210:19;7206:30;7203:50;;;7249:1;7246;7239:12;7203:50;7271:22;;:::i;:::-;7262:31;;7316:29;7335:9;7316:29;:::i;:::-;7302:44;;7419:2;7404:18;;;7391:32;7439:14;;;7432:31;7514:2;7499:18;;7486:32;7541:18;7530:30;;7527:50;;;7573:1;7570;7563:12;7527:50;7609:46;7651:3;7642:6;7631:9;7627:22;7609:46;:::i;:::-;7604:2;7593:14;;7586:70;-1:-1:-1;7729:2:33;7714:18;;;7701:32;7749:14;;;7742:31;7806:36;7837:3;7822:19;;7806:36;:::i;:::-;7800:3;7793:5;7789:15;7782:61;7876:36;7907:3;7896:9;7892:19;7876:36;:::i;:::-;7870:3;7859:15;;7852:61;7986:3;7971:19;;;7958:33;8007:15;;;8000:32;;;;7863:5;7132:906;-1:-1:-1;7132:906:33:o;8043:1029::-;8210:6;8218;8226;8234;8242;8250;8303:3;8291:9;8282:7;8278:23;8274:33;8271:53;;;8320:1;8317;8310:12;8271:53;8343:29;8362:9;8343:29;:::i;:::-;8333:39;;8391:38;8425:2;8414:9;8410:18;8391:38;:::i;:::-;8381:48;;8480:2;8469:9;8465:18;8452:32;8507:18;8499:6;8496:30;8493:50;;;8539:1;8536;8529:12;8493:50;8562;8604:7;8595:6;8584:9;8580:22;8562:50;:::i;:::-;8552:60;;;8665:2;8654:9;8650:18;8637:32;8694:18;8684:8;8681:32;8678:52;;;8726:1;8723;8716:12;8678:52;8749:64;8805:7;8794:8;8783:9;8779:24;8749:64;:::i;:::-;8739:74;;;8832:39;8866:3;8855:9;8851:19;8832:39;:::i;:::-;8822:49;;8924:3;8913:9;8909:19;8896:33;8954:18;8944:8;8941:32;8938:52;;;8986:1;8983;8976:12;8938:52;9009:57;9058:7;9047:8;9036:9;9032:24;9009:57;:::i;:::-;8999:67;;;8043:1029;;;;;;;;:::o;9077:994::-;9235:6;9243;9251;9259;9267;9320:3;9308:9;9299:7;9295:23;9291:33;9288:53;;;9337:1;9334;9327:12;9288:53;9382:23;;;-1:-1:-1;9480:2:33;9465:18;;9452:32;9507:18;9496:30;;9493:50;;;9539:1;9536;9529:12;9493:50;9562;9604:7;9595:6;9584:9;9580:22;9562:50;:::i;:::-;9552:60;;;9665:2;9654:9;9650:18;9637:32;9694:18;9684:8;9681:32;9678:52;;;9726:1;9723;9716:12;9678:52;9749:64;9805:7;9794:8;9783:9;9779:24;9749:64;:::i;:::-;9739:74;;;9832:38;9866:2;9855:9;9851:18;9832:38;:::i;:::-;9822:48;;9923:3;9912:9;9908:19;9895:33;9953:18;9943:8;9940:32;9937:52;;;9985:1;9982;9975:12;9937:52;10008:57;10057:7;10046:8;10035:9;10031:24;10008:57;:::i;:::-;9998:67;;;9077:994;;;;;;;;:::o;10076:492::-;10128:3;10166:5;10160:12;10193:6;10188:3;10181:19;10225:4;10220:3;10216:14;10209:21;;10264:4;10257:5;10253:16;10287:1;10297:246;10311:6;10308:1;10305:13;10297:246;;;10376:13;;10391:66;10372:86;10360:99;;10488:4;10479:14;;;;10516:17;;;;10333:1;10326:9;10297:246;;;-1:-1:-1;10559:3:33;;10076:492;-1:-1:-1;;;;10076:492:33:o;10573:1202::-;10791:4;10839:2;10828:9;10824:18;10869:2;10858:9;10851:21;10892:6;10927;10921:13;10958:6;10950;10943:22;10996:2;10985:9;10981:18;10974:25;;11058:2;11048:6;11045:1;11041:14;11030:9;11026:30;11022:39;11008:53;;11096:2;11088:6;11084:15;11117:1;11127:619;11141:6;11138:1;11135:13;11127:619;;;11230:66;11218:9;11210:6;11206:22;11202:95;11197:3;11190:108;11327:6;11321:13;11373:2;11367:9;11404:2;11396:6;11389:18;11434:48;11478:2;11470:6;11466:15;11452:12;11434:48;:::i;:::-;11420:62;;11531:2;11527;11523:11;11517:18;11495:40;;11584:6;11576;11572:19;11567:2;11559:6;11555:15;11548:44;11615:51;11659:6;11643:14;11615:51;:::i;:::-;11605:61;-1:-1:-1;;;11701:2:33;11724:12;;;;11689:15;;;;;11163:1;11156:9;11127:619;;12308:841;12470:4;12518:2;12507:9;12503:18;12548:2;12537:9;12530:21;12571:6;12606;12600:13;12637:6;12629;12622:22;12675:2;12664:9;12660:18;12653:25;;12737:2;12727:6;12724:1;12720:14;12709:9;12705:30;12701:39;12687:53;;12775:2;12767:6;12763:15;12796:1;12806:314;12820:6;12817:1;12814:13;12806:314;;;12909:66;12897:9;12889:6;12885:22;12881:95;12876:3;12869:108;13000:40;13033:6;13024;13018:13;13000:40;:::i;:::-;12990:50;-1:-1:-1;13075:2:33;13098:12;;;;13063:15;;;;;12842:1;12835:9;12806:314;;13154:1925;13355:6;13363;13371;13379;13387;13395;13403;13456:3;13444:9;13435:7;13431:23;13427:33;13424:53;;;13473:1;13470;13463:12;13424:53;13496:29;13515:9;13496:29;:::i;:::-;13486:39;;13544:38;13578:2;13567:9;13563:18;13544:38;:::i;:::-;13534:48;;13633:2;13622:9;13618:18;13605:32;13660:18;13652:6;13649:30;13646:50;;;13692:1;13689;13682:12;13646:50;13715:22;;13768:4;13760:13;;13756:27;-1:-1:-1;13746:55:33;;13797:1;13794;13787:12;13746:55;13837:2;13824:16;13863:18;13855:6;13852:30;13849:56;;;13885:18;;:::i;:::-;13931:6;13928:1;13924:14;13958:28;13982:2;13978;13974:11;13958:28;:::i;:::-;14020:19;;;14064:2;14094:11;;;14090:20;;;14055:12;;;;14122:19;;;14119:39;;;14154:1;14151;14144:12;14119:39;14186:2;14182;14178:11;14167:22;;14198:299;14214:6;14209:3;14206:15;14198:299;;;14300:3;14287:17;14336:18;14323:11;14320:35;14317:55;;;14368:1;14365;14358:12;14317:55;14397:57;14446:7;14441:2;14427:11;14423:2;14419:20;14415:29;14397:57;:::i;:::-;14385:70;;-1:-1:-1;14484:2:33;14231:12;;;;14475;;;;14198:299;;;14516:5;-1:-1:-1;;;;14590:2:33;14575:18;;14562:32;;-1:-1:-1;;14671:3:33;14656:19;;14643:33;14701:18;14688:32;;14685:52;;;14733:1;14730;14723:12;14685:52;14756:64;14812:7;14801:8;14790:9;14786:24;14756:64;:::i;:::-;14746:74;;;14839:39;14873:3;14862:9;14858:19;14839:39;:::i;:::-;14829:49;;14931:3;14920:9;14916:19;14903:33;14961:18;14951:8;14948:32;14945:52;;;14993:1;14990;14983:12;14945:52;15016:57;15065:7;15054:8;15043:9;15039:24;15016:57;:::i;:::-;15006:67;;;13154:1925;;;;;;;;;;:::o;15084:1113::-;15286:4;15334:2;15323:9;15319:18;15364:2;15353:9;15346:21;15387:6;15422;15416:13;15453:6;15445;15438:22;15491:2;15480:9;15476:18;15469:25;;15553:2;15543:6;15540:1;15536:14;15525:9;15521:30;15517:39;15503:53;;15591:2;15583:6;15579:15;15612:1;15622:546;15636:6;15633:1;15630:13;15622:546;;;15725:66;15713:9;15705:6;15701:22;15697:95;15692:3;15685:108;15822:6;15816:13;15872:42;15867:2;15861:9;15857:58;15849:6;15842:74;15963:2;15959;15955:11;15949:18;15929:38;;16004:2;15999;15991:6;15987:15;15980:27;16030:58;16084:2;16076:6;16072:15;16058:12;16030:58;:::i;:::-;16020:68;-1:-1:-1;;16123:2:33;16146:12;;;;16111:15;;;;;15658:1;15651:9;15622:546;;16202:226;16261:6;16314:2;16302:9;16293:7;16289:23;16285:32;16282:52;;;16330:1;16327;16320:12;16282:52;-1:-1:-1;16375:23:33;;16202:226;-1:-1:-1;16202:226:33:o;16625:437::-;16704:1;16700:12;;;;16747;;;16768:61;;16822:4;16814:6;16810:17;16800:27;;16768:61;16875:2;16867:6;16864:14;16844:18;16841:38;16838:218;;16912:77;16909:1;16902:88;17013:4;17010:1;17003:15;17041:4;17038:1;17031:15;16838:218;;16625:437;;;:::o;17553:184::-;17623:6;17676:2;17664:9;17655:7;17651:23;17647:32;17644:52;;;17692:1;17689;17682:12;17644:52;-1:-1:-1;17715:16:33;;17553:184;-1:-1:-1;17553:184:33:o;17742:291::-;17919:6;17908:9;17901:25;17962:2;17957;17946:9;17942:18;17935:30;17882:4;17982:45;18023:2;18012:9;18008:18;18000:6;17982:45;:::i;:::-;17974:53;17742:291;-1:-1:-1;;;;17742:291:33:o;18340:634::-;18435:42;18427:5;18421:12;18417:61;18412:3;18405:74;18528:4;18521:5;18517:16;18511:23;18504:4;18499:3;18495:14;18488:47;18387:3;18581:4;18574:5;18570:16;18564:23;18619:4;18612;18607:3;18603:14;18596:28;18645:47;18686:4;18681:3;18677:14;18663:12;18645:47;:::i;:::-;18633:59;;18741:4;18734:5;18730:16;18724:23;18717:4;18712:3;18708:14;18701:47;18811:4;18804:5;18800:16;18794:23;18787:31;18780:39;18773:4;18768:3;18764:14;18757:63;18883:4;18876:5;18872:16;18866:23;18859:31;18852:39;18845:4;18840:3;18836:14;18829:63;18941:4;18934:5;18930:16;18924:23;18917:4;18912:3;18908:14;18901:47;18964:4;18957:11;;;18340:634;;;;:::o;18979:1464::-;19282:42;19274:6;19270:55;19259:9;19252:74;19362:2;19357;19346:9;19342:18;19335:30;19420:42;19411:6;19405:13;19401:62;19396:2;19385:9;19381:18;19374:90;19529:66;19523:2;19515:6;19511:15;19505:22;19501:95;19495:3;19484:9;19480:19;19473:124;19652:4;19644:6;19640:17;19634:24;19628:3;19617:9;19613:19;19606:53;19715:2;19707:6;19703:15;19697:22;19690:4;19679:9;19675:20;19668:52;19233:4;19767:3;19759:6;19755:16;19749:23;19809:4;19803:3;19792:9;19788:19;19781:33;19837:52;19884:3;19873:9;19869:19;19855:12;19837:52;:::i;:::-;19823:66;;19938:3;19930:6;19926:16;19920:23;20008:66;19996:9;19988:6;19984:22;19980:95;19974:3;19963:9;19959:19;19952:124;20113:14;20107:21;20152:4;20144:6;20137:20;20180:52;20226:4;20218:6;20214:17;20198:14;20180:52;:::i;:::-;20166:66;;20301:18;20295:2;20279:14;20275:23;20269:30;20265:55;20260:2;20252:6;20248:15;20241:80;20371:9;20363:6;20359:22;20352:4;20341:9;20337:20;20330:52;20399:38;20430:6;20422;20399:38;:::i;:::-;20391:46;18979:1464;-1:-1:-1;;;;;;;;18979:1464:33:o;20448:218::-;20595:2;20584:9;20577:21;20558:4;20615:45;20656:2;20645:9;20641:18;20633:6;20615:45;:::i;20671:184::-;20723:77;20720:1;20713:88;20820:4;20817:1;20810:15;20844:4;20841:1;20834:15;20860:128;20927:9;;;20948:11;;;20945:37;;;20962:18;;:::i;20993:184::-;21045:77;21042:1;21035:88;21142:4;21139:1;21132:15;21166:4;21163:1;21156:15;21435:245;21502:6;21555:2;21543:9;21534:7;21530:23;21526:32;21523:52;;;21571:1;21568;21561:12;21523:52;21603:9;21597:16;21622:28;21644:5;21622:28;:::i;22680:195::-;22719:3;22750:66;22743:5;22740:77;22737:103;;22820:18;;:::i;:::-;-1:-1:-1;22867:1:33;22856:13;;22680:195::o;23153:303::-;23284:3;23322:6;23316:13;23368:6;23361:4;23353:6;23349:17;23344:3;23338:37;23430:1;23394:16;;23419:13;;;-1:-1:-1;23394:16:33;23153:303;-1:-1:-1;23153:303:33:o;23892:125::-;23957:9;;;23978:10;;;23975:36;;;23991:18;;:::i;24022:266::-;24054:1;24080;24070:189;;24115:77;24112:1;24105:88;24216:4;24213:1;24206:15;24244:4;24241:1;24234:15;24070:189;-1:-1:-1;24273:9:33;;24022:266::o;24293:291::-;24470:2;24459:9;24452:21;24433:4;24490:45;24531:2;24520:9;24516:18;24508:6;24490:45;:::i;:::-;24482:53;;24571:6;24566:2;24555:9;24551:18;24544:34;24293:291;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","failed()":"ba414fa6","registry()":"7b103999","setUp()":"0a9254e4","signalsImplicitMode()":"7aa3488f","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","test_acceptsValidUrl(bytes12,address,string,(address,bytes4,bytes32,bytes32,bytes,(string,uint64)),address,(address,uint256,bytes,uint256,bool,bool,uint256))":"2f237718","test_acceptsValidUrlFromMultiple(bytes12,address,string[],uint256,(address,bytes4,bytes32,bytes32,bytes,(string,uint64)),address,(address,uint256,bytes,uint256,bool,bool,uint256))":"90110f2d","test_rejectsInvalidUrl(bytes32,string,(address,bytes4,bytes32,bytes32,bytes,(string,uint64)),address,(address,uint256,bytes,uint256,bool,bool,uint256))":"50932724","test_supportsInterface(bytes32)":"a401b02b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"excludedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract ImplicitProjectRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"signalsImplicitMode\",\"outputs\":[{\"internalType\":\"contract SignalsImplicitModeMock\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"artifact\",\"type\":\"string\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzArtifactSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes12\",\"name\":\"projectIdUpper\",\"type\":\"bytes12\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"approvedSigner\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"identityType\",\"type\":\"bytes4\"},{\"internalType\":\"bytes32\",\"name\":\"issuerHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"audienceHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"applicationData\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"redirectUrl\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"issuedAt\",\"type\":\"uint64\"}],\"internalType\":\"struct AuthData\",\"name\":\"authData\",\"type\":\"tuple\"}],\"internalType\":\"struct Attestation\",\"name\":\"attestation\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"wallet\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"delegateCall\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"onlyFallback\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"behaviorOnError\",\"type\":\"uint256\"}],\"internalType\":\"struct Payload.Call\",\"name\":\"call\",\"type\":\"tuple\"}],\"name\":\"test_acceptsValidUrl\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes12\",\"name\":\"projectIdUpper\",\"type\":\"bytes12\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"urls\",\"type\":\"string[]\"},{\"internalType\":\"uint256\",\"name\":\"urlIdx\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"approvedSigner\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"identityType\",\"type\":\"bytes4\"},{\"internalType\":\"bytes32\",\"name\":\"issuerHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"audienceHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"applicationData\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"redirectUrl\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"issuedAt\",\"type\":\"uint64\"}],\"internalType\":\"struct AuthData\",\"name\":\"authData\",\"type\":\"tuple\"}],\"internalType\":\"struct Attestation\",\"name\":\"attestation\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"wallet\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"delegateCall\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"onlyFallback\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"behaviorOnError\",\"type\":\"uint256\"}],\"internalType\":\"struct Payload.Call\",\"name\":\"call\",\"type\":\"tuple\"}],\"name\":\"test_acceptsValidUrlFromMultiple\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"projectId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"approvedSigner\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"identityType\",\"type\":\"bytes4\"},{\"internalType\":\"bytes32\",\"name\":\"issuerHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"audienceHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"applicationData\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"redirectUrl\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"issuedAt\",\"type\":\"uint64\"}],\"internalType\":\"struct AuthData\",\"name\":\"authData\",\"type\":\"tuple\"}],\"internalType\":\"struct Attestation\",\"name\":\"attestation\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"wallet\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"delegateCall\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"onlyFallback\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"behaviorOnError\",\"type\":\"uint256\"}],\"internalType\":\"struct Payload.Call\",\"name\":\"call\",\"type\":\"tuple\"}],\"name\":\"test_rejectsInvalidUrl\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"projectId\",\"type\":\"bytes32\"}],\"name\":\"test_supportsInterface\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/SignalsImplicitMode.t.sol\":\"SignalsImplicitModeTest\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9\",\"dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/sequence-v3/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287\",\"dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p\"]},\"lib/sequence-v3/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/sequence-v3/src/extensions/sessions/implicit/Attestation.sol\":{\"keccak256\":\"0xcaa44022b5eb4bc7ab487b3b1a0125da67e2e891cee983ef6cdb6814f045efc8\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://94829782b6dcb482d7c002511c590d1ad8de3b21e5e72575df18be73565b3638\",\"dweb:/ipfs/QmZ4u9FxALzMzKR7auW8FmFkhGVw8kRDeDRJ1PKwKaWNWF\"]},\"lib/sequence-v3/src/extensions/sessions/implicit/ISignalsImplicitMode.sol\":{\"keccak256\":\"0x6cb48f50c49bcb3c7071306fe9fac6c102bc9eabf73d9909e19ab3b9a835d0a8\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://15297e969f64fc1152654d1cefbe276c15a0ecfc11f86b4c276bb0b454fe700a\",\"dweb:/ipfs/QmeehNFYBPPtJePwUcqiYCgiuFotur4VVVCV1KvegdCCZ4\"]},\"lib/sequence-v3/src/modules/Payload.sol\":{\"keccak256\":\"0x03b3dc2a4a556d3007671e910813dc4703ecb16f5bc2c6645e4c0d8512f2d76a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://9b41263156d5a310a48038e8c3871e9acdb806c018bc952d1a56efed62954e17\",\"dweb:/ipfs/QmaiuTbQgaiCvtN2V6roe4RTi6hHV85mNZpWKqvKA8ofqw\"]},\"lib/sequence-v3/src/utils/LibBytes.sol\":{\"keccak256\":\"0x4fe0b4786b2157e12384b90ae9daa1009b74b2547a8a24b800a8b998278c874b\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://065129e32d1a318e89fb7587e136c33177a7848393f9055c0ac601b84741cd8c\",\"dweb:/ipfs/QmVWucfHSHRJriRFNoJqoeDcVB4fDfqbccM8KPBmwcxVu3\"]},\"src/helper/SignalsImplicitMode.sol\":{\"keccak256\":\"0xd9107be2460f7f7ec4bdfefc3d10c79aa92b9285e1b12a75cb2a8d17b150a2ec\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://9294d6788fc490030dfc6aef1b8a5b0684a98aaff880c713a284d6b9b02c29f9\",\"dweb:/ipfs/QmcuCpVkx6yDjXhPNgPdeNpxyNbQ4kQnXWoz24VHZEXDFj\"]},\"src/registry/IImplicitProjectRegistry.sol\":{\"keccak256\":\"0xa14fecf045549da52f725265a9ecf08133fc94c61c626ad87d981e4b91cbf203\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://dd92526b0b0038c628295d0ea279871995b998d4f2d2cab92cdcd3fd8535c543\",\"dweb:/ipfs/QmbNuRU7qFEcHsCmEiR6oFpcLH85vFRLpFNiVbUczYDZkH\"]},\"src/registry/IImplicitProjectValidation.sol\":{\"keccak256\":\"0x1e8c305e011aa13d774e0ff3cfd9286af3d8174c4e33ba5ef8f724ea2dd6e5b2\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://057ad8894656688eefb257c02696f37281d3e7610cd3c3db8f1c3954fba9ea9c\",\"dweb:/ipfs/QmbdeFH1XxLyWqdTEmRkGNiebMVAxuREtuLpZXRErCyYM6\"]},\"src/registry/ImplicitProjectRegistry.sol\":{\"keccak256\":\"0x178b0f0a8022f9d5bdc434b9b54a55387b760d44b2783cef86756eafb7911617\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b9720240bade0c56c477f6df7993f6a8f9c6946e1e62d8d9198c2cf2aa2c2a24\",\"dweb:/ipfs/QmXCZmcb4GiUytzy3uPgXwmPYf8VcVy3YmcmgVMwKnncdt\"]},\"test/SignalsImplicitMode.t.sol\":{\"keccak256\":\"0x1bb5e630261a19eb67d54a4103c5593dcae8693a1c000c8f020e258364d01516\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://4b837d259b7d0780268445045de43312753db8f6de8a707e14334c0ef9de8208\",\"dweb:/ipfs/QmNzPzfNNkZu8oayRf1PCW7tNZiu1pjaXKT8RAFnzac6jf\"]},\"test/TestHelper.sol\":{\"keccak256\":\"0xc0edfb1ce57edb0f263183839aa67fd588f2d9f3987e13029149be7dcc32ea57\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d91003ef8784700368f3d4e6410732bea65ce7eeec9b719b9167f30f9ca76ac2\",\"dweb:/ipfs/QmShjBB4NB9YwGQm7sA2MmmbEeKT9yPKzEtSoJX9ZASXce\"]},\"test/mock/SignalsImplicitModeMock.sol\":{\"keccak256\":\"0x45f582ed846ca8f09391ec8f39a13e71371bff3ab6d7829a479ffd30049ba49e\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://9c775ddf09592811ea8f4b4e4303118958fc13104d2f8c3d6d2195220f65d4a4\",\"dweb:/ipfs/QmWD9ytPjuFjFiu5em37HNZawGE7tQVtLov2iXkAos9sFr\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"excludedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract ImplicitProjectRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"setUp"},{"inputs":[],"stateMutability":"view","type":"function","name":"signalsImplicitMode","outputs":[{"internalType":"contract SignalsImplicitModeMock","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzArtifactSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"string","name":"artifact","type":"string"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]},{"inputs":[{"internalType":"bytes12","name":"projectIdUpper","type":"bytes12"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"string","name":"url","type":"string"},{"internalType":"struct Attestation","name":"attestation","type":"tuple","components":[{"internalType":"address","name":"approvedSigner","type":"address"},{"internalType":"bytes4","name":"identityType","type":"bytes4"},{"internalType":"bytes32","name":"issuerHash","type":"bytes32"},{"internalType":"bytes32","name":"audienceHash","type":"bytes32"},{"internalType":"bytes","name":"applicationData","type":"bytes"},{"internalType":"struct AuthData","name":"authData","type":"tuple","components":[{"internalType":"string","name":"redirectUrl","type":"string"},{"internalType":"uint64","name":"issuedAt","type":"uint64"}]}]},{"internalType":"address","name":"wallet","type":"address"},{"internalType":"struct Payload.Call","name":"call","type":"tuple","components":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"gasLimit","type":"uint256"},{"internalType":"bool","name":"delegateCall","type":"bool"},{"internalType":"bool","name":"onlyFallback","type":"bool"},{"internalType":"uint256","name":"behaviorOnError","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"test_acceptsValidUrl"},{"inputs":[{"internalType":"bytes12","name":"projectIdUpper","type":"bytes12"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"string[]","name":"urls","type":"string[]"},{"internalType":"uint256","name":"urlIdx","type":"uint256"},{"internalType":"struct Attestation","name":"attestation","type":"tuple","components":[{"internalType":"address","name":"approvedSigner","type":"address"},{"internalType":"bytes4","name":"identityType","type":"bytes4"},{"internalType":"bytes32","name":"issuerHash","type":"bytes32"},{"internalType":"bytes32","name":"audienceHash","type":"bytes32"},{"internalType":"bytes","name":"applicationData","type":"bytes"},{"internalType":"struct AuthData","name":"authData","type":"tuple","components":[{"internalType":"string","name":"redirectUrl","type":"string"},{"internalType":"uint64","name":"issuedAt","type":"uint64"}]}]},{"internalType":"address","name":"wallet","type":"address"},{"internalType":"struct Payload.Call","name":"call","type":"tuple","components":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"gasLimit","type":"uint256"},{"internalType":"bool","name":"delegateCall","type":"bool"},{"internalType":"bool","name":"onlyFallback","type":"bool"},{"internalType":"uint256","name":"behaviorOnError","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"test_acceptsValidUrlFromMultiple"},{"inputs":[{"internalType":"bytes32","name":"projectId","type":"bytes32"},{"internalType":"string","name":"url","type":"string"},{"internalType":"struct Attestation","name":"attestation","type":"tuple","components":[{"internalType":"address","name":"approvedSigner","type":"address"},{"internalType":"bytes4","name":"identityType","type":"bytes4"},{"internalType":"bytes32","name":"issuerHash","type":"bytes32"},{"internalType":"bytes32","name":"audienceHash","type":"bytes32"},{"internalType":"bytes","name":"applicationData","type":"bytes"},{"internalType":"struct AuthData","name":"authData","type":"tuple","components":[{"internalType":"string","name":"redirectUrl","type":"string"},{"internalType":"uint64","name":"issuedAt","type":"uint64"}]}]},{"internalType":"address","name":"wallet","type":"address"},{"internalType":"struct Payload.Call","name":"call","type":"tuple","components":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"gasLimit","type":"uint256"},{"internalType":"bool","name":"delegateCall","type":"bool"},{"internalType":"bool","name":"onlyFallback","type":"bool"},{"internalType":"uint256","name":"behaviorOnError","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"test_rejectsInvalidUrl"},{"inputs":[{"internalType":"bytes32","name":"projectId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"test_supportsInterface"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"test/SignalsImplicitMode.t.sol":"SignalsImplicitModeTest"},"evmVersion":"prague","libraries":{}},"sources":{"lib/forge-std/src/Base.sol":{"keccak256":"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf","urls":["bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d","dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43","urls":["bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3","dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa","urls":["bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2","dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746","urls":["bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41","dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK"],"license":"MIT"},"lib/forge-std/src/StdConstants.sol":{"keccak256":"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534","urls":["bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc","dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d","urls":["bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391","dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500","urls":["bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974","dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd","urls":["bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc","dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdToml.sol":{"keccak256":"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861","urls":["bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3","dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8","urls":["bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a","dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c","urls":["bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4","dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39","urls":["bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9","dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5","urls":["bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57","dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f","urls":["bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d","dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11","urls":["bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab","dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3"],"license":"MIT"},"lib/sequence-v3/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa","urls":["bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287","dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p"],"license":"MIT"},"lib/sequence-v3/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"lib/sequence-v3/src/extensions/sessions/implicit/Attestation.sol":{"keccak256":"0xcaa44022b5eb4bc7ab487b3b1a0125da67e2e891cee983ef6cdb6814f045efc8","urls":["bzz-raw://94829782b6dcb482d7c002511c590d1ad8de3b21e5e72575df18be73565b3638","dweb:/ipfs/QmZ4u9FxALzMzKR7auW8FmFkhGVw8kRDeDRJ1PKwKaWNWF"],"license":"Apache-2.0"},"lib/sequence-v3/src/extensions/sessions/implicit/ISignalsImplicitMode.sol":{"keccak256":"0x6cb48f50c49bcb3c7071306fe9fac6c102bc9eabf73d9909e19ab3b9a835d0a8","urls":["bzz-raw://15297e969f64fc1152654d1cefbe276c15a0ecfc11f86b4c276bb0b454fe700a","dweb:/ipfs/QmeehNFYBPPtJePwUcqiYCgiuFotur4VVVCV1KvegdCCZ4"],"license":"Apache-2.0"},"lib/sequence-v3/src/modules/Payload.sol":{"keccak256":"0x03b3dc2a4a556d3007671e910813dc4703ecb16f5bc2c6645e4c0d8512f2d76a","urls":["bzz-raw://9b41263156d5a310a48038e8c3871e9acdb806c018bc952d1a56efed62954e17","dweb:/ipfs/QmaiuTbQgaiCvtN2V6roe4RTi6hHV85mNZpWKqvKA8ofqw"],"license":"Apache-2.0"},"lib/sequence-v3/src/utils/LibBytes.sol":{"keccak256":"0x4fe0b4786b2157e12384b90ae9daa1009b74b2547a8a24b800a8b998278c874b","urls":["bzz-raw://065129e32d1a318e89fb7587e136c33177a7848393f9055c0ac601b84741cd8c","dweb:/ipfs/QmVWucfHSHRJriRFNoJqoeDcVB4fDfqbccM8KPBmwcxVu3"],"license":"Apache-2.0"},"src/helper/SignalsImplicitMode.sol":{"keccak256":"0xd9107be2460f7f7ec4bdfefc3d10c79aa92b9285e1b12a75cb2a8d17b150a2ec","urls":["bzz-raw://9294d6788fc490030dfc6aef1b8a5b0684a98aaff880c713a284d6b9b02c29f9","dweb:/ipfs/QmcuCpVkx6yDjXhPNgPdeNpxyNbQ4kQnXWoz24VHZEXDFj"],"license":"Apache-2.0"},"src/registry/IImplicitProjectRegistry.sol":{"keccak256":"0xa14fecf045549da52f725265a9ecf08133fc94c61c626ad87d981e4b91cbf203","urls":["bzz-raw://dd92526b0b0038c628295d0ea279871995b998d4f2d2cab92cdcd3fd8535c543","dweb:/ipfs/QmbNuRU7qFEcHsCmEiR6oFpcLH85vFRLpFNiVbUczYDZkH"],"license":"Apache-2.0"},"src/registry/IImplicitProjectValidation.sol":{"keccak256":"0x1e8c305e011aa13d774e0ff3cfd9286af3d8174c4e33ba5ef8f724ea2dd6e5b2","urls":["bzz-raw://057ad8894656688eefb257c02696f37281d3e7610cd3c3db8f1c3954fba9ea9c","dweb:/ipfs/QmbdeFH1XxLyWqdTEmRkGNiebMVAxuREtuLpZXRErCyYM6"],"license":"Apache-2.0"},"src/registry/ImplicitProjectRegistry.sol":{"keccak256":"0x178b0f0a8022f9d5bdc434b9b54a55387b760d44b2783cef86756eafb7911617","urls":["bzz-raw://b9720240bade0c56c477f6df7993f6a8f9c6946e1e62d8d9198c2cf2aa2c2a24","dweb:/ipfs/QmXCZmcb4GiUytzy3uPgXwmPYf8VcVy3YmcmgVMwKnncdt"],"license":"Apache-2.0"},"test/SignalsImplicitMode.t.sol":{"keccak256":"0x1bb5e630261a19eb67d54a4103c5593dcae8693a1c000c8f020e258364d01516","urls":["bzz-raw://4b837d259b7d0780268445045de43312753db8f6de8a707e14334c0ef9de8208","dweb:/ipfs/QmNzPzfNNkZu8oayRf1PCW7tNZiu1pjaXKT8RAFnzac6jf"],"license":"Apache-2.0"},"test/TestHelper.sol":{"keccak256":"0xc0edfb1ce57edb0f263183839aa67fd588f2d9f3987e13029149be7dcc32ea57","urls":["bzz-raw://d91003ef8784700368f3d4e6410732bea65ce7eeec9b719b9167f30f9ca76ac2","dweb:/ipfs/QmShjBB4NB9YwGQm7sA2MmmbEeKT9yPKzEtSoJX9ZASXce"],"license":"Apache-2.0"},"test/mock/SignalsImplicitModeMock.sol":{"keccak256":"0x45f582ed846ca8f09391ec8f39a13e71371bff3ab6d7829a479ffd30049ba49e","urls":["bzz-raw://9c775ddf09592811ea8f4b4e4303118958fc13104d2f8c3d6d2195220f65d4a4","dweb:/ipfs/QmWD9ytPjuFjFiu5em37HNZawGE7tQVtLov2iXkAos9sFr"],"license":"Apache-2.0"}},"version":1},"id":30} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/SignalsImplicitModeMock.sol/SignalsImplicitModeMock.json b/lib/signals-implicit-mode/out/SignalsImplicitModeMock.sol/SignalsImplicitModeMock.json new file mode 100644 index 0000000000..6992150166 --- /dev/null +++ b/lib/signals-implicit-mode/out/SignalsImplicitModeMock.sol/SignalsImplicitModeMock.json @@ -0,0 +1 @@ +{"abi":[{"type":"constructor","inputs":[{"name":"registry","type":"address","internalType":"address"},{"name":"projectId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"acceptImplicitRequest","inputs":[{"name":"wallet","type":"address","internalType":"address"},{"name":"attestation","type":"tuple","internalType":"struct Attestation","components":[{"name":"approvedSigner","type":"address","internalType":"address"},{"name":"identityType","type":"bytes4","internalType":"bytes4"},{"name":"issuerHash","type":"bytes32","internalType":"bytes32"},{"name":"audienceHash","type":"bytes32","internalType":"bytes32"},{"name":"applicationData","type":"bytes","internalType":"bytes"},{"name":"authData","type":"tuple","internalType":"struct AuthData","components":[{"name":"redirectUrl","type":"string","internalType":"string"},{"name":"issuedAt","type":"uint64","internalType":"uint64"}]}]},{"name":"call","type":"tuple","internalType":"struct Payload.Call","components":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"gasLimit","type":"uint256","internalType":"uint256"},{"name":"delegateCall","type":"bool","internalType":"bool"},{"name":"onlyFallback","type":"bool","internalType":"bool"},{"name":"behaviorOnError","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"bytecode":{"object":"0x6080604052348015600e575f5ffd5b506040516105bc3803806105bc833981016040819052602b916050565b5f80546001600160a01b0319166001600160a01b038416179055600181905550506085565b5f5f604083850312156060575f5ffd5b82516001600160a01b03811681146075575f5ffd5b6020939093015192949293505050565b61052a806100925f395ff3fe608060405234801561000f575f5ffd5b5060043610610034575f3560e01c806301ffc9a7146100385780639d043a6614610060575b5f5ffd5b61004b6100463660046101ef565b610081565b60405190151581526020015b60405180910390f35b61007361006e366004610232565b610119565b604051908152602001610057565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f9d043a6600000000000000000000000000000000000000000000000000000000148061011357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b5f5f546001546040517f3808a90b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90921691633808a90b9161017491889188916004016103aa565b602060405180830381865afa15801561018f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101b391906104dd565b949350505050565b80357fffffffff00000000000000000000000000000000000000000000000000000000811681146101ea575f5ffd5b919050565b5f602082840312156101ff575f5ffd5b610208826101bb565b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101ea575f5ffd5b5f5f5f60608486031215610244575f5ffd5b61024d8461020f565b9250602084013567ffffffffffffffff811115610268575f5ffd5b840160c08187031215610279575f5ffd5b9150604084013567ffffffffffffffff811115610294575f5ffd5b840160e081870312156102a5575f5ffd5b809150509250925092565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126102e3575f5ffd5b830160208101925035905067ffffffffffffffff811115610302575f5ffd5b803603821315610310575f5ffd5b9250929050565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b5f61036982836102b0565b6040855261037b604086018284610317565b915050602083013567ffffffffffffffff8116808214610399575f5ffd5b602095909501949094529392505050565b73ffffffffffffffffffffffffffffffffffffffff841681526060602082015273ffffffffffffffffffffffffffffffffffffffff6103e88461020f565b1660608201527fffffffff0000000000000000000000000000000000000000000000000000000061041b602085016101bb565b16608082810191909152604084013560a0830152606084013560c08301525f90610447908501856102b0565b60c060e085015261045d61012085018284610317565b91505060a08501357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1863603018112610494575f5ffd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0848303016101008501526104cb8287830161035e565b92505050826040830152949350505050565b5f602082840312156104ed575f5ffd5b505191905056fea2646970667358221220a6364954197d77147a5f3f1991dbee1f1186c7a0785bbf6ab288589e6e61ea7464736f6c634300081c0033","sourceMap":"146:175:32:-:0;;;207:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1045:10:25;:50;;-1:-1:-1;;;;;;1045:50:25;-1:-1:-1;;;;;1045:50:25;;;;;-1:-1:-1;1101:22:25;;;207:111:32;;146:175;;14:351:33;93:6;101;154:2;142:9;133:7;129:23;125:32;122:52;;;170:1;167;160:12;122:52;196:16;;-1:-1:-1;;;;;241:31:33;;231:42;;221:70;;287:1;284;277:12;221:70;355:2;340:18;;;;334:25;310:5;;334:25;;-1:-1:-1;;;14:351:33:o;:::-;146:175:32;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f5ffd5b5060043610610034575f3560e01c806301ffc9a7146100385780639d043a6614610060575b5f5ffd5b61004b6100463660046101ef565b610081565b60405190151581526020015b60405180910390f35b61007361006e366004610232565b610119565b604051908152602001610057565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f9d043a6600000000000000000000000000000000000000000000000000000000148061011357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b5f5f546001546040517f3808a90b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90921691633808a90b9161017491889188916004016103aa565b602060405180830381865afa15801561018f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101b391906104dd565b949350505050565b80357fffffffff00000000000000000000000000000000000000000000000000000000811681146101ea575f5ffd5b919050565b5f602082840312156101ff575f5ffd5b610208826101bb565b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101ea575f5ffd5b5f5f5f60608486031215610244575f5ffd5b61024d8461020f565b9250602084013567ffffffffffffffff811115610268575f5ffd5b840160c08187031215610279575f5ffd5b9150604084013567ffffffffffffffff811115610294575f5ffd5b840160e081870312156102a5575f5ffd5b809150509250925092565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126102e3575f5ffd5b830160208101925035905067ffffffffffffffff811115610302575f5ffd5b803603821315610310575f5ffd5b9250929050565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b5f61036982836102b0565b6040855261037b604086018284610317565b915050602083013567ffffffffffffffff8116808214610399575f5ffd5b602095909501949094529392505050565b73ffffffffffffffffffffffffffffffffffffffff841681526060602082015273ffffffffffffffffffffffffffffffffffffffff6103e88461020f565b1660608201527fffffffff0000000000000000000000000000000000000000000000000000000061041b602085016101bb565b16608082810191909152604084013560a0830152606084013560c08301525f90610447908501856102b0565b60c060e085015261045d61012085018284610317565b91505060a08501357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1863603018112610494575f5ffd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0848303016101008501526104cb8287830161035e565b92505050826040830152949350505050565b5f602082840312156104ed575f5ffd5b505191905056fea2646970667358221220a6364954197d77147a5f3f1991dbee1f1186c7a0785bbf6ab288589e6e61ea7464736f6c634300081c0033","sourceMap":"146:175:32:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1899:210:25;;;;;;:::i;:::-;;:::i;:::-;;;592:14:33;;585:22;567:41;;555:2;540:18;1899:210:25;;;;;;;;1171:295;;;;;;:::i;:::-;;:::i;:::-;;;1716:25:33;;;1704:2;1689:18;1171:295:25;1570:177:33;1899:210:25;1992:4;2011:53;;;2026:38;2011:53;;:93;;-1:-1:-1;877:25:19;862:40;;;;2068:36:25;2004:100;1899:210;-1:-1:-1;;1899:210:25:o;1171:295::-;1319:7;1398:10;;;1450;1398:63;;;;;:10;;;;;:30;;:63;;1429:6;;1437:11;;1398:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1391:70;1171:295;-1:-1:-1;;;;1171:295:25:o;14:219:33:-;81:20;;141:66;130:78;;120:89;;110:117;;223:1;220;213:12;110:117;14:219;;;:::o;238:184::-;296:6;349:2;337:9;328:7;324:23;320:32;317:52;;;365:1;362;355:12;317:52;388:28;406:9;388:28;:::i;:::-;378:38;238:184;-1:-1:-1;;;238:184:33:o;619:196::-;687:20;;747:42;736:54;;726:65;;716:93;;805:1;802;795:12;820:745;954:6;962;970;1023:2;1011:9;1002:7;998:23;994:32;991:52;;;1039:1;1036;1029:12;991:52;1062:29;1081:9;1062:29;:::i;:::-;1052:39;;1142:2;1131:9;1127:18;1114:32;1169:18;1161:6;1158:30;1155:50;;;1201:1;1198;1191:12;1155:50;1224:22;;1280:3;1262:16;;;1258:26;1255:46;;;1297:1;1294;1287:12;1255:46;1320:2;-1:-1:-1;1375:2:33;1360:18;;1347:32;1404:18;1391:32;;1388:52;;;1436:1;1433;1426:12;1388:52;1459:24;;1517:3;1499:16;;;1495:26;1492:46;;;1534:1;1531;1524:12;1492:46;1557:2;1547:12;;;820:745;;;;;:::o;1752:559::-;1810:5;1817:6;1877:3;1864:17;1959:66;1948:8;1932:14;1928:29;1924:102;1904:18;1900:127;1890:155;;2041:1;2038;2031:12;1890:155;2069:33;;2173:4;2160:18;;;-1:-1:-1;2121:21:33;;-1:-1:-1;2201:18:33;2190:30;;2187:50;;;2233:1;2230;2223:12;2187:50;2280:6;2264:14;2260:27;2253:5;2249:39;2246:59;;;2301:1;2298;2291:12;2246:59;1752:559;;;;;:::o;2316:325::-;2404:6;2399:3;2392:19;2456:6;2449:5;2442:4;2437:3;2433:14;2420:43;;2508:1;2501:4;2492:6;2487:3;2483:16;2479:27;2472:38;2374:3;2630:4;2560:66;2555:2;2547:6;2543:15;2539:88;2534:3;2530:98;2526:109;2519:116;;2316:325;;;;:::o;2646:490::-;2706:3;2758:44;2796:5;2789;2758:44;:::i;:::-;2823:4;2818:3;2811:17;2849:69;2912:4;2907:3;2903:14;2889:12;2875;2849:69;:::i;:::-;2837:81;;;2966:4;2959:5;2955:16;2942:30;3004:18;2995:7;2991:32;3054:2;3045:7;3042:15;3032:43;;3071:1;3068;3061:12;3032:43;3100:4;3091:14;;;;3084:26;;;;3126:4;2646:490;-1:-1:-1;;;2646:490:33:o;3141:1576::-;3400:42;3392:6;3388:55;3377:9;3370:74;3480:2;3475;3464:9;3460:18;3453:30;3551:42;3523:26;3542:6;3523:26;:::i;:::-;3519:75;3514:2;3503:9;3499:18;3492:103;3672:66;3636:34;3666:2;3658:6;3654:15;3636:34;:::i;:::-;3632:107;3626:3;3611:19;;;3604:136;;;;3806:4;3794:17;;3781:31;3843:3;3828:19;;3821:34;3925:2;3913:15;;3900:29;3960:4;3945:20;;3938:37;3351:4;;4018:56;;4057:16;;3798:6;4018:56;:::i;:::-;4111:4;4105:3;4094:9;4090:19;4083:33;4139:74;4208:3;4197:9;4193:19;4179:12;4165;4139:74;:::i;:::-;4125:88;;;4273:3;4265:6;4261:16;4248:30;4354:66;4345:6;4329:14;4325:27;4321:100;4301:18;4297:125;4287:153;;4436:1;4433;4426:12;4287:153;4505:66;4493:9;4485:6;4481:22;4477:95;4471:3;4460:9;4456:19;4449:124;4590:76;4659:6;4650;4630:18;4626:31;4590:76;:::i;:::-;4582:84;;;;4704:6;4697:4;4686:9;4682:20;4675:36;3141:1576;;;;;;:::o;4722:184::-;4792:6;4845:2;4833:9;4824:7;4820:23;4816:32;4813:52;;;4861:1;4858;4851:12;4813:52;-1:-1:-1;4884:16:33;;4722:184;-1:-1:-1;4722:184:33:o","linkReferences":{}},"methodIdentifiers":{"acceptImplicitRequest(address,(address,bytes4,bytes32,bytes32,bytes,(string,uint64)),(address,uint256,bytes,uint256,bool,bool,uint256))":"9d043a66","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"projectId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"wallet\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"approvedSigner\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"identityType\",\"type\":\"bytes4\"},{\"internalType\":\"bytes32\",\"name\":\"issuerHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"audienceHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"applicationData\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"redirectUrl\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"issuedAt\",\"type\":\"uint64\"}],\"internalType\":\"struct AuthData\",\"name\":\"authData\",\"type\":\"tuple\"}],\"internalType\":\"struct Attestation\",\"name\":\"attestation\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"delegateCall\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"onlyFallback\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"behaviorOnError\",\"type\":\"uint256\"}],\"internalType\":\"struct Payload.Call\",\"name\":\"call\",\"type\":\"tuple\"}],\"name\":\"acceptImplicitRequest\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"acceptImplicitRequest(address,(address,bytes4,bytes32,bytes32,bytes,(string,uint64)),(address,uint256,bytes,uint256,bool,bool,uint256))\":{\"params\":{\"attestation\":\"The attestation data\",\"call\":\"The call to validate\",\"wallet\":\"The wallet's address\"},\"returns\":{\"_0\":\"The hash of the implicit request if valid\"}},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"acceptImplicitRequest(address,(address,bytes4,bytes32,bytes32,bytes,(string,uint64)),(address,uint256,bytes,uint256,bool,bool,uint256))\":{\"notice\":\"Determines if an implicit request is valid\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/mock/SignalsImplicitModeMock.sol\":\"SignalsImplicitModeMock\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/sequence-v3/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287\",\"dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p\"]},\"lib/sequence-v3/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/sequence-v3/src/extensions/sessions/implicit/Attestation.sol\":{\"keccak256\":\"0xcaa44022b5eb4bc7ab487b3b1a0125da67e2e891cee983ef6cdb6814f045efc8\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://94829782b6dcb482d7c002511c590d1ad8de3b21e5e72575df18be73565b3638\",\"dweb:/ipfs/QmZ4u9FxALzMzKR7auW8FmFkhGVw8kRDeDRJ1PKwKaWNWF\"]},\"lib/sequence-v3/src/extensions/sessions/implicit/ISignalsImplicitMode.sol\":{\"keccak256\":\"0x6cb48f50c49bcb3c7071306fe9fac6c102bc9eabf73d9909e19ab3b9a835d0a8\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://15297e969f64fc1152654d1cefbe276c15a0ecfc11f86b4c276bb0b454fe700a\",\"dweb:/ipfs/QmeehNFYBPPtJePwUcqiYCgiuFotur4VVVCV1KvegdCCZ4\"]},\"lib/sequence-v3/src/modules/Payload.sol\":{\"keccak256\":\"0x03b3dc2a4a556d3007671e910813dc4703ecb16f5bc2c6645e4c0d8512f2d76a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://9b41263156d5a310a48038e8c3871e9acdb806c018bc952d1a56efed62954e17\",\"dweb:/ipfs/QmaiuTbQgaiCvtN2V6roe4RTi6hHV85mNZpWKqvKA8ofqw\"]},\"lib/sequence-v3/src/utils/LibBytes.sol\":{\"keccak256\":\"0x4fe0b4786b2157e12384b90ae9daa1009b74b2547a8a24b800a8b998278c874b\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://065129e32d1a318e89fb7587e136c33177a7848393f9055c0ac601b84741cd8c\",\"dweb:/ipfs/QmVWucfHSHRJriRFNoJqoeDcVB4fDfqbccM8KPBmwcxVu3\"]},\"src/helper/SignalsImplicitMode.sol\":{\"keccak256\":\"0xd9107be2460f7f7ec4bdfefc3d10c79aa92b9285e1b12a75cb2a8d17b150a2ec\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://9294d6788fc490030dfc6aef1b8a5b0684a98aaff880c713a284d6b9b02c29f9\",\"dweb:/ipfs/QmcuCpVkx6yDjXhPNgPdeNpxyNbQ4kQnXWoz24VHZEXDFj\"]},\"src/registry/IImplicitProjectValidation.sol\":{\"keccak256\":\"0x1e8c305e011aa13d774e0ff3cfd9286af3d8174c4e33ba5ef8f724ea2dd6e5b2\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://057ad8894656688eefb257c02696f37281d3e7610cd3c3db8f1c3954fba9ea9c\",\"dweb:/ipfs/QmbdeFH1XxLyWqdTEmRkGNiebMVAxuREtuLpZXRErCyYM6\"]},\"test/mock/SignalsImplicitModeMock.sol\":{\"keccak256\":\"0x45f582ed846ca8f09391ec8f39a13e71371bff3ab6d7829a479ffd30049ba49e\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://9c775ddf09592811ea8f4b4e4303118958fc13104d2f8c3d6d2195220f65d4a4\",\"dweb:/ipfs/QmWD9ytPjuFjFiu5em37HNZawGE7tQVtLov2iXkAos9sFr\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"registry","type":"address"},{"internalType":"bytes32","name":"projectId","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"struct Attestation","name":"attestation","type":"tuple","components":[{"internalType":"address","name":"approvedSigner","type":"address"},{"internalType":"bytes4","name":"identityType","type":"bytes4"},{"internalType":"bytes32","name":"issuerHash","type":"bytes32"},{"internalType":"bytes32","name":"audienceHash","type":"bytes32"},{"internalType":"bytes","name":"applicationData","type":"bytes"},{"internalType":"struct AuthData","name":"authData","type":"tuple","components":[{"internalType":"string","name":"redirectUrl","type":"string"},{"internalType":"uint64","name":"issuedAt","type":"uint64"}]}]},{"internalType":"struct Payload.Call","name":"call","type":"tuple","components":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"gasLimit","type":"uint256"},{"internalType":"bool","name":"delegateCall","type":"bool"},{"internalType":"bool","name":"onlyFallback","type":"bool"},{"internalType":"uint256","name":"behaviorOnError","type":"uint256"}]}],"stateMutability":"view","type":"function","name":"acceptImplicitRequest","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"acceptImplicitRequest(address,(address,bytes4,bytes32,bytes32,bytes,(string,uint64)),(address,uint256,bytes,uint256,bool,bool,uint256))":{"params":{"attestation":"The attestation data","call":"The call to validate","wallet":"The wallet's address"},"returns":{"_0":"The hash of the implicit request if valid"}},"supportsInterface(bytes4)":{"details":"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas."}},"version":1},"userdoc":{"kind":"user","methods":{"acceptImplicitRequest(address,(address,bytes4,bytes32,bytes32,bytes,(string,uint64)),(address,uint256,bytes,uint256,bool,bool,uint256))":{"notice":"Determines if an implicit request is valid"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"test/mock/SignalsImplicitModeMock.sol":"SignalsImplicitModeMock"},"evmVersion":"prague","libraries":{}},"sources":{"lib/sequence-v3/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa","urls":["bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287","dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p"],"license":"MIT"},"lib/sequence-v3/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"lib/sequence-v3/src/extensions/sessions/implicit/Attestation.sol":{"keccak256":"0xcaa44022b5eb4bc7ab487b3b1a0125da67e2e891cee983ef6cdb6814f045efc8","urls":["bzz-raw://94829782b6dcb482d7c002511c590d1ad8de3b21e5e72575df18be73565b3638","dweb:/ipfs/QmZ4u9FxALzMzKR7auW8FmFkhGVw8kRDeDRJ1PKwKaWNWF"],"license":"Apache-2.0"},"lib/sequence-v3/src/extensions/sessions/implicit/ISignalsImplicitMode.sol":{"keccak256":"0x6cb48f50c49bcb3c7071306fe9fac6c102bc9eabf73d9909e19ab3b9a835d0a8","urls":["bzz-raw://15297e969f64fc1152654d1cefbe276c15a0ecfc11f86b4c276bb0b454fe700a","dweb:/ipfs/QmeehNFYBPPtJePwUcqiYCgiuFotur4VVVCV1KvegdCCZ4"],"license":"Apache-2.0"},"lib/sequence-v3/src/modules/Payload.sol":{"keccak256":"0x03b3dc2a4a556d3007671e910813dc4703ecb16f5bc2c6645e4c0d8512f2d76a","urls":["bzz-raw://9b41263156d5a310a48038e8c3871e9acdb806c018bc952d1a56efed62954e17","dweb:/ipfs/QmaiuTbQgaiCvtN2V6roe4RTi6hHV85mNZpWKqvKA8ofqw"],"license":"Apache-2.0"},"lib/sequence-v3/src/utils/LibBytes.sol":{"keccak256":"0x4fe0b4786b2157e12384b90ae9daa1009b74b2547a8a24b800a8b998278c874b","urls":["bzz-raw://065129e32d1a318e89fb7587e136c33177a7848393f9055c0ac601b84741cd8c","dweb:/ipfs/QmVWucfHSHRJriRFNoJqoeDcVB4fDfqbccM8KPBmwcxVu3"],"license":"Apache-2.0"},"src/helper/SignalsImplicitMode.sol":{"keccak256":"0xd9107be2460f7f7ec4bdfefc3d10c79aa92b9285e1b12a75cb2a8d17b150a2ec","urls":["bzz-raw://9294d6788fc490030dfc6aef1b8a5b0684a98aaff880c713a284d6b9b02c29f9","dweb:/ipfs/QmcuCpVkx6yDjXhPNgPdeNpxyNbQ4kQnXWoz24VHZEXDFj"],"license":"Apache-2.0"},"src/registry/IImplicitProjectValidation.sol":{"keccak256":"0x1e8c305e011aa13d774e0ff3cfd9286af3d8174c4e33ba5ef8f724ea2dd6e5b2","urls":["bzz-raw://057ad8894656688eefb257c02696f37281d3e7610cd3c3db8f1c3954fba9ea9c","dweb:/ipfs/QmbdeFH1XxLyWqdTEmRkGNiebMVAxuREtuLpZXRErCyYM6"],"license":"Apache-2.0"},"test/mock/SignalsImplicitModeMock.sol":{"keccak256":"0x45f582ed846ca8f09391ec8f39a13e71371bff3ab6d7829a479ffd30049ba49e","urls":["bzz-raw://9c775ddf09592811ea8f4b4e4303118958fc13104d2f8c3d6d2195220f65d4a4","dweb:/ipfs/QmWD9ytPjuFjFiu5em37HNZawGE7tQVtLov2iXkAos9sFr"],"license":"Apache-2.0"}},"version":1},"id":32} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/SingletonDeployer.s.sol/SingletonDeployer.json b/lib/signals-implicit-mode/out/SingletonDeployer.s.sol/SingletonDeployer.json new file mode 100644 index 0000000000..f984ceef12 --- /dev/null +++ b/lib/signals-implicit-mode/out/SingletonDeployer.s.sol/SingletonDeployer.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"IS_SCRIPT()":"f8ccbf47"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/sequence-v3/lib/erc2470-libs/script/SingletonDeployer.s.sol\":\"SingletonDeployer\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0xc942e27c7baae499beb01afbbae99f24d42af9a6e4aae675bc6901b704aa8e9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0456008adf68947247f358b62863af4a8e349549d2260f2ff9569ff0e3cf5c98\",\"dweb:/ipfs/QmdviSUj2i7o3TPN5vd2xocqGMFVqjUzaiJTZRYyPxyHPx\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9\",\"dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/sequence-v3/lib/erc2470-libs/script/SingletonDeployer.s.sol\":{\"keccak256\":\"0x3fdec03d51d77fcda6d6c681e26e7c8d4b85f1457eac91e0ec15411a7ab1e1f6\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://a690bf4481a37f3f77acdeecac089462db83f0437307610981b24c04b5202f6e\",\"dweb:/ipfs/QmUA9TSjAkqefNBW8BiRqg8XDJiJxJPxSsZHQwJJAbrYQg\"]},\"lib/sequence-v3/lib/erc2470-libs/src/ISingletonFactory.sol\":{\"keccak256\":\"0x0a17871e1017f36a664b877f5b0db297dc998fdf8b0ab82d00ca50d5bdde88f7\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://160bc0d890492792f85dfea939160290d90562b27154f64c39c2a615243518a6\",\"dweb:/ipfs/QmbxmqPpTAH7X45G75UjmLh3RSTDj7trMtmkGU6RXmRyEJ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"IS_SCRIPT","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/sequence-v3/lib/erc2470-libs/script/SingletonDeployer.s.sol":"SingletonDeployer"},"evmVersion":"prague","libraries":{}},"sources":{"lib/forge-std/src/Base.sol":{"keccak256":"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf","urls":["bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d","dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs"],"license":"MIT"},"lib/forge-std/src/Script.sol":{"keccak256":"0xc942e27c7baae499beb01afbbae99f24d42af9a6e4aae675bc6901b704aa8e9b","urls":["bzz-raw://0456008adf68947247f358b62863af4a8e349549d2260f2ff9569ff0e3cf5c98","dweb:/ipfs/QmdviSUj2i7o3TPN5vd2xocqGMFVqjUzaiJTZRYyPxyHPx"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa","urls":["bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2","dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746","urls":["bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41","dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK"],"license":"MIT"},"lib/forge-std/src/StdConstants.sol":{"keccak256":"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534","urls":["bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc","dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500","urls":["bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974","dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd","urls":["bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc","dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8","urls":["bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a","dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39","urls":["bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9","dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5","urls":["bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57","dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f","urls":["bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d","dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11","urls":["bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab","dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3"],"license":"MIT"},"lib/sequence-v3/lib/erc2470-libs/script/SingletonDeployer.s.sol":{"keccak256":"0x3fdec03d51d77fcda6d6c681e26e7c8d4b85f1457eac91e0ec15411a7ab1e1f6","urls":["bzz-raw://a690bf4481a37f3f77acdeecac089462db83f0437307610981b24c04b5202f6e","dweb:/ipfs/QmUA9TSjAkqefNBW8BiRqg8XDJiJxJPxSsZHQwJJAbrYQg"],"license":"UNLICENSED"},"lib/sequence-v3/lib/erc2470-libs/src/ISingletonFactory.sol":{"keccak256":"0x0a17871e1017f36a664b877f5b0db297dc998fdf8b0ab82d00ca50d5bdde88f7","urls":["bzz-raw://160bc0d890492792f85dfea939160290d90562b27154f64c39c2a615243518a6","dweb:/ipfs/QmbxmqPpTAH7X45G75UjmLh3RSTDj7trMtmkGU6RXmRyEJ"],"license":"UNLICENSED"}},"version":1},"id":15} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/StdAssertions.sol/StdAssertions.json b/lib/signals-implicit-mode/out/StdAssertions.sol/StdAssertions.json new file mode 100644 index 0000000000..084dfba0d9 --- /dev/null +++ b/lib/signals-implicit-mode/out/StdAssertions.sol/StdAssertions.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"failed()":"ba414fa6"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdAssertions.sol\":\"StdAssertions\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9\",\"dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/StdAssertions.sol":"StdAssertions"},"evmVersion":"prague","libraries":{}},"sources":{"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43","urls":["bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3","dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39","urls":["bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9","dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB"],"license":"MIT OR Apache-2.0"}},"version":1},"id":1} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/StdChains.sol/StdChains.json b/lib/signals-implicit-mode/out/StdChains.sol/StdChains.json new file mode 100644 index 0000000000..9f427bbc19 --- /dev/null +++ b/lib/signals-implicit-mode/out/StdChains.sol/StdChains.json @@ -0,0 +1 @@ +{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"StdChains provides information about EVM compatible chains that can be used in scripts/tests. For each chain, the chain's name, chain ID, and a default RPC URL are provided. Chains are identified by their alias, which is the same as the alias in the `[rpc_endpoints]` section of the `foundry.toml` file. For best UX, ensure the alias in the `foundry.toml` file match the alias used in this contract, which can be found as the first argument to the `setChainWithDefaultRpcUrl` call in the `initializeStdChains` function. There are two main ways to use this contract: 1. Set a chain with `setChain(string memory chainAlias, ChainData memory chain)` or `setChain(string memory chainAlias, Chain memory chain)` 2. Get a chain with `getChain(string memory chainAlias)` or `getChain(uint256 chainId)`. The first time either of those are used, chains are initialized with the default set of RPC URLs. This is done in `initializeStdChains`, which uses `setChainWithDefaultRpcUrl`. Defaults are recorded in `defaultRpcUrls`. The `setChain` function is straightforward, and it simply saves off the given chain data. The `getChain` methods use `getChainWithUpdatedRpcUrl` to return a chain. For example, let's say we want to retrieve the RPC URL for `mainnet`: - If you have specified data with `setChain`, it will return that. - If you have configured a mainnet RPC URL in `foundry.toml`, it will return the URL, provided it is valid (e.g. a URL is specified, or an environment variable is given and exists). - If neither of the above conditions is met, the default data is returned. Summarizing the above, the prioritization hierarchy is `setChain` -> `foundry.toml` -> environment variable -> defaults.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdChains.sol\":\"StdChains\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9\",\"dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/StdChains.sol":"StdChains"},"evmVersion":"prague","libraries":{}},"sources":{"lib/forge-std/src/StdChains.sol":{"keccak256":"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa","urls":["bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2","dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39","urls":["bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9","dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB"],"license":"MIT OR Apache-2.0"}},"version":1},"id":2} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/StdCheats.sol/StdCheats.json b/lib/signals-implicit-mode/out/StdCheats.sol/StdCheats.json new file mode 100644 index 0000000000..462f485b11 --- /dev/null +++ b/lib/signals-implicit-mode/out/StdCheats.sol/StdCheats.json @@ -0,0 +1 @@ +{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdCheats.sol\":\"StdCheats\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9\",\"dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/StdCheats.sol":"StdCheats"},"evmVersion":"prague","libraries":{}},"sources":{"lib/forge-std/src/StdCheats.sol":{"keccak256":"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746","urls":["bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41","dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd","urls":["bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc","dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39","urls":["bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9","dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5","urls":["bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57","dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f","urls":["bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d","dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ"],"license":"MIT"}},"version":1},"id":3} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/StdCheats.sol/StdCheatsSafe.json b/lib/signals-implicit-mode/out/StdCheats.sol/StdCheatsSafe.json new file mode 100644 index 0000000000..ad3fa22796 --- /dev/null +++ b/lib/signals-implicit-mode/out/StdCheats.sol/StdCheatsSafe.json @@ -0,0 +1 @@ +{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdCheats.sol\":\"StdCheatsSafe\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9\",\"dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/StdCheats.sol":"StdCheatsSafe"},"evmVersion":"prague","libraries":{}},"sources":{"lib/forge-std/src/StdCheats.sol":{"keccak256":"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746","urls":["bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41","dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd","urls":["bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc","dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39","urls":["bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9","dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5","urls":["bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57","dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f","urls":["bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d","dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ"],"license":"MIT"}},"version":1},"id":3} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/StdConstants.sol/StdConstants.json b/lib/signals-implicit-mode/out/StdConstants.sol/StdConstants.json new file mode 100644 index 0000000000..f66c15f376 --- /dev/null +++ b/lib/signals-implicit-mode/out/StdConstants.sol/StdConstants.json @@ -0,0 +1 @@ +{"abi":[],"bytecode":{"object":"0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220ced26278c866e9c7427b0205c462963a0c702a33ce8aecc0377d6f3f795ea0b764736f6c634300081c0033","sourceMap":"153:1713:4:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;153:1713:4;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220ced26278c866e9c7427b0205c462963a0c702a33ce8aecc0377d6f3f795ea0b764736f6c634300081c0033","sourceMap":"153:1713:4:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"CONSOLE\":{\"details\":\"console.sol and console2.sol work by executing a staticcall to this address. Calculated as `address(uint160(uint88(bytes11(\\\"console.log\\\"))))`.\"},\"CREATE2_FACTORY\":{\"details\":\"Used when deploying with create2. Taken from https://github.com/Arachnid/deterministic-deployment-proxy.\"},\"DEFAULT_SENDER\":{\"details\":\"The default address for tx.origin and msg.sender. Calculated as `address(uint160(uint256(keccak256(\\\"foundry default caller\\\"))))`.\"},\"DEFAULT_TEST_CONTRACT\":{\"details\":\"The address of the first contract `CREATE`d by a running test contract. When running tests, each test contract is `CREATE`d by `DEFAULT_SENDER` with nonce 1. Calculated as `VM.computeCreateAddress(VM.computeCreateAddress(DEFAULT_SENDER, 1), 1)`.\"},\"MULTICALL3_ADDRESS\":{\"details\":\"Deterministic deployment address of the Multicall3 contract. Taken from https://www.multicall3.com.\"},\"SECP256K1_ORDER\":{\"details\":\"The order of the secp256k1 curve.\"},\"VM\":{\"details\":\"Cheat code address. Calculated as `address(uint160(uint256(keccak256(\\\"hevm cheat code\\\"))))`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdConstants.sol\":\"StdConstants\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9\",\"dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/StdConstants.sol":"StdConstants"},"evmVersion":"prague","libraries":{}},"sources":{"lib/forge-std/src/StdConstants.sol":{"keccak256":"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534","urls":["bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc","dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39","urls":["bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9","dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"}},"version":1},"id":4} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/StdError.sol/stdError.json b/lib/signals-implicit-mode/out/StdError.sol/stdError.json new file mode 100644 index 0000000000..1004b6a033 --- /dev/null +++ b/lib/signals-implicit-mode/out/StdError.sol/stdError.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"arithmeticError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"assertionError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"divisionError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"encodeStorageError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"enumConversionError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"indexOOBError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"memOverflowError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"popError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"zeroVarError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"}],"bytecode":{"object":"0x6102ac610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100aa575f3560e01c8063986c5f681161007d578063b67689da11610063578063b67689da146100f4578063d160e4de146100fc578063fa784a4414610104575f5ffd5b8063986c5f68146100e4578063b22dc54d146100ec575f5ffd5b806305ee8612146100ae57806310332977146100cc5780631de45560146100d45780638995290f146100dc575b5f5ffd5b6100b661010c565b6040516100c39190610223565b60405180910390f35b6100b6610193565b6100b66101a5565b6100b66101b7565b6100b66101c9565b6100b66101db565b6100b66101ed565b6100b66101ff565b6100b6610211565b604051603260248201526044015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f4e487b710000000000000000000000000000000000000000000000000000000017905281565b6040516001602482015260440161011a565b6040516021602482015260440161011a565b6040516011602482015260440161011a565b6040516041602482015260440161011a565b6040516031602482015260440161011a565b6040516051602482015260440161011a565b6040516022602482015260440161011a565b6040516012602482015260440161011a565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168401019150509291505056fea264697066735822122032495d83c5d4fc7f5db5af6b2560477f15bfa30ca5a607389f40ddec3ed2830164736f6c634300081c0033","sourceMap":"162:850:5:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;162:850:5;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600436106100aa575f3560e01c8063986c5f681161007d578063b67689da11610063578063b67689da146100f4578063d160e4de146100fc578063fa784a4414610104575f5ffd5b8063986c5f68146100e4578063b22dc54d146100ec575f5ffd5b806305ee8612146100ae57806310332977146100cc5780631de45560146100d45780638995290f146100dc575b5f5ffd5b6100b661010c565b6040516100c39190610223565b60405180910390f35b6100b6610193565b6100b66101a5565b6100b66101b7565b6100b66101c9565b6100b66101db565b6100b66101ed565b6100b66101ff565b6100b6610211565b604051603260248201526044015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f4e487b710000000000000000000000000000000000000000000000000000000017905281565b6040516001602482015260440161011a565b6040516021602482015260440161011a565b6040516011602482015260440161011a565b6040516041602482015260440161011a565b6040516031602482015260440161011a565b6040516051602482015260440161011a565b6040516022602482015260440161011a565b6040516012602482015260440161011a565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168401019150509291505056fea264697066735822122032495d83c5d4fc7f5db5af6b2560477f15bfa30ca5a607389f40ddec3ed2830164736f6c634300081c0033","sourceMap":"162:850:5:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;740:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;185:86;;;:::i;461:91::-;;;:::i;277:87::-;;;:::i;831:88::-;;;:::i;654:80::-;;;:::i;925:84::-;;;:::i;558:90::-;;;:::i;370:85::-;;;:::i;740:::-;778:47;;820:4;778:47;;;655:36:33;628:18;;778:47:5;;;;;;;;;;;;;;;;;;;;;;;;;740:85;:::o;185:86::-;224:47;;266:4;224:47;;;655:36:33;628:18;;224:47:5;502:195:33;461:91:5;505:47;;547:4;505:47;;;655:36:33;628:18;;505:47:5;502:195:33;277:87:5;317:47;;359:4;317:47;;;655:36:33;628:18;;317:47:5;502:195:33;831:88:5;872:47;;914:4;872:47;;;655:36:33;628:18;;872:47:5;502:195:33;654:80:5;687:47;;729:4;687:47;;;655:36:33;628:18;;687:47:5;502:195:33;925:84:5;962:47;;1004:4;962:47;;;655:36:33;628:18;;962:47:5;502:195:33;558:90:5;601:47;;643:4;601:47;;;655:36:33;628:18;;601:47:5;502:195:33;370:85:5;408:47;;450:4;408:47;;;655:36:33;628:18;;408:47:5;502:195:33;14:483;169:2;158:9;151:21;132:4;201:6;195:13;244:6;239:2;228:9;224:18;217:34;303:6;298:2;290:6;286:15;281:2;270:9;266:18;260:50;359:1;354:2;345:6;334:9;330:22;326:31;319:42;488:2;418:66;413:2;405:6;401:15;397:88;386:9;382:104;378:113;370:121;;;14:483;;;;:::o","linkReferences":{}},"methodIdentifiers":{"arithmeticError()":"8995290f","assertionError()":"10332977","divisionError()":"fa784a44","encodeStorageError()":"d160e4de","enumConversionError()":"1de45560","indexOOBError()":"05ee8612","memOverflowError()":"986c5f68","popError()":"b22dc54d","zeroVarError()":"b67689da"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"arithmeticError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"assertionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"divisionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"encodeStorageError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enumConversionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"indexOOBError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"memOverflowError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"popError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"zeroVarError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdError.sol\":\"stdError\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"arithmeticError","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"assertionError","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"divisionError","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"encodeStorageError","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"enumConversionError","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"indexOOBError","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"memOverflowError","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"popError","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"zeroVarError","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/StdError.sol":"stdError"},"evmVersion":"prague","libraries":{}},"sources":{"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"}},"version":1},"id":5} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/StdInvariant.sol/StdInvariant.json b/lib/signals-implicit-mode/out/StdInvariant.sol/StdInvariant.json new file mode 100644 index 0000000000..b7ce1c9d25 --- /dev/null +++ b/lib/signals-implicit-mode/out/StdInvariant.sol/StdInvariant.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"excludedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"artifact\",\"type\":\"string\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzArtifactSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdInvariant.sol\":\"StdInvariant\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"excludedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzArtifactSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"string","name":"artifact","type":"string"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/StdInvariant.sol":"StdInvariant"},"evmVersion":"prague","libraries":{}},"sources":{"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d","urls":["bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391","dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5"],"license":"MIT"}},"version":1},"id":6} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/StdJson.sol/stdJson.json b/lib/signals-implicit-mode/out/StdJson.sol/stdJson.json new file mode 100644 index 0000000000..69cbd19b3e --- /dev/null +++ b/lib/signals-implicit-mode/out/StdJson.sol/stdJson.json @@ -0,0 +1 @@ +{"abi":[],"bytecode":{"object":"0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea264697066735822122028d7ab95cf2ec50e6bfd9672a620ef3e8830aa60d8236669f6c4044ec6fb588964736f6c634300081c0033","sourceMap":"610:9092:7:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;610:9092:7;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f5ffdfea264697066735822122028d7ab95cf2ec50e6bfd9672a620ef3e8830aa60d8236669f6c4044ec6fb588964736f6c634300081c0033","sourceMap":"610:9092:7:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdJson.sol\":\"stdJson\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9\",\"dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/StdJson.sol":"stdJson"},"evmVersion":"prague","libraries":{}},"sources":{"lib/forge-std/src/StdJson.sol":{"keccak256":"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500","urls":["bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974","dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39","urls":["bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9","dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB"],"license":"MIT OR Apache-2.0"}},"version":1},"id":7} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/StdMath.sol/stdMath.json b/lib/signals-implicit-mode/out/StdMath.sol/stdMath.json new file mode 100644 index 0000000000..9a2122924a --- /dev/null +++ b/lib/signals-implicit-mode/out/StdMath.sol/stdMath.json @@ -0,0 +1 @@ +{"abi":[],"bytecode":{"object":"0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220a606ecc5e0d78d8bad559bc01090599714f7a94480582152e0da80297701448864736f6c634300081c0033","sourceMap":"65:1294:8:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;65:1294:8;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220a606ecc5e0d78d8bad559bc01090599714f7a94480582152e0da80297701448864736f6c634300081c0033","sourceMap":"65:1294:8:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdMath.sol\":\"stdMath\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/StdMath.sol":"stdMath"},"evmVersion":"prague","libraries":{}},"sources":{"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"}},"version":1},"id":8} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/StdStorage.sol/stdStorage.json b/lib/signals-implicit-mode/out/StdStorage.sol/stdStorage.json new file mode 100644 index 0000000000..e824151269 --- /dev/null +++ b/lib/signals-implicit-mode/out/StdStorage.sol/stdStorage.json @@ -0,0 +1 @@ +{"abi":[],"bytecode":{"object":"0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220c217e51dd4c678f66d62f0e29ba6f92ed658e1dc9bbd4a5e2a25af99bcb6de2964736f6c634300081c0033","sourceMap":"12755:5081:9:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;12755:5081:9;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220c217e51dd4c678f66d62f0e29ba6f92ed658e1dc9bbd4a5e2a25af99bcb6de2964736f6c634300081c0033","sourceMap":"12755:5081:9:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdStorage.sol\":\"stdStorage\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9\",\"dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/StdStorage.sol":"stdStorage"},"evmVersion":"prague","libraries":{}},"sources":{"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd","urls":["bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc","dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39","urls":["bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9","dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB"],"license":"MIT OR Apache-2.0"}},"version":1},"id":9} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/StdStorage.sol/stdStorageSafe.json b/lib/signals-implicit-mode/out/StdStorage.sol/stdStorageSafe.json new file mode 100644 index 0000000000..54408c613f --- /dev/null +++ b/lib/signals-implicit-mode/out/StdStorage.sol/stdStorageSafe.json @@ -0,0 +1 @@ +{"abi":[{"type":"event","name":"SlotFound","inputs":[{"name":"who","type":"address","indexed":false,"internalType":"address"},{"name":"fsig","type":"bytes4","indexed":false,"internalType":"bytes4"},{"name":"keysHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"slot","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"WARNING_UninitedSlot","inputs":[{"name":"who","type":"address","indexed":false,"internalType":"address"},{"name":"slot","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220aace91f53d08bab045b49ce479d64c109bb5affc5ad76b58905b9cbe0fd89de064736f6c634300081c0033","sourceMap":"450:12303:9:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;450:12303:9;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220aace91f53d08bab045b49ce479d64c109bb5affc5ad76b58905b9cbe0fd89de064736f6c634300081c0033","sourceMap":"450:12303:9:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"fsig\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"keysHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"SlotFound\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"WARNING_UninitedSlot\",\"type\":\"event\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdStorage.sol\":\"stdStorageSafe\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9\",\"dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"who","type":"address","indexed":false},{"internalType":"bytes4","name":"fsig","type":"bytes4","indexed":false},{"internalType":"bytes32","name":"keysHash","type":"bytes32","indexed":false},{"internalType":"uint256","name":"slot","type":"uint256","indexed":false}],"type":"event","name":"SlotFound","anonymous":false},{"inputs":[{"internalType":"address","name":"who","type":"address","indexed":false},{"internalType":"uint256","name":"slot","type":"uint256","indexed":false}],"type":"event","name":"WARNING_UninitedSlot","anonymous":false}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/StdStorage.sol":"stdStorageSafe"},"evmVersion":"prague","libraries":{}},"sources":{"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd","urls":["bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc","dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39","urls":["bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9","dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB"],"license":"MIT OR Apache-2.0"}},"version":1},"id":9} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/StdStyle.sol/StdStyle.json b/lib/signals-implicit-mode/out/StdStyle.sol/StdStyle.json new file mode 100644 index 0000000000..f5b69ede9a --- /dev/null +++ b/lib/signals-implicit-mode/out/StdStyle.sol/StdStyle.json @@ -0,0 +1 @@ +{"abi":[],"bytecode":{"object":"0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea26469706673582212208ec2111b2369fa7ef9087fce073530e9cc0473eafaa1de488c51bee96e05c5f564736f6c634300081c0033","sourceMap":"100:10361:10:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;100:10361:10;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f5ffdfea26469706673582212208ec2111b2369fa7ef9087fce073530e9cc0473eafaa1de488c51bee96e05c5f564736f6c634300081c0033","sourceMap":"100:10361:10:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdStyle.sol\":\"StdStyle\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9\",\"dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/StdStyle.sol":"StdStyle"},"evmVersion":"prague","libraries":{}},"sources":{"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39","urls":["bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9","dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB"],"license":"MIT OR Apache-2.0"}},"version":1},"id":10} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/StdToml.sol/stdToml.json b/lib/signals-implicit-mode/out/StdToml.sol/stdToml.json new file mode 100644 index 0000000000..5f74101d3d --- /dev/null +++ b/lib/signals-implicit-mode/out/StdToml.sol/stdToml.json @@ -0,0 +1 @@ +{"abi":[],"bytecode":{"object":"0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220f10262c6207224e2a00e1adc62852d201b9739ef6769fc7bc418dda5e636f10964736f6c634300081c0033","sourceMap":"610:9092:11:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;610:9092:11;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220f10262c6207224e2a00e1adc62852d201b9739ef6769fc7bc418dda5e636f10964736f6c634300081c0033","sourceMap":"610:9092:11:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdToml.sol\":\"stdToml\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9\",\"dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/StdToml.sol":"stdToml"},"evmVersion":"prague","libraries":{}},"sources":{"lib/forge-std/src/StdToml.sol":{"keccak256":"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861","urls":["bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3","dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39","urls":["bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9","dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB"],"license":"MIT OR Apache-2.0"}},"version":1},"id":11} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/StdUtils.sol/StdUtils.json b/lib/signals-implicit-mode/out/StdUtils.sol/StdUtils.json new file mode 100644 index 0000000000..b83a66b48c --- /dev/null +++ b/lib/signals-implicit-mode/out/StdUtils.sol/StdUtils.json @@ -0,0 +1 @@ +{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdUtils.sol\":\"StdUtils\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9\",\"dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/StdUtils.sol":"StdUtils"},"evmVersion":"prague","libraries":{}},"sources":{"lib/forge-std/src/StdUtils.sol":{"keccak256":"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8","urls":["bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a","dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39","urls":["bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9","dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"}},"version":1},"id":12} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/Test.sol/Test.json b/lib/signals-implicit-mode/out/Test.sol/Test.json new file mode 100644 index 0000000000..0b6eefc513 --- /dev/null +++ b/lib/signals-implicit-mode/out/Test.sol/Test.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","failed()":"ba414fa6","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"excludedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"artifact\",\"type\":\"string\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzArtifactSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Test.sol\":\"Test\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9\",\"dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"excludedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzArtifactSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"string","name":"artifact","type":"string"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/Test.sol":"Test"},"evmVersion":"prague","libraries":{}},"sources":{"lib/forge-std/src/Base.sol":{"keccak256":"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf","urls":["bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d","dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43","urls":["bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3","dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa","urls":["bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2","dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746","urls":["bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41","dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK"],"license":"MIT"},"lib/forge-std/src/StdConstants.sol":{"keccak256":"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534","urls":["bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc","dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d","urls":["bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391","dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500","urls":["bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974","dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd","urls":["bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc","dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdToml.sol":{"keccak256":"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861","urls":["bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3","dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8","urls":["bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a","dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c","urls":["bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4","dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39","urls":["bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9","dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5","urls":["bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57","dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f","urls":["bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d","dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11","urls":["bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab","dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3"],"license":"MIT"}},"version":1},"id":13} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/TestHelper.sol/TestHelper.json b/lib/signals-implicit-mode/out/TestHelper.sol/TestHelper.json new file mode 100644 index 0000000000..ab0e3519f2 --- /dev/null +++ b/lib/signals-implicit-mode/out/TestHelper.sol/TestHelper.json @@ -0,0 +1 @@ +{"abi":[],"bytecode":{"object":"0x6080604052348015600e575f5ffd5b50603e80601a5f395ff3fe60806040525f5ffdfea2646970667358221220d151c974b054a3fc963ed9f23a1d7e0cd1afd9fec27a0138256b86ee482ab92964736f6c634300081c0033","sourceMap":"65:1634:31:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040525f5ffdfea2646970667358221220d151c974b054a3fc963ed9f23a1d7e0cd1afd9fec27a0138256b86ee482ab92964736f6c634300081c0033","sourceMap":"65:1634:31:-:0;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/TestHelper.sol\":\"TestHelper\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"test/TestHelper.sol\":{\"keccak256\":\"0xc0edfb1ce57edb0f263183839aa67fd588f2d9f3987e13029149be7dcc32ea57\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d91003ef8784700368f3d4e6410732bea65ce7eeec9b719b9167f30f9ca76ac2\",\"dweb:/ipfs/QmShjBB4NB9YwGQm7sA2MmmbEeKT9yPKzEtSoJX9ZASXce\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"test/TestHelper.sol":"TestHelper"},"evmVersion":"prague","libraries":{}},"sources":{"test/TestHelper.sol":{"keccak256":"0xc0edfb1ce57edb0f263183839aa67fd588f2d9f3987e13029149be7dcc32ea57","urls":["bzz-raw://d91003ef8784700368f3d4e6410732bea65ce7eeec9b719b9167f30f9ca76ac2","dweb:/ipfs/QmShjBB4NB9YwGQm7sA2MmmbEeKT9yPKzEtSoJX9ZASXce"],"license":"Apache-2.0"}},"version":1},"id":31} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/Vm.sol/Vm.json b/lib/signals-implicit-mode/out/Vm.sol/Vm.json new file mode 100644 index 0000000000..3a23da575d --- /dev/null +++ b/lib/signals-implicit-mode/out/Vm.sol/Vm.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"accessList","inputs":[{"name":"access","type":"tuple[]","internalType":"struct VmSafe.AccessListItem[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"storageKeys","type":"bytes32[]","internalType":"bytes32[]"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"accesses","inputs":[{"name":"target","type":"address","internalType":"address"}],"outputs":[{"name":"readSlots","type":"bytes32[]","internalType":"bytes32[]"},{"name":"writeSlots","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"activeFork","inputs":[],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"addr","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"keyAddr","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"allowCheatcodes","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"assertApproxEqAbs","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbs","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbs","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbs","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbsDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbsDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbsDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbsDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRel","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRel","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRel","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRel","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRelDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRelDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRelDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRelDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes32[]","internalType":"bytes32[]"},{"name":"right","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"int256[]","internalType":"int256[]"},{"name":"right","type":"int256[]","internalType":"int256[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"address","internalType":"address"},{"name":"right","type":"address","internalType":"address"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"string","internalType":"string"},{"name":"right","type":"string","internalType":"string"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"address[]","internalType":"address[]"},{"name":"right","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"address[]","internalType":"address[]"},{"name":"right","type":"address[]","internalType":"address[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bool","internalType":"bool"},{"name":"right","type":"bool","internalType":"bool"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"address","internalType":"address"},{"name":"right","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"uint256[]","internalType":"uint256[]"},{"name":"right","type":"uint256[]","internalType":"uint256[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bool[]","internalType":"bool[]"},{"name":"right","type":"bool[]","internalType":"bool[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"int256[]","internalType":"int256[]"},{"name":"right","type":"int256[]","internalType":"int256[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes32","internalType":"bytes32"},{"name":"right","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"uint256[]","internalType":"uint256[]"},{"name":"right","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes","internalType":"bytes"},{"name":"right","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes32","internalType":"bytes32"},{"name":"right","type":"bytes32","internalType":"bytes32"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"string[]","internalType":"string[]"},{"name":"right","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes32[]","internalType":"bytes32[]"},{"name":"right","type":"bytes32[]","internalType":"bytes32[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes","internalType":"bytes"},{"name":"right","type":"bytes","internalType":"bytes"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bool[]","internalType":"bool[]"},{"name":"right","type":"bool[]","internalType":"bool[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes[]","internalType":"bytes[]"},{"name":"right","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"string[]","internalType":"string[]"},{"name":"right","type":"string[]","internalType":"string[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"string","internalType":"string"},{"name":"right","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes[]","internalType":"bytes[]"},{"name":"right","type":"bytes[]","internalType":"bytes[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bool","internalType":"bool"},{"name":"right","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEqDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEqDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEqDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEqDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertFalse","inputs":[{"name":"condition","type":"bool","internalType":"bool"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertFalse","inputs":[{"name":"condition","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGe","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGe","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGe","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGe","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGeDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGeDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGeDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGeDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGt","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGt","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGt","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGt","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGtDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGtDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGtDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGtDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLe","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLe","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLe","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLe","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLeDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLeDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLeDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLeDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLt","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLt","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLt","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLt","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLtDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLtDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLtDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLtDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes32[]","internalType":"bytes32[]"},{"name":"right","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"int256[]","internalType":"int256[]"},{"name":"right","type":"int256[]","internalType":"int256[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bool","internalType":"bool"},{"name":"right","type":"bool","internalType":"bool"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes[]","internalType":"bytes[]"},{"name":"right","type":"bytes[]","internalType":"bytes[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bool","internalType":"bool"},{"name":"right","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bool[]","internalType":"bool[]"},{"name":"right","type":"bool[]","internalType":"bool[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes","internalType":"bytes"},{"name":"right","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"address[]","internalType":"address[]"},{"name":"right","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"uint256[]","internalType":"uint256[]"},{"name":"right","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bool[]","internalType":"bool[]"},{"name":"right","type":"bool[]","internalType":"bool[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"string","internalType":"string"},{"name":"right","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"address[]","internalType":"address[]"},{"name":"right","type":"address[]","internalType":"address[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"string","internalType":"string"},{"name":"right","type":"string","internalType":"string"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"address","internalType":"address"},{"name":"right","type":"address","internalType":"address"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes32","internalType":"bytes32"},{"name":"right","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes","internalType":"bytes"},{"name":"right","type":"bytes","internalType":"bytes"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"uint256[]","internalType":"uint256[]"},{"name":"right","type":"uint256[]","internalType":"uint256[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"address","internalType":"address"},{"name":"right","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes32","internalType":"bytes32"},{"name":"right","type":"bytes32","internalType":"bytes32"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"string[]","internalType":"string[]"},{"name":"right","type":"string[]","internalType":"string[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes32[]","internalType":"bytes32[]"},{"name":"right","type":"bytes32[]","internalType":"bytes32[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"string[]","internalType":"string[]"},{"name":"right","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"int256[]","internalType":"int256[]"},{"name":"right","type":"int256[]","internalType":"int256[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes[]","internalType":"bytes[]"},{"name":"right","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEqDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEqDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEqDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEqDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertTrue","inputs":[{"name":"condition","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertTrue","inputs":[{"name":"condition","type":"bool","internalType":"bool"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assume","inputs":[{"name":"condition","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assumeNoRevert","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assumeNoRevert","inputs":[{"name":"potentialReverts","type":"tuple[]","internalType":"struct VmSafe.PotentialRevert[]","components":[{"name":"reverter","type":"address","internalType":"address"},{"name":"partialMatch","type":"bool","internalType":"bool"},{"name":"revertData","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assumeNoRevert","inputs":[{"name":"potentialRevert","type":"tuple","internalType":"struct VmSafe.PotentialRevert","components":[{"name":"reverter","type":"address","internalType":"address"},{"name":"partialMatch","type":"bool","internalType":"bool"},{"name":"revertData","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"attachBlob","inputs":[{"name":"blob","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"attachDelegation","inputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"attachDelegation","inputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]},{"name":"crossChain","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"blobBaseFee","inputs":[{"name":"newBlobBaseFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"blobhashes","inputs":[{"name":"hashes","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"bound","inputs":[{"name":"current","type":"uint256","internalType":"uint256"},{"name":"min","type":"uint256","internalType":"uint256"},{"name":"max","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"bound","inputs":[{"name":"current","type":"int256","internalType":"int256"},{"name":"min","type":"int256","internalType":"int256"},{"name":"max","type":"int256","internalType":"int256"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"breakpoint","inputs":[{"name":"char","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"breakpoint","inputs":[{"name":"char","type":"string","internalType":"string"},{"name":"value","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"broadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcast","inputs":[{"name":"signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcast","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcastRawTransaction","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"chainId","inputs":[{"name":"newChainId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"clearMockedCalls","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"cloneAccount","inputs":[{"name":"source","type":"address","internalType":"address"},{"name":"target","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"closeFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"coinbase","inputs":[{"name":"newCoinbase","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"computeCreate2Address","inputs":[{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"initCodeHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"computeCreate2Address","inputs":[{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"initCodeHash","type":"bytes32","internalType":"bytes32"},{"name":"deployer","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"computeCreateAddress","inputs":[{"name":"deployer","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"contains","inputs":[{"name":"subject","type":"string","internalType":"string"},{"name":"search","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"cool","inputs":[{"name":"target","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"coolSlot","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"copyFile","inputs":[{"name":"from","type":"string","internalType":"string"},{"name":"to","type":"string","internalType":"string"}],"outputs":[{"name":"copied","type":"uint64","internalType":"uint64"}],"stateMutability":"nonpayable"},{"type":"function","name":"copyStorage","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"recursive","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createSelectFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createSelectFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createSelectFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createWallet","inputs":[{"name":"walletLabel","type":"string","internalType":"string"}],"outputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"createWallet","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"createWallet","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"walletLabel","type":"string","internalType":"string"}],"outputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"deal","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newBalance","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deleteSnapshot","inputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"deleteSnapshots","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deleteStateSnapshot","inputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"deleteStateSnapshots","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"constructorArgs","type":"bytes","internalType":"bytes"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"constructorArgs","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"constructorArgs","type":"bytes","internalType":"bytes"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"constructorArgs","type":"bytes","internalType":"bytes"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"},{"name":"language","type":"string","internalType":"string"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"},{"name":"language","type":"string","internalType":"string"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"difficulty","inputs":[{"name":"newDifficulty","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"dumpState","inputs":[{"name":"pathToStateJson","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"eip712HashStruct","inputs":[{"name":"bindingsPath","type":"string","internalType":"string"},{"name":"typeName","type":"string","internalType":"string"},{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"typeHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"eip712HashStruct","inputs":[{"name":"typeNameOrDefinition","type":"string","internalType":"string"},{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"typeHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"eip712HashType","inputs":[{"name":"bindingsPath","type":"string","internalType":"string"},{"name":"typeName","type":"string","internalType":"string"}],"outputs":[{"name":"typeHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"eip712HashType","inputs":[{"name":"typeNameOrDefinition","type":"string","internalType":"string"}],"outputs":[{"name":"typeHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"eip712HashTypedData","inputs":[{"name":"jsonData","type":"string","internalType":"string"}],"outputs":[{"name":"digest","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"ensNamehash","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"envAddress","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"envAddress","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"envBool","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"envBool","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bool[]","internalType":"bool[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"envBytes","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes32","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes32","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"envExists","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"envInt","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"int256[]","internalType":"int256[]"}],"stateMutability":"view"},{"type":"function","name":"envInt","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"value","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"int256[]","internalType":"int256[]"}],"outputs":[{"name":"value","type":"int256[]","internalType":"int256[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bool","internalType":"bool"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"value","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"value","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"value","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"int256","internalType":"int256"}],"outputs":[{"name":"value","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"value","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bool[]","internalType":"bool[]"}],"outputs":[{"name":"value","type":"bool[]","internalType":"bool[]"}],"stateMutability":"view"},{"type":"function","name":"envString","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"envString","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"envUint","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"envUint","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"etch","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"newRuntimeBytecode","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"eth_getLogs","inputs":[{"name":"fromBlock","type":"uint256","internalType":"uint256"},{"name":"toBlock","type":"uint256","internalType":"uint256"},{"name":"target","type":"address","internalType":"address"},{"name":"topics","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"logs","type":"tuple[]","internalType":"struct VmSafe.EthGetLogs[]","components":[{"name":"emitter","type":"address","internalType":"address"},{"name":"topics","type":"bytes32[]","internalType":"bytes32[]"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"transactionHash","type":"bytes32","internalType":"bytes32"},{"name":"transactionIndex","type":"uint64","internalType":"uint64"},{"name":"logIndex","type":"uint256","internalType":"uint256"},{"name":"removed","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"exists","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"gas","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"gas","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCallMinGas","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"minGas","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCallMinGas","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"minGas","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCreate","inputs":[{"name":"bytecode","type":"bytes","internalType":"bytes"},{"name":"deployer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCreate2","inputs":[{"name":"bytecode","type":"bytes","internalType":"bytes"},{"name":"deployer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"checkTopic1","type":"bool","internalType":"bool"},{"name":"checkTopic2","type":"bool","internalType":"bool"},{"name":"checkTopic3","type":"bool","internalType":"bool"},{"name":"checkData","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"checkTopic1","type":"bool","internalType":"bool"},{"name":"checkTopic2","type":"bool","internalType":"bool"},{"name":"checkTopic3","type":"bool","internalType":"bool"},{"name":"checkData","type":"bool","internalType":"bool"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"checkTopic1","type":"bool","internalType":"bool"},{"name":"checkTopic2","type":"bool","internalType":"bool"},{"name":"checkTopic3","type":"bool","internalType":"bool"},{"name":"checkData","type":"bool","internalType":"bool"},{"name":"emitter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"emitter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"emitter","type":"address","internalType":"address"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"checkTopic1","type":"bool","internalType":"bool"},{"name":"checkTopic2","type":"bool","internalType":"bool"},{"name":"checkTopic3","type":"bool","internalType":"bool"},{"name":"checkData","type":"bool","internalType":"bool"},{"name":"emitter","type":"address","internalType":"address"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmitAnonymous","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmitAnonymous","inputs":[{"name":"emitter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmitAnonymous","inputs":[{"name":"checkTopic0","type":"bool","internalType":"bool"},{"name":"checkTopic1","type":"bool","internalType":"bool"},{"name":"checkTopic2","type":"bool","internalType":"bool"},{"name":"checkTopic3","type":"bool","internalType":"bool"},{"name":"checkData","type":"bool","internalType":"bool"},{"name":"emitter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmitAnonymous","inputs":[{"name":"checkTopic0","type":"bool","internalType":"bool"},{"name":"checkTopic1","type":"bool","internalType":"bool"},{"name":"checkTopic2","type":"bool","internalType":"bool"},{"name":"checkTopic3","type":"bool","internalType":"bool"},{"name":"checkData","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectPartialRevert","inputs":[{"name":"revertData","type":"bytes4","internalType":"bytes4"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectPartialRevert","inputs":[{"name":"revertData","type":"bytes4","internalType":"bytes4"},{"name":"reverter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"reverter","type":"address","internalType":"address"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes4","internalType":"bytes4"},{"name":"reverter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes","internalType":"bytes"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes","internalType":"bytes"},{"name":"reverter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes4","internalType":"bytes4"},{"name":"reverter","type":"address","internalType":"address"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes4","internalType":"bytes4"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes","internalType":"bytes"},{"name":"reverter","type":"address","internalType":"address"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"reverter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes4","internalType":"bytes4"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectSafeMemory","inputs":[{"name":"min","type":"uint64","internalType":"uint64"},{"name":"max","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectSafeMemoryCall","inputs":[{"name":"min","type":"uint64","internalType":"uint64"},{"name":"max","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fee","inputs":[{"name":"newBasefee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"ffi","inputs":[{"name":"commandInput","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"result","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"foundryVersionAtLeast","inputs":[{"name":"version","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"foundryVersionCmp","inputs":[{"name":"version","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"fsMetadata","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"metadata","type":"tuple","internalType":"struct VmSafe.FsMetadata","components":[{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"},{"name":"length","type":"uint256","internalType":"uint256"},{"name":"readOnly","type":"bool","internalType":"bool"},{"name":"modified","type":"uint256","internalType":"uint256"},{"name":"accessed","type":"uint256","internalType":"uint256"},{"name":"created","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getArtifactPathByCode","inputs":[{"name":"code","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"path","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getArtifactPathByDeployedCode","inputs":[{"name":"deployedCode","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"path","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getBlobBaseFee","inputs":[],"outputs":[{"name":"blobBaseFee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBlobhashes","inputs":[],"outputs":[{"name":"hashes","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"getBlockNumber","inputs":[],"outputs":[{"name":"height","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBlockTimestamp","inputs":[],"outputs":[{"name":"timestamp","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBroadcast","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"}],"outputs":[{"name":"","type":"tuple","internalType":"struct VmSafe.BroadcastTxSummary","components":[{"name":"txHash","type":"bytes32","internalType":"bytes32"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"},{"name":"contractAddress","type":"address","internalType":"address"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"success","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getBroadcasts","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct VmSafe.BroadcastTxSummary[]","components":[{"name":"txHash","type":"bytes32","internalType":"bytes32"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"},{"name":"contractAddress","type":"address","internalType":"address"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"success","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getBroadcasts","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct VmSafe.BroadcastTxSummary[]","components":[{"name":"txHash","type":"bytes32","internalType":"bytes32"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"},{"name":"contractAddress","type":"address","internalType":"address"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"success","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getChain","inputs":[{"name":"chainAlias","type":"string","internalType":"string"}],"outputs":[{"name":"chain","type":"tuple","internalType":"struct VmSafe.Chain","components":[{"name":"name","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"chainAlias","type":"string","internalType":"string"},{"name":"rpcUrl","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"getChain","inputs":[{"name":"chainId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"chain","type":"tuple","internalType":"struct VmSafe.Chain","components":[{"name":"name","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"chainAlias","type":"string","internalType":"string"},{"name":"rpcUrl","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"getChainId","inputs":[],"outputs":[{"name":"blockChainId","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"creationBytecode","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDeployedCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"runtimeBytecode","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDeployment","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getDeployment","inputs":[{"name":"contractName","type":"string","internalType":"string"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getDeployments","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"deployedAddresses","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getFoundryVersion","inputs":[],"outputs":[{"name":"version","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getLabel","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"currentLabel","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getMappingKeyAndParentOf","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"elementSlot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"found","type":"bool","internalType":"bool"},{"name":"key","type":"bytes32","internalType":"bytes32"},{"name":"parent","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getMappingLength","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"mappingSlot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"length","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMappingSlotAt","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"mappingSlot","type":"bytes32","internalType":"bytes32"},{"name":"idx","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getNonce","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"nonce","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"getNonce","inputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"nonce","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"getRawBlockHeader","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"rlpHeader","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecordedLogs","inputs":[],"outputs":[{"name":"logs","type":"tuple[]","internalType":"struct VmSafe.Log[]","components":[{"name":"topics","type":"bytes32[]","internalType":"bytes32[]"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"emitter","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getStateDiff","inputs":[],"outputs":[{"name":"diff","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getStateDiffJson","inputs":[],"outputs":[{"name":"diff","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getStorageAccesses","inputs":[],"outputs":[{"name":"storageAccesses","type":"tuple[]","internalType":"struct VmSafe.StorageAccess[]","components":[{"name":"account","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"},{"name":"isWrite","type":"bool","internalType":"bool"},{"name":"previousValue","type":"bytes32","internalType":"bytes32"},{"name":"newValue","type":"bytes32","internalType":"bytes32"},{"name":"reverted","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getWallets","inputs":[],"outputs":[{"name":"wallets","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"indexOf","inputs":[{"name":"input","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"interceptInitcode","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isContext","inputs":[{"name":"context","type":"uint8","internalType":"enum VmSafe.ForgeContext"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDir","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPersistent","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"persistent","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"keyExists","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"keyExistsJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"keyExistsToml","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"label","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newLabel","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"lastCallGas","inputs":[],"outputs":[{"name":"gas","type":"tuple","internalType":"struct VmSafe.Gas","components":[{"name":"gasLimit","type":"uint64","internalType":"uint64"},{"name":"gasTotalUsed","type":"uint64","internalType":"uint64"},{"name":"gasMemoryUsed","type":"uint64","internalType":"uint64"},{"name":"gasRefunded","type":"int64","internalType":"int64"},{"name":"gasRemaining","type":"uint64","internalType":"uint64"}]}],"stateMutability":"view"},{"type":"function","name":"load","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"data","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"loadAllocs","inputs":[{"name":"pathToAllocsJson","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"makePersistent","inputs":[{"name":"accounts","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"makePersistent","inputs":[{"name":"account0","type":"address","internalType":"address"},{"name":"account1","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"makePersistent","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"makePersistent","inputs":[{"name":"account0","type":"address","internalType":"address"},{"name":"account1","type":"address","internalType":"address"},{"name":"account2","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes4","internalType":"bytes4"},{"name":"returnData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"returnData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"returnData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes4","internalType":"bytes4"},{"name":"returnData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCallRevert","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes4","internalType":"bytes4"},{"name":"revertData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCallRevert","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes4","internalType":"bytes4"},{"name":"revertData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCallRevert","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"revertData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCallRevert","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"revertData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCalls","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"returnData","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCalls","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"returnData","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockFunction","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"target","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"noAccessList","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"parseAddress","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"parseBool","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"parseBytes","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseBytes32","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"parseInt","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"int256","internalType":"int256"}],"stateMutability":"pure"},{"type":"function","name":"parseJson","inputs":[{"name":"json","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonAddress","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonAddressArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBool","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBoolArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool[]","internalType":"bool[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBytes","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBytes32","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBytes32Array","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBytesArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonInt","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonIntArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256[]","internalType":"int256[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonKeys","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"keys","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonString","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonStringArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonType","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonType","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonTypeArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonUint","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonUintArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"pure"},{"type":"function","name":"parseToml","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseToml","inputs":[{"name":"toml","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlAddress","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlAddressArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBool","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBoolArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool[]","internalType":"bool[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBytes","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBytes32","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBytes32Array","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBytesArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlInt","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlIntArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256[]","internalType":"int256[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlKeys","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"keys","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlString","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlStringArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlType","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlType","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlTypeArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlUint","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlUintArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"pure"},{"type":"function","name":"parseUint","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"pauseGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pauseTracing","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"prank","inputs":[{"name":"msgSender","type":"address","internalType":"address"},{"name":"txOrigin","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"prank","inputs":[{"name":"msgSender","type":"address","internalType":"address"},{"name":"txOrigin","type":"address","internalType":"address"},{"name":"delegateCall","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"prank","inputs":[{"name":"msgSender","type":"address","internalType":"address"},{"name":"delegateCall","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"prank","inputs":[{"name":"msgSender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"prevrandao","inputs":[{"name":"newPrevrandao","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"prevrandao","inputs":[{"name":"newPrevrandao","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"projectRoot","inputs":[],"outputs":[{"name":"path","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"prompt","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"input","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"promptAddress","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"promptSecret","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"input","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"promptSecretUint","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"promptUint","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"publicKeyP256","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"randomBool","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"randomBytes","inputs":[{"name":"len","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"randomBytes4","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"randomBytes8","inputs":[],"outputs":[{"name":"","type":"bytes8","internalType":"bytes8"}],"stateMutability":"view"},{"type":"function","name":"randomInt","inputs":[],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"randomInt","inputs":[{"name":"bits","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"randomUint","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"randomUint","inputs":[{"name":"bits","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"randomUint","inputs":[{"name":"min","type":"uint256","internalType":"uint256"},{"name":"max","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"readCallers","inputs":[],"outputs":[{"name":"callerMode","type":"uint8","internalType":"enum VmSafe.CallerMode"},{"name":"msgSender","type":"address","internalType":"address"},{"name":"txOrigin","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"readDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"maxDepth","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"entries","type":"tuple[]","internalType":"struct VmSafe.DirEntry[]","components":[{"name":"errorMessage","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"readDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"maxDepth","type":"uint64","internalType":"uint64"},{"name":"followLinks","type":"bool","internalType":"bool"}],"outputs":[{"name":"entries","type":"tuple[]","internalType":"struct VmSafe.DirEntry[]","components":[{"name":"errorMessage","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"readDir","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"entries","type":"tuple[]","internalType":"struct VmSafe.DirEntry[]","components":[{"name":"errorMessage","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"readFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"readFileBinary","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"readLine","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"line","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"readLink","inputs":[{"name":"linkPath","type":"string","internalType":"string"}],"outputs":[{"name":"targetPath","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"record","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"recordLogs","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rememberKey","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"keyAddr","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"rememberKeys","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"count","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"keyAddrs","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"rememberKeys","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"language","type":"string","internalType":"string"},{"name":"count","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"keyAddrs","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"removeDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"recursive","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"replace","inputs":[{"name":"input","type":"string","internalType":"string"},{"name":"from","type":"string","internalType":"string"},{"name":"to","type":"string","internalType":"string"}],"outputs":[{"name":"output","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"resetGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"resetNonce","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"resolveEnv","inputs":[{"name":"input","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"resumeGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"resumeTracing","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"revertTo","inputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"revertToAndDelete","inputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"revertToState","inputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"revertToStateAndDelete","inputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"revokePersistent","inputs":[{"name":"accounts","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokePersistent","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"roll","inputs":[{"name":"newHeight","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rollFork","inputs":[{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rollFork","inputs":[{"name":"forkId","type":"uint256","internalType":"uint256"},{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rollFork","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rollFork","inputs":[{"name":"forkId","type":"uint256","internalType":"uint256"},{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rpc","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"method","type":"string","internalType":"string"},{"name":"params","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"rpc","inputs":[{"name":"method","type":"string","internalType":"string"},{"name":"params","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"rpcUrl","inputs":[{"name":"rpcAlias","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"rpcUrlStructs","inputs":[],"outputs":[{"name":"urls","type":"tuple[]","internalType":"struct VmSafe.Rpc[]","components":[{"name":"key","type":"string","internalType":"string"},{"name":"url","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"rpcUrls","inputs":[],"outputs":[{"name":"urls","type":"string[2][]","internalType":"string[2][]"}],"stateMutability":"view"},{"type":"function","name":"selectFork","inputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"serializeAddress","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeAddress","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"address","internalType":"address"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBool","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bool[]","internalType":"bool[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBool","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bool","internalType":"bool"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes32","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes32","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeInt","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"int256","internalType":"int256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeInt","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"int256[]","internalType":"int256[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeJson","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeJsonType","inputs":[{"name":"typeDescription","type":"string","internalType":"string"},{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"serializeJsonType","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"},{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeString","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeString","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUint","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUint","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUintToHex","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"setArbitraryStorage","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"overwrite","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setArbitraryStorage","inputs":[{"name":"target","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setBlockhash","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setEnv","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setNonce","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newNonce","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setNonceUnsafe","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newNonce","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSeed","inputs":[{"name":"seed","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"shuffle","inputs":[{"name":"array","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"sign","inputs":[{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"sign","inputs":[{"name":"signer","type":"address","internalType":"address"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"sign","inputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"sign","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signAndAttachDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signAndAttachDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signAndAttachDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"crossChain","type":"bool","internalType":"bool"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signCompact","inputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"vs","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"signCompact","inputs":[{"name":"signer","type":"address","internalType":"address"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"vs","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signCompact","inputs":[{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"vs","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signCompact","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"vs","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"crossChain","type":"bool","internalType":"bool"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signP256","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"skip","inputs":[{"name":"skipTest","type":"bool","internalType":"bool"},{"name":"reason","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"skip","inputs":[{"name":"skipTest","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"sleep","inputs":[{"name":"duration","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"snapshot","inputs":[],"outputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"snapshotGasLastCall","inputs":[{"name":"group","type":"string","internalType":"string"},{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"gasUsed","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"snapshotGasLastCall","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"gasUsed","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"snapshotState","inputs":[],"outputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"snapshotValue","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"snapshotValue","inputs":[{"name":"group","type":"string","internalType":"string"},{"name":"name","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"sort","inputs":[{"name":"array","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"split","inputs":[{"name":"input","type":"string","internalType":"string"},{"name":"delimiter","type":"string","internalType":"string"}],"outputs":[{"name":"outputs","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"startBroadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startBroadcast","inputs":[{"name":"signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startBroadcast","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startDebugTraceRecording","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startMappingRecording","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startPrank","inputs":[{"name":"msgSender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startPrank","inputs":[{"name":"msgSender","type":"address","internalType":"address"},{"name":"delegateCall","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startPrank","inputs":[{"name":"msgSender","type":"address","internalType":"address"},{"name":"txOrigin","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startPrank","inputs":[{"name":"msgSender","type":"address","internalType":"address"},{"name":"txOrigin","type":"address","internalType":"address"},{"name":"delegateCall","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startSnapshotGas","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startSnapshotGas","inputs":[{"name":"group","type":"string","internalType":"string"},{"name":"name","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startStateDiffRecording","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopAndReturnDebugTraceRecording","inputs":[],"outputs":[{"name":"step","type":"tuple[]","internalType":"struct VmSafe.DebugStep[]","components":[{"name":"stack","type":"uint256[]","internalType":"uint256[]"},{"name":"memoryInput","type":"bytes","internalType":"bytes"},{"name":"opcode","type":"uint8","internalType":"uint8"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isOutOfGas","type":"bool","internalType":"bool"},{"name":"contractAddr","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"stopAndReturnStateDiff","inputs":[],"outputs":[{"name":"accountAccesses","type":"tuple[]","internalType":"struct VmSafe.AccountAccess[]","components":[{"name":"chainInfo","type":"tuple","internalType":"struct VmSafe.ChainInfo","components":[{"name":"forkId","type":"uint256","internalType":"uint256"},{"name":"chainId","type":"uint256","internalType":"uint256"}]},{"name":"kind","type":"uint8","internalType":"enum VmSafe.AccountAccessKind"},{"name":"account","type":"address","internalType":"address"},{"name":"accessor","type":"address","internalType":"address"},{"name":"initialized","type":"bool","internalType":"bool"},{"name":"oldBalance","type":"uint256","internalType":"uint256"},{"name":"newBalance","type":"uint256","internalType":"uint256"},{"name":"deployedCode","type":"bytes","internalType":"bytes"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"reverted","type":"bool","internalType":"bool"},{"name":"storageAccesses","type":"tuple[]","internalType":"struct VmSafe.StorageAccess[]","components":[{"name":"account","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"},{"name":"isWrite","type":"bool","internalType":"bool"},{"name":"previousValue","type":"bytes32","internalType":"bytes32"},{"name":"newValue","type":"bytes32","internalType":"bytes32"},{"name":"reverted","type":"bool","internalType":"bool"}]},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"oldNonce","type":"uint64","internalType":"uint64"},{"name":"newNonce","type":"uint64","internalType":"uint64"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"stopBroadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopExpectSafeMemory","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopMappingRecording","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopPrank","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopRecord","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopSnapshotGas","inputs":[{"name":"group","type":"string","internalType":"string"},{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"gasUsed","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"stopSnapshotGas","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"gasUsed","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"stopSnapshotGas","inputs":[],"outputs":[{"name":"gasUsed","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"store","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"},{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"toBase64","inputs":[{"name":"data","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toBase64","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toBase64URL","inputs":[{"name":"data","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toBase64URL","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toLowercase","inputs":[{"name":"input","type":"string","internalType":"string"}],"outputs":[{"name":"output","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"address","internalType":"address"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bool","internalType":"bool"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"int256","internalType":"int256"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toUppercase","inputs":[{"name":"input","type":"string","internalType":"string"}],"outputs":[{"name":"output","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"transact","inputs":[{"name":"forkId","type":"uint256","internalType":"uint256"},{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transact","inputs":[{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"trim","inputs":[{"name":"input","type":"string","internalType":"string"}],"outputs":[{"name":"output","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"tryFfi","inputs":[{"name":"commandInput","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"result","type":"tuple","internalType":"struct VmSafe.FfiResult","components":[{"name":"exitCode","type":"int32","internalType":"int32"},{"name":"stdout","type":"bytes","internalType":"bytes"},{"name":"stderr","type":"bytes","internalType":"bytes"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"txGasPrice","inputs":[{"name":"newGasPrice","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unixTime","inputs":[],"outputs":[{"name":"milliseconds","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"warmSlot","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"warp","inputs":[{"name":"newTimestamp","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeFile","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeFileBinary","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeLine","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeToml","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeToml","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"accessList((address,bytes32[])[])":"743e4cb7","accesses(address)":"65bc9481","activeFork()":"2f103f22","addr(uint256)":"ffa18649","allowCheatcodes(address)":"ea060291","assertApproxEqAbs(int256,int256,uint256)":"240f839d","assertApproxEqAbs(int256,int256,uint256,string)":"8289e621","assertApproxEqAbs(uint256,uint256,uint256)":"16d207c6","assertApproxEqAbs(uint256,uint256,uint256,string)":"f710b062","assertApproxEqAbsDecimal(int256,int256,uint256,uint256)":"3d5bc8bc","assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)":"6a5066d4","assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)":"045c55ce","assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)":"60429eb2","assertApproxEqRel(int256,int256,uint256)":"fea2d14f","assertApproxEqRel(int256,int256,uint256,string)":"ef277d72","assertApproxEqRel(uint256,uint256,uint256)":"8cf25ef4","assertApproxEqRel(uint256,uint256,uint256,string)":"1ecb7d33","assertApproxEqRelDecimal(int256,int256,uint256,uint256)":"abbf21cc","assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)":"fccc11c4","assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)":"21ed2977","assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)":"82d6c8fd","assertEq(address,address)":"515361f6","assertEq(address,address,string)":"2f2769d1","assertEq(address[],address[])":"3868ac34","assertEq(address[],address[],string)":"3e9173c5","assertEq(bool,bool)":"f7fe3477","assertEq(bool,bool,string)":"4db19e7e","assertEq(bool[],bool[])":"707df785","assertEq(bool[],bool[],string)":"e48a8f8d","assertEq(bytes,bytes)":"97624631","assertEq(bytes,bytes,string)":"e24fed00","assertEq(bytes32,bytes32)":"7c84c69b","assertEq(bytes32,bytes32,string)":"c1fa1ed0","assertEq(bytes32[],bytes32[])":"0cc9ee84","assertEq(bytes32[],bytes32[],string)":"e03e9177","assertEq(bytes[],bytes[])":"e5fb9b4a","assertEq(bytes[],bytes[],string)":"f413f0b6","assertEq(int256,int256)":"fe74f05b","assertEq(int256,int256,string)":"714a2f13","assertEq(int256[],int256[])":"711043ac","assertEq(int256[],int256[],string)":"191f1b30","assertEq(string,string)":"f320d963","assertEq(string,string,string)":"36f656d8","assertEq(string[],string[])":"cf1c049c","assertEq(string[],string[],string)":"eff6b27d","assertEq(uint256,uint256)":"98296c54","assertEq(uint256,uint256,string)":"88b44c85","assertEq(uint256[],uint256[])":"975d5a12","assertEq(uint256[],uint256[],string)":"5d18c73a","assertEqDecimal(int256,int256,uint256)":"48016c04","assertEqDecimal(int256,int256,uint256,string)":"7e77b0c5","assertEqDecimal(uint256,uint256,uint256)":"27af7d9c","assertEqDecimal(uint256,uint256,uint256,string)":"d0cbbdef","assertFalse(bool)":"a5982885","assertFalse(bool,string)":"7ba04809","assertGe(int256,int256)":"0a30b771","assertGe(int256,int256,string)":"a84328dd","assertGe(uint256,uint256)":"a8d4d1d9","assertGe(uint256,uint256,string)":"e25242c0","assertGeDecimal(int256,int256,uint256)":"dc28c0f1","assertGeDecimal(int256,int256,uint256,string)":"5df93c9b","assertGeDecimal(uint256,uint256,uint256)":"3d1fe08a","assertGeDecimal(uint256,uint256,uint256,string)":"8bff9133","assertGt(int256,int256)":"5a362d45","assertGt(int256,int256,string)":"f8d33b9b","assertGt(uint256,uint256)":"db07fcd2","assertGt(uint256,uint256,string)":"d9a3c4d2","assertGtDecimal(int256,int256,uint256)":"78611f0e","assertGtDecimal(int256,int256,uint256,string)":"04a5c7ab","assertGtDecimal(uint256,uint256,uint256)":"eccd2437","assertGtDecimal(uint256,uint256,uint256,string)":"64949a8d","assertLe(int256,int256)":"95fd154e","assertLe(int256,int256,string)":"4dfe692c","assertLe(uint256,uint256)":"8466f415","assertLe(uint256,uint256,string)":"d17d4b0d","assertLeDecimal(int256,int256,uint256)":"11d1364a","assertLeDecimal(int256,int256,uint256,string)":"aa5cf788","assertLeDecimal(uint256,uint256,uint256)":"c304aab7","assertLeDecimal(uint256,uint256,uint256,string)":"7fefbbe0","assertLt(int256,int256)":"3e914080","assertLt(int256,int256,string)":"9ff531e3","assertLt(uint256,uint256)":"b12fc005","assertLt(uint256,uint256,string)":"65d5c135","assertLtDecimal(int256,int256,uint256)":"dbe8d88b","assertLtDecimal(int256,int256,uint256,string)":"40f0b4e0","assertLtDecimal(uint256,uint256,uint256)":"2077337e","assertLtDecimal(uint256,uint256,uint256,string)":"a972d037","assertNotEq(address,address)":"b12e1694","assertNotEq(address,address,string)":"8775a591","assertNotEq(address[],address[])":"46d0b252","assertNotEq(address[],address[],string)":"72c7e0b5","assertNotEq(bool,bool)":"236e4d66","assertNotEq(bool,bool,string)":"1091a261","assertNotEq(bool[],bool[])":"286fafea","assertNotEq(bool[],bool[],string)":"62c6f9fb","assertNotEq(bytes,bytes)":"3cf78e28","assertNotEq(bytes,bytes,string)":"9507540e","assertNotEq(bytes32,bytes32)":"898e83fc","assertNotEq(bytes32,bytes32,string)":"b2332f51","assertNotEq(bytes32[],bytes32[])":"0603ea68","assertNotEq(bytes32[],bytes32[],string)":"b873634c","assertNotEq(bytes[],bytes[])":"edecd035","assertNotEq(bytes[],bytes[],string)":"1dcd1f68","assertNotEq(int256,int256)":"f4c004e3","assertNotEq(int256,int256,string)":"4724c5b9","assertNotEq(int256[],int256[])":"0b72f4ef","assertNotEq(int256[],int256[],string)":"d3977322","assertNotEq(string,string)":"6a8237b3","assertNotEq(string,string,string)":"78bdcea7","assertNotEq(string[],string[])":"bdfacbe8","assertNotEq(string[],string[],string)":"b67187f3","assertNotEq(uint256,uint256)":"b7909320","assertNotEq(uint256,uint256,string)":"98f9bdbd","assertNotEq(uint256[],uint256[])":"56f29cba","assertNotEq(uint256[],uint256[],string)":"9a7fbd8f","assertNotEqDecimal(int256,int256,uint256)":"14e75680","assertNotEqDecimal(int256,int256,uint256,string)":"33949f0b","assertNotEqDecimal(uint256,uint256,uint256)":"669efca7","assertNotEqDecimal(uint256,uint256,uint256,string)":"f5a55558","assertTrue(bool)":"0c9fd581","assertTrue(bool,string)":"a34edc03","assume(bool)":"4c63e562","assumeNoRevert((address,bool,bytes))":"d8591eeb","assumeNoRevert((address,bool,bytes)[])":"8a4592cc","assumeNoRevert()":"285b366a","attachBlob(bytes)":"10cb385c","attachDelegation((uint8,bytes32,bytes32,uint64,address))":"14ae3519","attachDelegation((uint8,bytes32,bytes32,uint64,address),bool)":"f4460d34","blobBaseFee(uint256)":"6d315d7e","blobhashes(bytes32[])":"129de7eb","bound(int256,int256,int256)":"8f48fc07","bound(uint256,uint256,uint256)":"5a6c1eed","breakpoint(string)":"f0259e92","breakpoint(string,bool)":"f7d39a8d","broadcast()":"afc98040","broadcast(address)":"e6962cdb","broadcast(uint256)":"f67a965b","broadcastRawTransaction(bytes)":"8c0c72e0","chainId(uint256)":"4049ddd2","clearMockedCalls()":"3fdf4e15","cloneAccount(address,address)":"533d61c9","closeFile(string)":"48c3241f","coinbase(address)":"ff483c54","computeCreate2Address(bytes32,bytes32)":"890c283b","computeCreate2Address(bytes32,bytes32,address)":"d323826a","computeCreateAddress(address,uint256)":"74637a7a","contains(string,string)":"3fb18aec","cool(address)":"40ff9f21","coolSlot(address,bytes32)":"8c78e654","copyFile(string,string)":"a54a87d8","copyStorage(address,address)":"203dac0d","createDir(string,bool)":"168b64d3","createFork(string)":"31ba3498","createFork(string,bytes32)":"7ca29682","createFork(string,uint256)":"6ba3ba2b","createSelectFork(string)":"98680034","createSelectFork(string,bytes32)":"84d52b7a","createSelectFork(string,uint256)":"71ee464d","createWallet(string)":"7404f1d2","createWallet(uint256)":"7a675bb6","createWallet(uint256,string)":"ed7c5462","deal(address,uint256)":"c88a5e6d","deleteSnapshot(uint256)":"a6368557","deleteSnapshots()":"421ae469","deleteStateSnapshot(uint256)":"08d6b37a","deleteStateSnapshots()":"e0933c74","deployCode(string)":"9a8325a0","deployCode(string,bytes)":"29ce9dde","deployCode(string,bytes,bytes32)":"016155bf","deployCode(string,bytes,uint256)":"ff5d64e4","deployCode(string,bytes,uint256,bytes32)":"3aa773ea","deployCode(string,bytes32)":"17ab1d79","deployCode(string,uint256)":"0af6a701","deployCode(string,uint256,bytes32)":"002cb687","deriveKey(string,string,uint32)":"6bcb2c1b","deriveKey(string,string,uint32,string)":"29233b1f","deriveKey(string,uint32)":"6229498b","deriveKey(string,uint32,string)":"32c8176d","difficulty(uint256)":"46cc92d9","dumpState(string)":"709ecd3f","eip712HashStruct(string,bytes)":"aedeaebc","eip712HashStruct(string,string,bytes)":"6d06c57c","eip712HashType(string)":"6792e9e2","eip712HashType(string,string)":"18fb6406","eip712HashTypedData(string)":"ea25e615","ensNamehash(string)":"8c374c65","envAddress(string)":"350d56bf","envAddress(string,string)":"ad31b9fa","envBool(string)":"7ed1ec7d","envBool(string,string)":"aaaddeaf","envBytes(string)":"4d7baf06","envBytes(string,string)":"ddc2651b","envBytes32(string)":"97949042","envBytes32(string,string)":"5af231c1","envExists(string)":"ce8365f9","envInt(string)":"892a0c61","envInt(string,string)":"42181150","envOr(string,address)":"561fe540","envOr(string,bool)":"4777f3cf","envOr(string,bytes)":"b3e47705","envOr(string,bytes32)":"b4a85892","envOr(string,int256)":"bbcb713e","envOr(string,string)":"d145736c","envOr(string,string,address[])":"c74e9deb","envOr(string,string,bool[])":"eb85e83b","envOr(string,string,bytes32[])":"2281f367","envOr(string,string,bytes[])":"64bc3e64","envOr(string,string,int256[])":"4700d74b","envOr(string,string,string[])":"859216bc","envOr(string,string,uint256[])":"74318528","envOr(string,uint256)":"5e97348f","envString(string)":"f877cb19","envString(string,string)":"14b02bc9","envUint(string)":"c1978d1f","envUint(string,string)":"f3dec099","etch(address,bytes)":"b4d6c782","eth_getLogs(uint256,uint256,address,bytes32[])":"35e1349b","exists(string)":"261a323e","expectCall(address,bytes)":"bd6af434","expectCall(address,bytes,uint64)":"c1adbbff","expectCall(address,uint256,bytes)":"f30c7ba3","expectCall(address,uint256,bytes,uint64)":"a2b1a1ae","expectCall(address,uint256,uint64,bytes)":"23361207","expectCall(address,uint256,uint64,bytes,uint64)":"65b7b7cc","expectCallMinGas(address,uint256,uint64,bytes)":"08e4e116","expectCallMinGas(address,uint256,uint64,bytes,uint64)":"e13a1834","expectCreate(bytes,address)":"73cdce36","expectCreate2(bytes,address)":"ea54a472","expectEmit()":"440ed10d","expectEmit(address)":"86b9620d","expectEmit(address,uint64)":"b43aece3","expectEmit(bool,bool,bool,bool)":"491cc7c2","expectEmit(bool,bool,bool,bool,address)":"81bad6f3","expectEmit(bool,bool,bool,bool,address,uint64)":"c339d02c","expectEmit(bool,bool,bool,bool,uint64)":"5e1d1c33","expectEmit(uint64)":"4c74a335","expectEmitAnonymous()":"2e5f270c","expectEmitAnonymous(address)":"6fc68705","expectEmitAnonymous(bool,bool,bool,bool,bool)":"c948db5e","expectEmitAnonymous(bool,bool,bool,bool,bool,address)":"71c95899","expectPartialRevert(bytes4)":"11fb5b9c","expectPartialRevert(bytes4,address)":"51aa008a","expectRevert()":"f4844814","expectRevert(address)":"d814f38a","expectRevert(address,uint64)":"1ff5f952","expectRevert(bytes)":"f28dceb3","expectRevert(bytes,address)":"61ebcf12","expectRevert(bytes,address,uint64)":"d345fb1f","expectRevert(bytes,uint64)":"4994c273","expectRevert(bytes4)":"c31eb0e0","expectRevert(bytes4,address)":"260bc5de","expectRevert(bytes4,address,uint64)":"b0762d73","expectRevert(bytes4,uint64)":"e45ca72d","expectRevert(uint64)":"4ee38244","expectSafeMemory(uint64,uint64)":"6d016688","expectSafeMemoryCall(uint64,uint64)":"05838bf4","fee(uint256)":"39b37ab0","ffi(string[])":"89160467","foundryVersionAtLeast(string)":"6248be1f","foundryVersionCmp(string)":"ca7b0a09","fsMetadata(string)":"af368a08","getArtifactPathByCode(bytes)":"eb74848c","getArtifactPathByDeployedCode(bytes)":"6d853ba5","getBlobBaseFee()":"1f6d6ef7","getBlobhashes()":"f56ff18b","getBlockNumber()":"42cbb15c","getBlockTimestamp()":"796b89b9","getBroadcast(string,uint64,uint8)":"3dc90cb3","getBroadcasts(string,uint64)":"f2fa4a26","getBroadcasts(string,uint64,uint8)":"f7afe919","getChain(string)":"4cc1c2bb","getChain(uint256)":"b6791ad4","getChainId()":"3408e470","getCode(string)":"8d1cc925","getDeployedCode(string)":"3ebf73b4","getDeployment(string)":"a8091d97","getDeployment(string,uint64)":"0debd5d6","getDeployments(string,uint64)":"74e133dd","getFoundryVersion()":"ea991bb5","getLabel(address)":"28a249b0","getMappingKeyAndParentOf(address,bytes32)":"876e24e6","getMappingLength(address,bytes32)":"2f2fd63f","getMappingSlotAt(address,bytes32,uint256)":"ebc73ab4","getNonce((address,uint256,uint256,uint256))":"a5748aad","getNonce(address)":"2d0335ab","getRawBlockHeader(uint256)":"2c667606","getRecordedLogs()":"191553a4","getStateDiff()":"80df01cc","getStateDiffJson()":"f54fe009","getStorageAccesses()":"2899b1d0","getWallets()":"db7a4605","indexOf(string,string)":"8a0807b7","interceptInitcode()":"838653c7","isContext(uint8)":"64af255d","isDir(string)":"7d15d019","isFile(string)":"e0eb04d4","isPersistent(address)":"d92d8efd","keyExists(string,string)":"528a683c","keyExistsJson(string,string)":"db4235f6","keyExistsToml(string,string)":"600903ad","label(address,string)":"c657c718","lastCallGas()":"2b589b28","load(address,bytes32)":"667f9d70","loadAllocs(string)":"b3a056d7","makePersistent(address)":"57e22dde","makePersistent(address,address)":"4074e0a8","makePersistent(address,address,address)":"efb77a75","makePersistent(address[])":"1d9e269e","mockCall(address,bytes,bytes)":"b96213e4","mockCall(address,bytes4,bytes)":"08e0c537","mockCall(address,uint256,bytes,bytes)":"81409b91","mockCall(address,uint256,bytes4,bytes)":"e7b36a3d","mockCallRevert(address,bytes,bytes)":"dbaad147","mockCallRevert(address,bytes4,bytes)":"2dfba5df","mockCallRevert(address,uint256,bytes,bytes)":"d23cd037","mockCallRevert(address,uint256,bytes4,bytes)":"596c8f04","mockCalls(address,bytes,bytes[])":"5c5c3de9","mockCalls(address,uint256,bytes,bytes[])":"08bcbae1","mockFunction(address,address,bytes)":"adf84d21","noAccessList()":"238ad778","parseAddress(string)":"c6ce059d","parseBool(string)":"974ef924","parseBytes(string)":"8f5d232d","parseBytes32(string)":"087e6e81","parseInt(string)":"42346c5e","parseJson(string)":"6a82600a","parseJson(string,string)":"85940ef1","parseJsonAddress(string,string)":"1e19e657","parseJsonAddressArray(string,string)":"2fce7883","parseJsonBool(string,string)":"9f86dc91","parseJsonBoolArray(string,string)":"91f3b94f","parseJsonBytes(string,string)":"fd921be8","parseJsonBytes32(string,string)":"1777e59d","parseJsonBytes32Array(string,string)":"91c75bc3","parseJsonBytesArray(string,string)":"6631aa99","parseJsonInt(string,string)":"7b048ccd","parseJsonIntArray(string,string)":"9983c28a","parseJsonKeys(string,string)":"213e4198","parseJsonString(string,string)":"49c4fac8","parseJsonStringArray(string,string)":"498fdcf4","parseJsonType(string,string)":"a9da313b","parseJsonType(string,string,string)":"e3f5ae33","parseJsonTypeArray(string,string,string)":"0175d535","parseJsonUint(string,string)":"addde2b6","parseJsonUintArray(string,string)":"522074ab","parseToml(string)":"592151f0","parseToml(string,string)":"37736e08","parseTomlAddress(string,string)":"65e7c844","parseTomlAddressArray(string,string)":"65c428e7","parseTomlBool(string,string)":"d30dced6","parseTomlBoolArray(string,string)":"127cfe9a","parseTomlBytes(string,string)":"d77bfdb9","parseTomlBytes32(string,string)":"8e214810","parseTomlBytes32Array(string,string)":"3e716f81","parseTomlBytesArray(string,string)":"b197c247","parseTomlInt(string,string)":"c1350739","parseTomlIntArray(string,string)":"d3522ae6","parseTomlKeys(string,string)":"812a44b2","parseTomlString(string,string)":"8bb8dd43","parseTomlStringArray(string,string)":"9f629281","parseTomlType(string,string)":"47fa5e11","parseTomlType(string,string,string)":"f9fa5cdb","parseTomlTypeArray(string,string,string)":"49be3743","parseTomlUint(string,string)":"cc7b0487","parseTomlUintArray(string,string)":"b5df27c8","parseUint(string)":"fa91454d","pauseGasMetering()":"d1a5b36f","pauseTracing()":"c94d1f90","prank(address)":"ca669fa7","prank(address,address)":"47e50cce","prank(address,address,bool)":"7d73d042","prank(address,bool)":"a7f8bf5c","prevrandao(bytes32)":"3b925549","prevrandao(uint256)":"9cb1c0d4","projectRoot()":"d930a0e6","prompt(string)":"47eaf474","promptAddress(string)":"62ee05f4","promptSecret(string)":"1e279d41","promptSecretUint(string)":"69ca02b7","promptUint(string)":"652fd489","publicKeyP256(uint256)":"c453949e","randomAddress()":"d5bee9f5","randomBool()":"cdc126bd","randomBytes(uint256)":"6c5d32a9","randomBytes4()":"9b7cd579","randomBytes8()":"0497b0a5","randomInt()":"111f1202","randomInt(uint256)":"12845966","randomUint()":"25124730","randomUint(uint256)":"cf81e69c","randomUint(uint256,uint256)":"d61b051b","readCallers()":"4ad0bac9","readDir(string)":"c4bc59e0","readDir(string,uint64)":"1497876c","readDir(string,uint64,bool)":"8102d70d","readFile(string)":"60f9bb11","readFileBinary(string)":"16ed7bc4","readLine(string)":"70f55728","readLink(string)":"9f5684a2","record()":"266cf109","recordLogs()":"41af2f52","rememberKey(uint256)":"22100064","rememberKeys(string,string,string,uint32)":"f8d58eaf","rememberKeys(string,string,uint32)":"97cb9189","removeDir(string,bool)":"45c62011","removeFile(string)":"f1afe04d","replace(string,string,string)":"e00ad03e","resetGasMetering()":"be367dd3","resetNonce(address)":"1c72346d","resolveEnv(string)":"ddd2128d","resumeGasMetering()":"2bcd50e0","resumeTracing()":"72a09ccb","revertTo(uint256)":"44d7f0a4","revertToAndDelete(uint256)":"03e0aca9","revertToState(uint256)":"c2527405","revertToStateAndDelete(uint256)":"3a1985dc","revokePersistent(address)":"997a0222","revokePersistent(address[])":"3ce969e6","roll(uint256)":"1f7b4f30","rollFork(bytes32)":"0f29772b","rollFork(uint256)":"d9bbf3a1","rollFork(uint256,bytes32)":"f2830f7b","rollFork(uint256,uint256)":"d74c83a4","rpc(string,string)":"1206c8a8","rpc(string,string,string)":"0199a220","rpcUrl(string)":"975a6ce9","rpcUrlStructs()":"9d2ad72a","rpcUrls()":"a85a8418","selectFork(uint256)":"9ebf6827","serializeAddress(string,string,address)":"972c6062","serializeAddress(string,string,address[])":"1e356e1a","serializeBool(string,string,bool)":"ac22e971","serializeBool(string,string,bool[])":"92925aa1","serializeBytes(string,string,bytes)":"f21d52c7","serializeBytes(string,string,bytes[])":"9884b232","serializeBytes32(string,string,bytes32)":"2d812b44","serializeBytes32(string,string,bytes32[])":"201e43e2","serializeInt(string,string,int256)":"3f33db60","serializeInt(string,string,int256[])":"7676e127","serializeJson(string,string)":"9b3358b0","serializeJsonType(string,bytes)":"6d4f96a6","serializeJsonType(string,string,string,bytes)":"6f93bccb","serializeString(string,string,string)":"88da6d35","serializeString(string,string,string[])":"561cd6f3","serializeUint(string,string,uint256)":"129e9002","serializeUint(string,string,uint256[])":"fee9a469","serializeUintToHex(string,string,uint256)":"ae5a2ae8","setArbitraryStorage(address)":"e1631837","setArbitraryStorage(address,bool)":"d3ec2a0b","setBlockhash(uint256,bytes32)":"5314b54a","setEnv(string,string)":"3d5923ee","setNonce(address,uint64)":"f8e18b57","setNonceUnsafe(address,uint64)":"9b67b21c","setSeed(uint256)":"c32a50f9","shuffle(uint256[])":"54f1469c","sign((address,uint256,uint256,uint256),bytes32)":"b25c5a25","sign(address,bytes32)":"8c1aa205","sign(bytes32)":"799cd333","sign(uint256,bytes32)":"e341eaa4","signAndAttachDelegation(address,uint256)":"c7fa7288","signAndAttachDelegation(address,uint256,bool)":"d936e146","signAndAttachDelegation(address,uint256,uint64)":"cde3e5be","signCompact((address,uint256,uint256,uint256),bytes32)":"3d0e292f","signCompact(address,bytes32)":"8e2f97bf","signCompact(bytes32)":"a282dc4b","signCompact(uint256,bytes32)":"cc2a781f","signDelegation(address,uint256)":"5b593c7b","signDelegation(address,uint256,bool)":"cdd7563d","signDelegation(address,uint256,uint64)":"ceba2ec3","signP256(uint256,bytes32)":"83211b40","skip(bool)":"dd82d13e","skip(bool,string)":"c42a80a7","sleep(uint256)":"fa9d8713","snapshot()":"9711715a","snapshotGasLastCall(string)":"dd9fca12","snapshotGasLastCall(string,string)":"200c6772","snapshotState()":"9cd23835","snapshotValue(string,string,uint256)":"6d2b27d8","snapshotValue(string,uint256)":"51db805a","sort(uint256[])":"9ec8b026","split(string,string)":"8bb75533","startBroadcast()":"7fb5297f","startBroadcast(address)":"7fec2a8d","startBroadcast(uint256)":"ce817d47","startDebugTraceRecording()":"419c8832","startMappingRecording()":"3e9705c0","startPrank(address)":"06447d56","startPrank(address,address)":"45b56078","startPrank(address,address,bool)":"4eb859b5","startPrank(address,bool)":"1cc0b435","startSnapshotGas(string)":"3cad9d7b","startSnapshotGas(string,string)":"6cd0cc53","startStateDiffRecording()":"cf22e3c9","stopAndReturnDebugTraceRecording()":"ced398a2","stopAndReturnStateDiff()":"aa5cf90e","stopBroadcast()":"76eadd36","stopExpectSafeMemory()":"0956441b","stopMappingRecording()":"0d4aae9b","stopPrank()":"90c5013b","stopRecord()":"996be76d","stopSnapshotGas()":"f6402eda","stopSnapshotGas(string)":"773b2805","stopSnapshotGas(string,string)":"0c9db707","store(address,bytes32,bytes32)":"70ca10bb","toBase64(bytes)":"a5cbfe65","toBase64(string)":"3f8be2c8","toBase64URL(bytes)":"c8bd0e4a","toBase64URL(string)":"ae3165b3","toLowercase(string)":"50bb0884","toString(address)":"56ca623e","toString(bool)":"71dce7da","toString(bytes)":"71aad10d","toString(bytes32)":"b11a19e8","toString(int256)":"a322c40e","toString(uint256)":"6900a3ae","toUppercase(string)":"074ae3d7","transact(bytes32)":"be646da1","transact(uint256,bytes32)":"4d8abc4b","trim(string)":"b2dad155","tryFfi(string[])":"f45c1ce7","txGasPrice(uint256)":"48f50c0f","unixTime()":"625387dc","warmSlot(address,bytes32)":"b23184cf","warp(uint256)":"e5d6bf02","writeFile(string,string)":"897e0a97","writeFileBinary(string,bytes)":"1f21fc80","writeJson(string,string)":"e23cd19f","writeJson(string,string,string)":"35d6ad46","writeLine(string,string)":"619d897f","writeToml(string,string)":"c0865ba7","writeToml(string,string,string)":"51ac6a33"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"storageKeys\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct VmSafe.AccessListItem[]\",\"name\":\"access\",\"type\":\"tuple[]\"}],\"name\":\"accessList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"accesses\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"readSlots\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"writeSlots\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activeFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"allowCheatcodes\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertFalse\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assertFalse\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assertTrue\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertTrue\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assume\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"assumeNoRevert\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"partialMatch\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"internalType\":\"struct VmSafe.PotentialRevert[]\",\"name\":\"potentialReverts\",\"type\":\"tuple[]\"}],\"name\":\"assumeNoRevert\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"partialMatch\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"internalType\":\"struct VmSafe.PotentialRevert\",\"name\":\"potentialRevert\",\"type\":\"tuple\"}],\"name\":\"assumeNoRevert\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"blob\",\"type\":\"bytes\"}],\"name\":\"attachBlob\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"name\":\"attachDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"crossChain\",\"type\":\"bool\"}],\"name\":\"attachDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newBlobBaseFee\",\"type\":\"uint256\"}],\"name\":\"blobBaseFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"hashes\",\"type\":\"bytes32[]\"}],\"name\":\"blobhashes\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"current\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"min\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"max\",\"type\":\"uint256\"}],\"name\":\"bound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"current\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"min\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"max\",\"type\":\"int256\"}],\"name\":\"bound\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"char\",\"type\":\"string\"}],\"name\":\"breakpoint\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"char\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"breakpoint\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"broadcastRawTransaction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newChainId\",\"type\":\"uint256\"}],\"name\":\"chainId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clearMockedCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"source\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"cloneAccount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"closeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newCoinbase\",\"type\":\"address\"}],\"name\":\"coinbase\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"initCodeHash\",\"type\":\"bytes32\"}],\"name\":\"computeCreate2Address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"initCodeHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"}],\"name\":\"computeCreate2Address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"computeCreateAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"subject\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"search\",\"type\":\"string\"}],\"name\":\"contains\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"cool\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"coolSlot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"from\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"to\",\"type\":\"string\"}],\"name\":\"copyFile\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"copied\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"copyStorage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"recursive\",\"type\":\"bool\"}],\"name\":\"createDir\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"walletLabel\",\"type\":\"string\"}],\"name\":\"createWallet\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"createWallet\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"walletLabel\",\"type\":\"string\"}],\"name\":\"createWallet\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"}],\"name\":\"deal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"deleteSnapshot\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deleteSnapshots\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"deleteStateSnapshot\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deleteStateSnapshots\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"constructorArgs\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"constructorArgs\",\"type\":\"bytes\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"constructorArgs\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"constructorArgs\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"string\",\"name\":\"language\",\"type\":\"string\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"string\",\"name\":\"language\",\"type\":\"string\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newDifficulty\",\"type\":\"uint256\"}],\"name\":\"difficulty\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"pathToStateJson\",\"type\":\"string\"}],\"name\":\"dumpState\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"bindingsPath\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeName\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"name\":\"eip712HashStruct\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"typeHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"typeNameOrDefinition\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"name\":\"eip712HashStruct\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"typeHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"bindingsPath\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeName\",\"type\":\"string\"}],\"name\":\"eip712HashType\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"typeHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"typeNameOrDefinition\",\"type\":\"string\"}],\"name\":\"eip712HashType\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"typeHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"jsonData\",\"type\":\"string\"}],\"name\":\"eip712HashTypedData\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"ensNamehash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"defaultValue\",\"type\":\"bytes32[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"defaultValue\",\"type\":\"int256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"defaultValue\",\"type\":\"bool\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"defaultValue\",\"type\":\"address\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"defaultValue\",\"type\":\"uint256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"defaultValue\",\"type\":\"bytes[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"defaultValue\",\"type\":\"uint256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"defaultValue\",\"type\":\"string[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"defaultValue\",\"type\":\"bytes\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"defaultValue\",\"type\":\"bytes32\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"defaultValue\",\"type\":\"int256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"defaultValue\",\"type\":\"address[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"defaultValue\",\"type\":\"string\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"defaultValue\",\"type\":\"bool[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"newRuntimeBytecode\",\"type\":\"bytes\"}],\"name\":\"etch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"fromBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"toBlock\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"}],\"name\":\"eth_getLogs\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"transactionHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"transactionIndex\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"logIndex\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"removed\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.EthGetLogs[]\",\"name\":\"logs\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"exists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"gas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"gas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"minGas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCallMinGas\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"minGas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectCallMinGas\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"}],\"name\":\"expectCreate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"}],\"name\":\"expectCreate2\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"expectEmitAnonymous\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"name\":\"expectEmitAnonymous\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic0\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"name\":\"expectEmitAnonymous\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic0\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"}],\"name\":\"expectEmitAnonymous\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"revertData\",\"type\":\"bytes4\"}],\"name\":\"expectPartialRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"revertData\",\"type\":\"bytes4\"},{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"}],\"name\":\"expectPartialRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"revertData\",\"type\":\"bytes4\"},{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"revertData\",\"type\":\"bytes4\"},{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"revertData\",\"type\":\"bytes4\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"revertData\",\"type\":\"bytes4\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"min\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"max\",\"type\":\"uint64\"}],\"name\":\"expectSafeMemory\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"min\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"max\",\"type\":\"uint64\"}],\"name\":\"expectSafeMemoryCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newBasefee\",\"type\":\"uint256\"}],\"name\":\"fee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"commandInput\",\"type\":\"string[]\"}],\"name\":\"ffi\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"}],\"name\":\"foundryVersionAtLeast\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"}],\"name\":\"foundryVersionCmp\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"fsMetadata\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"readOnly\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"modified\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"created\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.FsMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"code\",\"type\":\"bytes\"}],\"name\":\"getArtifactPathByCode\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"deployedCode\",\"type\":\"bytes\"}],\"name\":\"getArtifactPathByDeployedCode\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlobBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blobBaseFee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlobhashes\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"hashes\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"height\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"}],\"name\":\"getBroadcast\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.BroadcastTxSummary\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"}],\"name\":\"getBroadcasts\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.BroadcastTxSummary[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"}],\"name\":\"getBroadcasts\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.BroadcastTxSummary[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"chainAlias\",\"type\":\"string\"}],\"name\":\"getChain\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"chainAlias\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"rpcUrl\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Chain\",\"name\":\"chain\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"}],\"name\":\"getChain\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"chainAlias\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"rpcUrl\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Chain\",\"name\":\"chain\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockChainId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"creationBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getDeployedCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"runtimeBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"}],\"name\":\"getDeployment\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"}],\"name\":\"getDeployment\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"}],\"name\":\"getDeployments\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"deployedAddresses\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFoundryVersion\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getLabel\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"currentLabel\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"elementSlot\",\"type\":\"bytes32\"}],\"name\":\"getMappingKeyAndParentOf\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"found\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"parent\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"mappingSlot\",\"type\":\"bytes32\"}],\"name\":\"getMappingLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"mappingSlot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"idx\",\"type\":\"uint256\"}],\"name\":\"getMappingSlotAt\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getRawBlockHeader\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"rlpHeader\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRecordedLogs\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.Log[]\",\"name\":\"logs\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStateDiff\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"diff\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStateDiffJson\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"diff\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStorageAccesses\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"isWrite\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"previousValue\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"newValue\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"reverted\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.StorageAccess[]\",\"name\":\"storageAccesses\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWallets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"wallets\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"indexOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"interceptInitcode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum VmSafe.ForgeContext\",\"name\":\"context\",\"type\":\"uint8\"}],\"name\":\"isContext\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"isDir\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"isFile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isPersistent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"persistent\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"keyExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"keyExistsJson\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"keyExistsToml\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"newLabel\",\"type\":\"string\"}],\"name\":\"label\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastCallGas\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"gasLimit\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"gasTotalUsed\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"gasMemoryUsed\",\"type\":\"uint64\"},{\"internalType\":\"int64\",\"name\":\"gasRefunded\",\"type\":\"int64\"},{\"internalType\":\"uint64\",\"name\":\"gasRemaining\",\"type\":\"uint64\"}],\"internalType\":\"struct VmSafe.Gas\",\"name\":\"gas\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"load\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"pathToAllocsJson\",\"type\":\"string\"}],\"name\":\"loadAllocs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account1\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account1\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account2\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"data\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"mockCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"mockCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"mockCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes4\",\"name\":\"data\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"mockCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"data\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"mockCallRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes4\",\"name\":\"data\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"mockCallRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"mockCallRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"mockCallRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"name\":\"mockCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"name\":\"mockCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"mockFunction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"noAccessList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"parsedValue\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"parsedValue\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"parsedValue\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"parsedValue\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"parsedValue\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonAddressArray\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBoolArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32Array\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytesArray\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonIntArray\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonKeys\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"keys\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseJsonType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseJsonType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseJsonTypeArray\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonUintArray\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseToml\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"}],\"name\":\"parseToml\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlAddressArray\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBoolArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytes32Array\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytesArray\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlIntArray\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlKeys\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"keys\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseTomlType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseTomlType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseTomlTypeArray\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlUintArray\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"parsedValue\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauseGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauseTracing\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"}],\"name\":\"prank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"delegateCall\",\"type\":\"bool\"}],\"name\":\"prank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"delegateCall\",\"type\":\"bool\"}],\"name\":\"prank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"}],\"name\":\"prank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"newPrevrandao\",\"type\":\"bytes32\"}],\"name\":\"prevrandao\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newPrevrandao\",\"type\":\"uint256\"}],\"name\":\"prevrandao\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projectRoot\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"prompt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptSecret\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptSecretUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"publicKeyP256\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"len\",\"type\":\"uint256\"}],\"name\":\"randomBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomBytes4\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomBytes8\",\"outputs\":[{\"internalType\":\"bytes8\",\"name\":\"\",\"type\":\"bytes8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"bits\",\"type\":\"uint256\"}],\"name\":\"randomInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"bits\",\"type\":\"uint256\"}],\"name\":\"randomUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"min\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"max\",\"type\":\"uint256\"}],\"name\":\"randomUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"readCallers\",\"outputs\":[{\"internalType\":\"enum VmSafe.CallerMode\",\"name\":\"callerMode\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"maxDepth\",\"type\":\"uint64\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"maxDepth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"followLinks\",\"type\":\"bool\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFile\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFileBinary\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readLine\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"line\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"linkPath\",\"type\":\"string\"}],\"name\":\"readLink\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"targetPath\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"record\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recordLogs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"rememberKey\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"count\",\"type\":\"uint32\"}],\"name\":\"rememberKeys\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"keyAddrs\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"language\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"count\",\"type\":\"uint32\"}],\"name\":\"rememberKeys\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"keyAddrs\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"recursive\",\"type\":\"bool\"}],\"name\":\"removeDir\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"removeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"from\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"to\",\"type\":\"string\"}],\"name\":\"replace\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resetGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"resetNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"resolveEnv\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resumeGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resumeTracing\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"revertTo\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"revertToAndDelete\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"revertToState\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"revertToStateAndDelete\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"}],\"name\":\"revokePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newHeight\",\"type\":\"uint256\"}],\"name\":\"roll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"method\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"params\",\"type\":\"string\"}],\"name\":\"rpc\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"method\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"params\",\"type\":\"string\"}],\"name\":\"rpc\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"rpcAlias\",\"type\":\"string\"}],\"name\":\"rpcUrl\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrlStructs\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Rpc[]\",\"name\":\"urls\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrls\",\"outputs\":[{\"internalType\":\"string[2][]\",\"name\":\"urls\",\"type\":\"string[2][]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"name\":\"selectFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"values\",\"type\":\"address[]\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"values\",\"type\":\"bool[]\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"values\",\"type\":\"bytes[]\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"values\",\"type\":\"bytes32[]\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"values\",\"type\":\"int256[]\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"serializeJson\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeJsonType\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeJsonType\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"values\",\"type\":\"string[]\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"serializeUintToHex\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"overwrite\",\"type\":\"bool\"}],\"name\":\"setArbitraryStorage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"setArbitraryStorage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"name\":\"setBlockhash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"setEnv\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"newNonce\",\"type\":\"uint64\"}],\"name\":\"setNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"newNonce\",\"type\":\"uint64\"}],\"name\":\"setNonceUnsafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"seed\",\"type\":\"uint256\"}],\"name\":\"setSeed\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"array\",\"type\":\"uint256[]\"}],\"name\":\"shuffle\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"signAndAttachDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"name\":\"signAndAttachDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"crossChain\",\"type\":\"bool\"}],\"name\":\"signAndAttachDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signCompact\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"vs\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signCompact\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"vs\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signCompact\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"vs\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signCompact\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"vs\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"signDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"crossChain\",\"type\":\"bool\"}],\"name\":\"signDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"name\":\"signDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signP256\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"skipTest\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"skip\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"skipTest\",\"type\":\"bool\"}],\"name\":\"skip\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"}],\"name\":\"sleep\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"snapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"group\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"snapshotGasLastCall\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"snapshotGasLastCall\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"snapshotState\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"snapshotValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"group\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"snapshotValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"array\",\"type\":\"uint256[]\"}],\"name\":\"sort\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delimiter\",\"type\":\"string\"}],\"name\":\"split\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"outputs\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startDebugTraceRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startMappingRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"}],\"name\":\"startPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"delegateCall\",\"type\":\"bool\"}],\"name\":\"startPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"}],\"name\":\"startPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"delegateCall\",\"type\":\"bool\"}],\"name\":\"startPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"startSnapshotGas\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"group\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"startSnapshotGas\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startStateDiffRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopAndReturnDebugTraceRecording\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"stack\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"memoryInput\",\"type\":\"bytes\"},{\"internalType\":\"uint8\",\"name\":\"opcode\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isOutOfGas\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"contractAddr\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.DebugStep[]\",\"name\":\"step\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopAndReturnStateDiff\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.ChainInfo\",\"name\":\"chainInfo\",\"type\":\"tuple\"},{\"internalType\":\"enum VmSafe.AccountAccessKind\",\"name\":\"kind\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"accessor\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"initialized\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"oldBalance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"deployedCode\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"reverted\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"isWrite\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"previousValue\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"newValue\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"reverted\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.StorageAccess[]\",\"name\":\"storageAccesses\",\"type\":\"tuple[]\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"oldNonce\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"newNonce\",\"type\":\"uint64\"}],\"internalType\":\"struct VmSafe.AccountAccess[]\",\"name\":\"accountAccesses\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopExpectSafeMemory\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopMappingRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"group\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"stopSnapshotGas\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"stopSnapshotGas\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopSnapshotGas\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"store\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"toBase64\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"toBase64\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"toBase64URL\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"toBase64URL\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"toLowercase\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"toUppercase\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"transact\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"transact\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"trim\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"commandInput\",\"type\":\"string[]\"}],\"name\":\"tryFfi\",\"outputs\":[{\"components\":[{\"internalType\":\"int32\",\"name\":\"exitCode\",\"type\":\"int32\"},{\"internalType\":\"bytes\",\"name\":\"stdout\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"stderr\",\"type\":\"bytes\"}],\"internalType\":\"struct VmSafe.FfiResult\",\"name\":\"result\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newGasPrice\",\"type\":\"uint256\"}],\"name\":\"txGasPrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unixTime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"milliseconds\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"warmSlot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newTimestamp\",\"type\":\"uint256\"}],\"name\":\"warp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"writeFileBinary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeLine\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"}],\"name\":\"writeToml\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"writeToml\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"accessList((address,bytes32[])[])\":{\"notice\":\"Utility cheatcode to set an EIP-2930 access list for all subsequent transactions.\"},\"accesses(address)\":{\"notice\":\"Gets all accessed reads and write slot from a `vm.record` session, for a given address.\"},\"activeFork()\":{\"notice\":\"Returns the identifier of the currently active fork. Reverts if no fork is currently active.\"},\"addr(uint256)\":{\"notice\":\"Gets the address for a given private key.\"},\"allowCheatcodes(address)\":{\"notice\":\"In forking mode, explicitly grant the given address cheatcode access.\"},\"assertApproxEqAbs(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`.\"},\"assertApproxEqAbs(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Includes error message into revert string on failure.\"},\"assertApproxEqAbs(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`.\"},\"assertApproxEqAbs(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Includes error message into revert string on failure.\"},\"assertApproxEqAbsDecimal(int256,int256,uint256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message.\"},\"assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message.\"},\"assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertApproxEqRel(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\"},\"assertApproxEqRel(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Includes error message into revert string on failure.\"},\"assertApproxEqRel(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\"},\"assertApproxEqRel(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Includes error message into revert string on failure.\"},\"assertApproxEqRelDecimal(int256,int256,uint256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message.\"},\"assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message.\"},\"assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertEq(address,address)\":{\"notice\":\"Asserts that two `address` values are equal.\"},\"assertEq(address,address,string)\":{\"notice\":\"Asserts that two `address` values are equal and includes error message into revert string on failure.\"},\"assertEq(address[],address[])\":{\"notice\":\"Asserts that two arrays of `address` values are equal.\"},\"assertEq(address[],address[],string)\":{\"notice\":\"Asserts that two arrays of `address` values are equal and includes error message into revert string on failure.\"},\"assertEq(bool,bool)\":{\"notice\":\"Asserts that two `bool` values are equal.\"},\"assertEq(bool,bool,string)\":{\"notice\":\"Asserts that two `bool` values are equal and includes error message into revert string on failure.\"},\"assertEq(bool[],bool[])\":{\"notice\":\"Asserts that two arrays of `bool` values are equal.\"},\"assertEq(bool[],bool[],string)\":{\"notice\":\"Asserts that two arrays of `bool` values are equal and includes error message into revert string on failure.\"},\"assertEq(bytes,bytes)\":{\"notice\":\"Asserts that two `bytes` values are equal.\"},\"assertEq(bytes,bytes,string)\":{\"notice\":\"Asserts that two `bytes` values are equal and includes error message into revert string on failure.\"},\"assertEq(bytes32,bytes32)\":{\"notice\":\"Asserts that two `bytes32` values are equal.\"},\"assertEq(bytes32,bytes32,string)\":{\"notice\":\"Asserts that two `bytes32` values are equal and includes error message into revert string on failure.\"},\"assertEq(bytes32[],bytes32[])\":{\"notice\":\"Asserts that two arrays of `bytes32` values are equal.\"},\"assertEq(bytes32[],bytes32[],string)\":{\"notice\":\"Asserts that two arrays of `bytes32` values are equal and includes error message into revert string on failure.\"},\"assertEq(bytes[],bytes[])\":{\"notice\":\"Asserts that two arrays of `bytes` values are equal.\"},\"assertEq(bytes[],bytes[],string)\":{\"notice\":\"Asserts that two arrays of `bytes` values are equal and includes error message into revert string on failure.\"},\"assertEq(int256,int256)\":{\"notice\":\"Asserts that two `int256` values are equal.\"},\"assertEq(int256,int256,string)\":{\"notice\":\"Asserts that two `int256` values are equal and includes error message into revert string on failure.\"},\"assertEq(int256[],int256[])\":{\"notice\":\"Asserts that two arrays of `int256` values are equal.\"},\"assertEq(int256[],int256[],string)\":{\"notice\":\"Asserts that two arrays of `int256` values are equal and includes error message into revert string on failure.\"},\"assertEq(string,string)\":{\"notice\":\"Asserts that two `string` values are equal.\"},\"assertEq(string,string,string)\":{\"notice\":\"Asserts that two `string` values are equal and includes error message into revert string on failure.\"},\"assertEq(string[],string[])\":{\"notice\":\"Asserts that two arrays of `string` values are equal.\"},\"assertEq(string[],string[],string)\":{\"notice\":\"Asserts that two arrays of `string` values are equal and includes error message into revert string on failure.\"},\"assertEq(uint256,uint256)\":{\"notice\":\"Asserts that two `uint256` values are equal.\"},\"assertEq(uint256,uint256,string)\":{\"notice\":\"Asserts that two `uint256` values are equal and includes error message into revert string on failure.\"},\"assertEq(uint256[],uint256[])\":{\"notice\":\"Asserts that two arrays of `uint256 values are equal.\"},\"assertEq(uint256[],uint256[],string)\":{\"notice\":\"Asserts that two arrays of `uint256` values are equal and includes error message into revert string on failure.\"},\"assertEqDecimal(int256,int256,uint256)\":{\"notice\":\"Asserts that two `int256` values are equal, formatting them with decimals in failure message.\"},\"assertEqDecimal(int256,int256,uint256,string)\":{\"notice\":\"Asserts that two `int256` values are equal, formatting them with decimals in failure message. Includes error message into revert string on failure.\"},\"assertEqDecimal(uint256,uint256,uint256)\":{\"notice\":\"Asserts that two `uint256` values are equal, formatting them with decimals in failure message.\"},\"assertEqDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Asserts that two `uint256` values are equal, formatting them with decimals in failure message. Includes error message into revert string on failure.\"},\"assertFalse(bool)\":{\"notice\":\"Asserts that the given condition is false.\"},\"assertFalse(bool,string)\":{\"notice\":\"Asserts that the given condition is false and includes error message into revert string on failure.\"},\"assertGe(int256,int256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than or equal to second.\"},\"assertGe(int256,int256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than or equal to second. Includes error message into revert string on failure.\"},\"assertGe(uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than or equal to second.\"},\"assertGe(uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than or equal to second. Includes error message into revert string on failure.\"},\"assertGeDecimal(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message.\"},\"assertGeDecimal(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertGeDecimal(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message.\"},\"assertGeDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertGt(int256,int256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than second.\"},\"assertGt(int256,int256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than second. Includes error message into revert string on failure.\"},\"assertGt(uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than second.\"},\"assertGt(uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than second. Includes error message into revert string on failure.\"},\"assertGtDecimal(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than second. Formats values with decimals in failure message.\"},\"assertGtDecimal(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertGtDecimal(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than second. Formats values with decimals in failure message.\"},\"assertGtDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertLe(int256,int256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than or equal to second.\"},\"assertLe(int256,int256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than or equal to second. Includes error message into revert string on failure.\"},\"assertLe(uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than or equal to second.\"},\"assertLe(uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than or equal to second. Includes error message into revert string on failure.\"},\"assertLeDecimal(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message.\"},\"assertLeDecimal(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertLeDecimal(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message.\"},\"assertLeDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertLt(int256,int256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than second.\"},\"assertLt(int256,int256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than second. Includes error message into revert string on failure.\"},\"assertLt(uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than second.\"},\"assertLt(uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than second. Includes error message into revert string on failure.\"},\"assertLtDecimal(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than second. Formats values with decimals in failure message.\"},\"assertLtDecimal(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertLtDecimal(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than second. Formats values with decimals in failure message.\"},\"assertLtDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertNotEq(address,address)\":{\"notice\":\"Asserts that two `address` values are not equal.\"},\"assertNotEq(address,address,string)\":{\"notice\":\"Asserts that two `address` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(address[],address[])\":{\"notice\":\"Asserts that two arrays of `address` values are not equal.\"},\"assertNotEq(address[],address[],string)\":{\"notice\":\"Asserts that two arrays of `address` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bool,bool)\":{\"notice\":\"Asserts that two `bool` values are not equal.\"},\"assertNotEq(bool,bool,string)\":{\"notice\":\"Asserts that two `bool` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bool[],bool[])\":{\"notice\":\"Asserts that two arrays of `bool` values are not equal.\"},\"assertNotEq(bool[],bool[],string)\":{\"notice\":\"Asserts that two arrays of `bool` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bytes,bytes)\":{\"notice\":\"Asserts that two `bytes` values are not equal.\"},\"assertNotEq(bytes,bytes,string)\":{\"notice\":\"Asserts that two `bytes` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bytes32,bytes32)\":{\"notice\":\"Asserts that two `bytes32` values are not equal.\"},\"assertNotEq(bytes32,bytes32,string)\":{\"notice\":\"Asserts that two `bytes32` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bytes32[],bytes32[])\":{\"notice\":\"Asserts that two arrays of `bytes32` values are not equal.\"},\"assertNotEq(bytes32[],bytes32[],string)\":{\"notice\":\"Asserts that two arrays of `bytes32` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bytes[],bytes[])\":{\"notice\":\"Asserts that two arrays of `bytes` values are not equal.\"},\"assertNotEq(bytes[],bytes[],string)\":{\"notice\":\"Asserts that two arrays of `bytes` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(int256,int256)\":{\"notice\":\"Asserts that two `int256` values are not equal.\"},\"assertNotEq(int256,int256,string)\":{\"notice\":\"Asserts that two `int256` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(int256[],int256[])\":{\"notice\":\"Asserts that two arrays of `int256` values are not equal.\"},\"assertNotEq(int256[],int256[],string)\":{\"notice\":\"Asserts that two arrays of `int256` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(string,string)\":{\"notice\":\"Asserts that two `string` values are not equal.\"},\"assertNotEq(string,string,string)\":{\"notice\":\"Asserts that two `string` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(string[],string[])\":{\"notice\":\"Asserts that two arrays of `string` values are not equal.\"},\"assertNotEq(string[],string[],string)\":{\"notice\":\"Asserts that two arrays of `string` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(uint256,uint256)\":{\"notice\":\"Asserts that two `uint256` values are not equal.\"},\"assertNotEq(uint256,uint256,string)\":{\"notice\":\"Asserts that two `uint256` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(uint256[],uint256[])\":{\"notice\":\"Asserts that two arrays of `uint256` values are not equal.\"},\"assertNotEq(uint256[],uint256[],string)\":{\"notice\":\"Asserts that two arrays of `uint256` values are not equal and includes error message into revert string on failure.\"},\"assertNotEqDecimal(int256,int256,uint256)\":{\"notice\":\"Asserts that two `int256` values are not equal, formatting them with decimals in failure message.\"},\"assertNotEqDecimal(int256,int256,uint256,string)\":{\"notice\":\"Asserts that two `int256` values are not equal, formatting them with decimals in failure message. Includes error message into revert string on failure.\"},\"assertNotEqDecimal(uint256,uint256,uint256)\":{\"notice\":\"Asserts that two `uint256` values are not equal, formatting them with decimals in failure message.\"},\"assertNotEqDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Asserts that two `uint256` values are not equal, formatting them with decimals in failure message. Includes error message into revert string on failure.\"},\"assertTrue(bool)\":{\"notice\":\"Asserts that the given condition is true.\"},\"assertTrue(bool,string)\":{\"notice\":\"Asserts that the given condition is true and includes error message into revert string on failure.\"},\"assume(bool)\":{\"notice\":\"If the condition is false, discard this run's fuzz inputs and generate new ones.\"},\"assumeNoRevert((address,bool,bytes))\":{\"notice\":\"Discard this run's fuzz inputs and generate new ones if next call reverts with the potential revert parameters.\"},\"assumeNoRevert((address,bool,bytes)[])\":{\"notice\":\"Discard this run's fuzz inputs and generate new ones if next call reverts with the any of the potential revert parameters.\"},\"assumeNoRevert()\":{\"notice\":\"Discard this run's fuzz inputs and generate new ones if next call reverted.\"},\"attachBlob(bytes)\":{\"notice\":\"Attach an EIP-4844 blob to the next call\"},\"attachDelegation((uint8,bytes32,bytes32,uint64,address))\":{\"notice\":\"Designate the next call as an EIP-7702 transaction\"},\"attachDelegation((uint8,bytes32,bytes32,uint64,address),bool)\":{\"notice\":\"Designate the next call as an EIP-7702 transaction, with optional cross-chain validity.\"},\"blobBaseFee(uint256)\":{\"notice\":\"Sets `block.blobbasefee`\"},\"blobhashes(bytes32[])\":{\"notice\":\"Sets the blobhashes in the transaction. Not available on EVM versions before Cancun. If used on unsupported EVM versions it will revert.\"},\"bound(int256,int256,int256)\":{\"notice\":\"Returns an int256 value bounded in given range and different from the current one.\"},\"bound(uint256,uint256,uint256)\":{\"notice\":\"Returns an uint256 value bounded in given range and different from the current one.\"},\"breakpoint(string)\":{\"notice\":\"Writes a breakpoint to jump to in the debugger.\"},\"breakpoint(string,bool)\":{\"notice\":\"Writes a conditional breakpoint to jump to in the debugger.\"},\"broadcast()\":{\"notice\":\"Has the next call (at this call depth only) create transactions that can later be signed and sent onchain. Broadcasting address is determined by checking the following in order: 1. If `--sender` argument was provided, that address is used. 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used. 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used.\"},\"broadcast(address)\":{\"notice\":\"Has the next call (at this call depth only) create a transaction with the address provided as the sender that can later be signed and sent onchain.\"},\"broadcast(uint256)\":{\"notice\":\"Has the next call (at this call depth only) create a transaction with the private key provided as the sender that can later be signed and sent onchain.\"},\"broadcastRawTransaction(bytes)\":{\"notice\":\"Takes a signed transaction and broadcasts it to the network.\"},\"chainId(uint256)\":{\"notice\":\"Sets `block.chainid`.\"},\"clearMockedCalls()\":{\"notice\":\"Clears all mocked calls.\"},\"cloneAccount(address,address)\":{\"notice\":\"Clones a source account code, state, balance and nonce to a target account and updates in-memory EVM state.\"},\"closeFile(string)\":{\"notice\":\"Closes file for reading, resetting the offset and allowing to read it from beginning with readLine. `path` is relative to the project root.\"},\"coinbase(address)\":{\"notice\":\"Sets `block.coinbase`.\"},\"computeCreate2Address(bytes32,bytes32)\":{\"notice\":\"Compute the address of a contract created with CREATE2 using the default CREATE2 deployer.\"},\"computeCreate2Address(bytes32,bytes32,address)\":{\"notice\":\"Compute the address of a contract created with CREATE2 using the given CREATE2 deployer.\"},\"computeCreateAddress(address,uint256)\":{\"notice\":\"Compute the address a contract will be deployed at for a given deployer address and nonce.\"},\"contains(string,string)\":{\"notice\":\"Returns true if `search` is found in `subject`, false otherwise.\"},\"cool(address)\":{\"notice\":\"Marks the slots of an account and the account address as cold.\"},\"coolSlot(address,bytes32)\":{\"notice\":\"Utility cheatcode to mark specific storage slot as cold, simulating no prior read.\"},\"copyFile(string,string)\":{\"notice\":\"Copies the contents of one file to another. This function will **overwrite** the contents of `to`. On success, the total number of bytes copied is returned and it is equal to the length of the `to` file as reported by `metadata`. Both `from` and `to` are relative to the project root.\"},\"copyStorage(address,address)\":{\"notice\":\"Utility cheatcode to copy storage of `from` contract to another `to` contract.\"},\"createDir(string,bool)\":{\"notice\":\"Creates a new, empty directory at the provided path. This cheatcode will revert in the following situations, but is not limited to just these cases: - User lacks permissions to modify `path`. - A parent of the given path doesn't exist and `recursive` is false. - `path` already exists and `recursive` is false. `path` is relative to the project root.\"},\"createFork(string)\":{\"notice\":\"Creates a new fork with the given endpoint and the _latest_ block and returns the identifier of the fork.\"},\"createFork(string,bytes32)\":{\"notice\":\"Creates a new fork with the given endpoint and at the block the given transaction was mined in, replays all transaction mined in the block before the transaction, and returns the identifier of the fork.\"},\"createFork(string,uint256)\":{\"notice\":\"Creates a new fork with the given endpoint and block and returns the identifier of the fork.\"},\"createSelectFork(string)\":{\"notice\":\"Creates and also selects a new fork with the given endpoint and the latest block and returns the identifier of the fork.\"},\"createSelectFork(string,bytes32)\":{\"notice\":\"Creates and also selects new fork with the given endpoint and at the block the given transaction was mined in, replays all transaction mined in the block before the transaction, returns the identifier of the fork.\"},\"createSelectFork(string,uint256)\":{\"notice\":\"Creates and also selects a new fork with the given endpoint and block and returns the identifier of the fork.\"},\"createWallet(string)\":{\"notice\":\"Derives a private key from the name, labels the account with that name, and returns the wallet.\"},\"createWallet(uint256)\":{\"notice\":\"Generates a wallet from the private key and returns the wallet.\"},\"createWallet(uint256,string)\":{\"notice\":\"Generates a wallet from the private key, labels the account with that name, and returns the wallet.\"},\"deal(address,uint256)\":{\"notice\":\"Sets an address' balance.\"},\"deleteSnapshot(uint256)\":{\"notice\":\"`deleteSnapshot` is being deprecated in favor of `deleteStateSnapshot`. It will be removed in future versions.\"},\"deleteSnapshots()\":{\"notice\":\"`deleteSnapshots` is being deprecated in favor of `deleteStateSnapshots`. It will be removed in future versions.\"},\"deleteStateSnapshot(uint256)\":{\"notice\":\"Removes the snapshot with the given ID created by `snapshot`. Takes the snapshot ID to delete. Returns `true` if the snapshot was successfully deleted. Returns `false` if the snapshot does not exist.\"},\"deleteStateSnapshots()\":{\"notice\":\"Removes _all_ snapshots previously created by `snapshot`.\"},\"deployCode(string)\":{\"notice\":\"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional.\"},\"deployCode(string,bytes)\":{\"notice\":\"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments.\"},\"deployCode(string,bytes,bytes32)\":{\"notice\":\"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments.\"},\"deployCode(string,bytes,uint256)\":{\"notice\":\"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments and `msg.value`.\"},\"deployCode(string,bytes,uint256,bytes32)\":{\"notice\":\"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments and `msg.value`.\"},\"deployCode(string,bytes32)\":{\"notice\":\"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional.\"},\"deployCode(string,uint256)\":{\"notice\":\"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts `msg.value`.\"},\"deployCode(string,uint256,bytes32)\":{\"notice\":\"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts `msg.value`.\"},\"deriveKey(string,string,uint32)\":{\"notice\":\"Derive a private key from a provided mnemonic string (or mnemonic file path) at `{derivationPath}{index}`.\"},\"deriveKey(string,string,uint32,string)\":{\"notice\":\"Derive a private key from a provided mnemonic string (or mnemonic file path) in the specified language at `{derivationPath}{index}`.\"},\"deriveKey(string,uint32)\":{\"notice\":\"Derive a private key from a provided mnemonic string (or mnemonic file path) at the derivation path `m/44'/60'/0'/0/{index}`.\"},\"deriveKey(string,uint32,string)\":{\"notice\":\"Derive a private key from a provided mnemonic string (or mnemonic file path) in the specified language at the derivation path `m/44'/60'/0'/0/{index}`.\"},\"difficulty(uint256)\":{\"notice\":\"Sets `block.difficulty`. Not available on EVM versions from Paris onwards. Use `prevrandao` instead. Reverts if used on unsupported EVM versions.\"},\"dumpState(string)\":{\"notice\":\"Dump a genesis JSON file's `allocs` to disk.\"},\"eip712HashStruct(string,bytes)\":{\"notice\":\"Generates the struct hash of the canonical EIP-712 type representation and its abi-encoded data. Supports 2 different inputs: 1. Name of the type (i.e. \\\"PermitSingle\\\"): * requires previous binding generation with `forge bind-json`. * bindings will be retrieved from the path configured in `foundry.toml`. 2. String representation of the type (i.e. \\\"Foo(Bar bar) Bar(uint256 baz)\\\"). * Note: the cheatcode will use the canonical type even if the input is malformated with the wrong order of elements or with extra whitespaces.\"},\"eip712HashStruct(string,string,bytes)\":{\"notice\":\"Generates the struct hash of the canonical EIP-712 type representation and its abi-encoded data. Requires previous binding generation with `forge bind-json`. Params: * `bindingsPath`: path where the output of `forge bind-json` is stored. * `typeName`: Name of the type (i.e. \\\"PermitSingle\\\"). * `abiEncodedData`: ABI-encoded data for the struct that is being hashed.\"},\"eip712HashType(string)\":{\"notice\":\"Generates the hash of the canonical EIP-712 type representation. Supports 2 different inputs: 1. Name of the type (i.e. \\\"Transaction\\\"): * requires previous binding generation with `forge bind-json`. * bindings will be retrieved from the path configured in `foundry.toml`. 2. String representation of the type (i.e. \\\"Foo(Bar bar) Bar(uint256 baz)\\\"). * Note: the cheatcode will output the canonical type even if the input is malformated with the wrong order of elements or with extra whitespaces.\"},\"eip712HashType(string,string)\":{\"notice\":\"Generates the hash of the canonical EIP-712 type representation. Requires previous binding generation with `forge bind-json`. Params: * `bindingsPath`: path where the output of `forge bind-json` is stored. * `typeName`: Name of the type (i.e. \\\"Transaction\\\").\"},\"eip712HashTypedData(string)\":{\"notice\":\"Generates a ready-to-sign digest of human-readable typed data following the EIP-712 standard.\"},\"ensNamehash(string)\":{\"notice\":\"Returns ENS namehash for provided string.\"},\"envAddress(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `address`. Reverts if the variable was not found or could not be parsed.\"},\"envAddress(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envBool(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bool`. Reverts if the variable was not found or could not be parsed.\"},\"envBool(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envBytes(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bytes`. Reverts if the variable was not found or could not be parsed.\"},\"envBytes(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envBytes32(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bytes32`. Reverts if the variable was not found or could not be parsed.\"},\"envBytes32(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envExists(string)\":{\"notice\":\"Gets the environment variable `name` and returns true if it exists, else returns false.\"},\"envInt(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `int256`. Reverts if the variable was not found or could not be parsed.\"},\"envInt(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envOr(string,address)\":{\"notice\":\"Gets the environment variable `name` and parses it as `address`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,bool)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bool`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,bytes)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bytes`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,bytes32)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bytes32`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,int256)\":{\"notice\":\"Gets the environment variable `name` and parses it as `int256`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `string`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,address[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,bool[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,bytes32[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,bytes[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,int256[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,string[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,uint256[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,uint256)\":{\"notice\":\"Gets the environment variable `name` and parses it as `uint256`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envString(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `string`. Reverts if the variable was not found or could not be parsed.\"},\"envString(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envUint(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `uint256`. Reverts if the variable was not found or could not be parsed.\"},\"envUint(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"etch(address,bytes)\":{\"notice\":\"Sets an address' code.\"},\"eth_getLogs(uint256,uint256,address,bytes32[])\":{\"notice\":\"Gets all the logs according to specified filter.\"},\"exists(string)\":{\"notice\":\"Returns true if the given path points to an existing entity, else returns false.\"},\"expectCall(address,bytes)\":{\"notice\":\"Expects a call to an address with the specified calldata. Calldata can either be a strict or a partial match.\"},\"expectCall(address,bytes,uint64)\":{\"notice\":\"Expects given number of calls to an address with the specified calldata.\"},\"expectCall(address,uint256,bytes)\":{\"notice\":\"Expects a call to an address with the specified `msg.value` and calldata.\"},\"expectCall(address,uint256,bytes,uint64)\":{\"notice\":\"Expects given number of calls to an address with the specified `msg.value` and calldata.\"},\"expectCall(address,uint256,uint64,bytes)\":{\"notice\":\"Expect a call to an address with the specified `msg.value`, gas, and calldata.\"},\"expectCall(address,uint256,uint64,bytes,uint64)\":{\"notice\":\"Expects given number of calls to an address with the specified `msg.value`, gas, and calldata.\"},\"expectCallMinGas(address,uint256,uint64,bytes)\":{\"notice\":\"Expect a call to an address with the specified `msg.value` and calldata, and a *minimum* amount of gas.\"},\"expectCallMinGas(address,uint256,uint64,bytes,uint64)\":{\"notice\":\"Expect given number of calls to an address with the specified `msg.value` and calldata, and a *minimum* amount of gas.\"},\"expectCreate(bytes,address)\":{\"notice\":\"Expects the deployment of the specified bytecode by the specified address using the CREATE opcode\"},\"expectCreate2(bytes,address)\":{\"notice\":\"Expects the deployment of the specified bytecode by the specified address using the CREATE2 opcode\"},\"expectEmit()\":{\"notice\":\"Prepare an expected log with all topic and data checks enabled. Call this function, then emit an event, then call a function. Internally after the call, we check if logs were emitted in the expected order with the expected topics and data.\"},\"expectEmit(address)\":{\"notice\":\"Same as the previous method, but also checks supplied address against emitting contract.\"},\"expectEmit(address,uint64)\":{\"notice\":\"Expect a given number of logs from a specific emitter with all topic and data checks enabled.\"},\"expectEmit(bool,bool,bool,bool)\":{\"notice\":\"Prepare an expected log with (bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData.). Call this function, then emit an event, then call a function. Internally after the call, we check if logs were emitted in the expected order with the expected topics and data (as specified by the booleans).\"},\"expectEmit(bool,bool,bool,bool,address)\":{\"notice\":\"Same as the previous method, but also checks supplied address against emitting contract.\"},\"expectEmit(bool,bool,bool,bool,address,uint64)\":{\"notice\":\"Expect a given number of logs from a specific emitter with the provided topics.\"},\"expectEmit(bool,bool,bool,bool,uint64)\":{\"notice\":\"Expect a given number of logs with the provided topics.\"},\"expectEmit(uint64)\":{\"notice\":\"Expect a given number of logs with all topic and data checks enabled.\"},\"expectEmitAnonymous()\":{\"notice\":\"Prepare an expected anonymous log with all topic and data checks enabled. Call this function, then emit an anonymous event, then call a function. Internally after the call, we check if logs were emitted in the expected order with the expected topics and data.\"},\"expectEmitAnonymous(address)\":{\"notice\":\"Same as the previous method, but also checks supplied address against emitting contract.\"},\"expectEmitAnonymous(bool,bool,bool,bool,bool)\":{\"notice\":\"Prepare an expected anonymous log with (bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData.). Call this function, then emit an anonymous event, then call a function. Internally after the call, we check if logs were emitted in the expected order with the expected topics and data (as specified by the booleans).\"},\"expectEmitAnonymous(bool,bool,bool,bool,bool,address)\":{\"notice\":\"Same as the previous method, but also checks supplied address against emitting contract.\"},\"expectPartialRevert(bytes4)\":{\"notice\":\"Expects an error on next call that starts with the revert data.\"},\"expectPartialRevert(bytes4,address)\":{\"notice\":\"Expects an error on next call to reverter address, that starts with the revert data.\"},\"expectRevert()\":{\"notice\":\"Expects an error on next call with any revert data.\"},\"expectRevert(address)\":{\"notice\":\"Expects an error with any revert data on next call to reverter address.\"},\"expectRevert(address,uint64)\":{\"notice\":\"Expects a `count` number of reverts from the upcoming calls from the reverter address.\"},\"expectRevert(bytes)\":{\"notice\":\"Expects an error on next call that exactly matches the revert data.\"},\"expectRevert(bytes,address)\":{\"notice\":\"Expects an error from reverter address on next call, that exactly matches the revert data.\"},\"expectRevert(bytes,address,uint64)\":{\"notice\":\"Expects a `count` number of reverts from the upcoming calls from the reverter address that exactly match the revert data.\"},\"expectRevert(bytes,uint64)\":{\"notice\":\"Expects a `count` number of reverts from the upcoming calls that exactly match the revert data.\"},\"expectRevert(bytes4)\":{\"notice\":\"Expects an error on next call that exactly matches the revert data.\"},\"expectRevert(bytes4,address)\":{\"notice\":\"Expects an error from reverter address on next call, with any revert data.\"},\"expectRevert(bytes4,address,uint64)\":{\"notice\":\"Expects a `count` number of reverts from the upcoming calls from the reverter address that match the revert data.\"},\"expectRevert(bytes4,uint64)\":{\"notice\":\"Expects a `count` number of reverts from the upcoming calls that match the revert data.\"},\"expectRevert(uint64)\":{\"notice\":\"Expects a `count` number of reverts from the upcoming calls with any revert data or reverter.\"},\"expectSafeMemory(uint64,uint64)\":{\"notice\":\"Only allows memory writes to offsets [0x00, 0x60) \\u222a [min, max) in the current subcontext. If any other memory is written to, the test will fail. Can be called multiple times to add more ranges to the set.\"},\"expectSafeMemoryCall(uint64,uint64)\":{\"notice\":\"Only allows memory writes to offsets [0x00, 0x60) \\u222a [min, max) in the next created subcontext. If any other memory is written to, the test will fail. Can be called multiple times to add more ranges to the set.\"},\"fee(uint256)\":{\"notice\":\"Sets `block.basefee`.\"},\"ffi(string[])\":{\"notice\":\"Performs a foreign function call via the terminal.\"},\"foundryVersionAtLeast(string)\":{\"notice\":\"Returns true if the current Foundry version is greater than or equal to the given version. The given version string must be in the format `major.minor.patch`. This is equivalent to `foundryVersionCmp(version) >= 0`.\"},\"foundryVersionCmp(string)\":{\"notice\":\"Compares the current Foundry version with the given version string. The given version string must be in the format `major.minor.patch`. Returns: -1 if current Foundry version is less than the given version 0 if current Foundry version equals the given version 1 if current Foundry version is greater than the given version This result can then be used with a comparison operator against `0`. For example, to check if the current Foundry version is greater than or equal to `1.0.0`: `if (foundryVersionCmp(\\\"1.0.0\\\") >= 0) { ... }`\"},\"fsMetadata(string)\":{\"notice\":\"Given a path, query the file system to get information about a file, directory, etc.\"},\"getArtifactPathByCode(bytes)\":{\"notice\":\"Gets the artifact path from code (aka. creation code).\"},\"getArtifactPathByDeployedCode(bytes)\":{\"notice\":\"Gets the artifact path from deployed code (aka. runtime code).\"},\"getBlobBaseFee()\":{\"notice\":\"Gets the current `block.blobbasefee`. You should use this instead of `block.blobbasefee` if you use `vm.blobBaseFee`, as `block.blobbasefee` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180\"},\"getBlobhashes()\":{\"notice\":\"Gets the blockhashes from the current transaction. Not available on EVM versions before Cancun. If used on unsupported EVM versions it will revert.\"},\"getBlockNumber()\":{\"notice\":\"Gets the current `block.number`. You should use this instead of `block.number` if you use `vm.roll`, as `block.number` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180\"},\"getBlockTimestamp()\":{\"notice\":\"Gets the current `block.timestamp`. You should use this instead of `block.timestamp` if you use `vm.warp`, as `block.timestamp` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180\"},\"getBroadcast(string,uint64,uint8)\":{\"notice\":\"Returns the most recent broadcast for the given contract on `chainId` matching `txType`. For example: The most recent deployment can be fetched by passing `txType` as `CREATE` or `CREATE2`. The most recent call can be fetched by passing `txType` as `CALL`.\"},\"getBroadcasts(string,uint64)\":{\"notice\":\"Returns all broadcasts for the given contract on `chainId`. Sorted such that the most recent broadcast is the first element, and the oldest is the last. i.e descending order of BroadcastTxSummary.blockNumber.\"},\"getBroadcasts(string,uint64,uint8)\":{\"notice\":\"Returns all broadcasts for the given contract on `chainId` with the specified `txType`. Sorted such that the most recent broadcast is the first element, and the oldest is the last. i.e descending order of BroadcastTxSummary.blockNumber.\"},\"getChain(string)\":{\"notice\":\"Returns a Chain struct for specific alias\"},\"getChain(uint256)\":{\"notice\":\"Returns a Chain struct for specific chainId\"},\"getChainId()\":{\"notice\":\"Gets the current `block.chainid` of the currently selected environment. You should use this instead of `block.chainid` if you use `vm.selectFork` or `vm.createSelectFork`, as `block.chainid` could be assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180\"},\"getCode(string)\":{\"notice\":\"Gets the creation bytecode from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional.\"},\"getDeployedCode(string)\":{\"notice\":\"Gets the deployed bytecode from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional.\"},\"getDeployment(string)\":{\"notice\":\"Returns the most recent deployment for the current `chainId`.\"},\"getDeployment(string,uint64)\":{\"notice\":\"Returns the most recent deployment for the given contract on `chainId`\"},\"getDeployments(string,uint64)\":{\"notice\":\"Returns all deployments for the given contract on `chainId` Sorted in descending order of deployment time i.e descending order of BroadcastTxSummary.blockNumber. The most recent deployment is the first element, and the oldest is the last.\"},\"getFoundryVersion()\":{\"notice\":\"Returns the Foundry version. Format: -+.. Sample output: 0.3.0-nightly+3cb96bde9b.1737036656.debug Note: Build timestamps may vary slightly across platforms due to separate CI jobs. For reliable version comparisons, use UNIX format (e.g., >= 1700000000) to compare timestamps while ignoring minor time differences.\"},\"getLabel(address)\":{\"notice\":\"Gets the label for the specified address.\"},\"getMappingKeyAndParentOf(address,bytes32)\":{\"notice\":\"Gets the map key and parent of a mapping at a given slot, for a given address.\"},\"getMappingLength(address,bytes32)\":{\"notice\":\"Gets the number of elements in the mapping at the given slot, for a given address.\"},\"getMappingSlotAt(address,bytes32,uint256)\":{\"notice\":\"Gets the elements at index idx of the mapping at the given slot, for a given address. The index must be less than the length of the mapping (i.e. the number of keys in the mapping).\"},\"getNonce((address,uint256,uint256,uint256))\":{\"notice\":\"Get the nonce of a `Wallet`.\"},\"getNonce(address)\":{\"notice\":\"Gets the nonce of an account.\"},\"getRawBlockHeader(uint256)\":{\"notice\":\"Gets the RLP encoded block header for a given block number. Returns the block header in the same format as `cast block --raw`.\"},\"getRecordedLogs()\":{\"notice\":\"Gets all the recorded logs.\"},\"getStateDiff()\":{\"notice\":\"Returns state diffs from current `vm.startStateDiffRecording` session.\"},\"getStateDiffJson()\":{\"notice\":\"Returns state diffs from current `vm.startStateDiffRecording` session, in json format.\"},\"getStorageAccesses()\":{\"notice\":\"Returns an array of `StorageAccess` from current `vm.stateStateDiffRecording` session\"},\"getWallets()\":{\"notice\":\"Returns addresses of available unlocked wallets in the script environment.\"},\"indexOf(string,string)\":{\"notice\":\"Returns the index of the first occurrence of a `key` in an `input` string. Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `key` is not found. Returns 0 in case of an empty `key`.\"},\"interceptInitcode()\":{\"notice\":\"Causes the next contract creation (via new) to fail and return its initcode in the returndata buffer. This allows type-safe access to the initcode payload that would be used for contract creation. Example usage: vm.interceptInitcode(); bytes memory initcode; try new MyContract(param1, param2) { assert(false); } catch (bytes memory interceptedInitcode) { initcode = interceptedInitcode; }\"},\"isContext(uint8)\":{\"notice\":\"Returns true if `forge` command was executed in given context.\"},\"isDir(string)\":{\"notice\":\"Returns true if the path exists on disk and is pointing at a directory, else returns false.\"},\"isFile(string)\":{\"notice\":\"Returns true if the path exists on disk and is pointing at a regular file, else returns false.\"},\"isPersistent(address)\":{\"notice\":\"Returns true if the account is marked as persistent.\"},\"keyExists(string,string)\":{\"notice\":\"Checks if `key` exists in a JSON object `keyExists` is being deprecated in favor of `keyExistsJson`. It will be removed in future versions.\"},\"keyExistsJson(string,string)\":{\"notice\":\"Checks if `key` exists in a JSON object.\"},\"keyExistsToml(string,string)\":{\"notice\":\"Checks if `key` exists in a TOML table.\"},\"label(address,string)\":{\"notice\":\"Labels an address in call traces.\"},\"lastCallGas()\":{\"notice\":\"Gets the gas used in the last call from the callee perspective.\"},\"load(address,bytes32)\":{\"notice\":\"Loads a storage slot from an address.\"},\"loadAllocs(string)\":{\"notice\":\"Load a genesis JSON file's `allocs` into the in-memory EVM state.\"},\"makePersistent(address)\":{\"notice\":\"Marks that the account(s) should use persistent storage across fork swaps in a multifork setup Meaning, changes made to the state of this account will be kept when switching forks.\"},\"makePersistent(address,address)\":{\"notice\":\"See `makePersistent(address)`.\"},\"makePersistent(address,address,address)\":{\"notice\":\"See `makePersistent(address)`.\"},\"makePersistent(address[])\":{\"notice\":\"See `makePersistent(address)`.\"},\"mockCall(address,bytes,bytes)\":{\"notice\":\"Mocks a call to an address, returning specified data. Calldata can either be strict or a partial match, e.g. if you only pass a Solidity selector to the expected calldata, then the entire Solidity function will be mocked.\"},\"mockCall(address,bytes4,bytes)\":{\"notice\":\"Mocks a call to an address, returning specified data. Calldata can either be strict or a partial match, e.g. if you only pass a Solidity selector to the expected calldata, then the entire Solidity function will be mocked. Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`.\"},\"mockCall(address,uint256,bytes,bytes)\":{\"notice\":\"Mocks a call to an address with a specific `msg.value`, returning specified data. Calldata match takes precedence over `msg.value` in case of ambiguity.\"},\"mockCall(address,uint256,bytes4,bytes)\":{\"notice\":\"Mocks a call to an address with a specific `msg.value`, returning specified data. Calldata match takes precedence over `msg.value` in case of ambiguity. Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`.\"},\"mockCallRevert(address,bytes,bytes)\":{\"notice\":\"Reverts a call to an address with specified revert data.\"},\"mockCallRevert(address,bytes4,bytes)\":{\"notice\":\"Reverts a call to an address with specified revert data. Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`.\"},\"mockCallRevert(address,uint256,bytes,bytes)\":{\"notice\":\"Reverts a call to an address with a specific `msg.value`, with specified revert data.\"},\"mockCallRevert(address,uint256,bytes4,bytes)\":{\"notice\":\"Reverts a call to an address with a specific `msg.value`, with specified revert data. Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`.\"},\"mockCalls(address,bytes,bytes[])\":{\"notice\":\"Mocks multiple calls to an address, returning specified data for each call.\"},\"mockCalls(address,uint256,bytes,bytes[])\":{\"notice\":\"Mocks multiple calls to an address with a specific `msg.value`, returning specified data for each call.\"},\"mockFunction(address,address,bytes)\":{\"notice\":\"Whenever a call is made to `callee` with calldata `data`, this cheatcode instead calls `target` with the same calldata. This functionality is similar to a delegate call made to `target` contract from `callee`. Can be used to substitute a call to a function with another implementation that captures the primary logic of the original function but is easier to reason about. If calldata is not a strict match then partial match by selector is attempted.\"},\"noAccessList()\":{\"notice\":\"Utility cheatcode to remove any EIP-2930 access list set by `accessList` cheatcode.\"},\"parseAddress(string)\":{\"notice\":\"Parses the given `string` into an `address`.\"},\"parseBool(string)\":{\"notice\":\"Parses the given `string` into a `bool`.\"},\"parseBytes(string)\":{\"notice\":\"Parses the given `string` into `bytes`.\"},\"parseBytes32(string)\":{\"notice\":\"Parses the given `string` into a `bytes32`.\"},\"parseInt(string)\":{\"notice\":\"Parses the given `string` into a `int256`.\"},\"parseJson(string)\":{\"notice\":\"ABI-encodes a JSON object.\"},\"parseJson(string,string)\":{\"notice\":\"ABI-encodes a JSON object at `key`.\"},\"parseJsonAddress(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `address`.\"},\"parseJsonAddressArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `address[]`.\"},\"parseJsonBool(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bool`.\"},\"parseJsonBoolArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bool[]`.\"},\"parseJsonBytes(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bytes`.\"},\"parseJsonBytes32(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bytes32`.\"},\"parseJsonBytes32Array(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bytes32[]`.\"},\"parseJsonBytesArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bytes[]`.\"},\"parseJsonInt(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `int256`.\"},\"parseJsonIntArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `int256[]`.\"},\"parseJsonKeys(string,string)\":{\"notice\":\"Returns an array of all the keys in a JSON object.\"},\"parseJsonString(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `string`.\"},\"parseJsonStringArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `string[]`.\"},\"parseJsonType(string,string)\":{\"notice\":\"Parses a string of JSON data and coerces it to type corresponding to `typeDescription`.\"},\"parseJsonType(string,string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to type corresponding to `typeDescription`.\"},\"parseJsonTypeArray(string,string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to type array corresponding to `typeDescription`.\"},\"parseJsonUint(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `uint256`.\"},\"parseJsonUintArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `uint256[]`.\"},\"parseToml(string)\":{\"notice\":\"ABI-encodes a TOML table.\"},\"parseToml(string,string)\":{\"notice\":\"ABI-encodes a TOML table at `key`.\"},\"parseTomlAddress(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `address`.\"},\"parseTomlAddressArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `address[]`.\"},\"parseTomlBool(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bool`.\"},\"parseTomlBoolArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bool[]`.\"},\"parseTomlBytes(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bytes`.\"},\"parseTomlBytes32(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bytes32`.\"},\"parseTomlBytes32Array(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bytes32[]`.\"},\"parseTomlBytesArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bytes[]`.\"},\"parseTomlInt(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `int256`.\"},\"parseTomlIntArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `int256[]`.\"},\"parseTomlKeys(string,string)\":{\"notice\":\"Returns an array of all the keys in a TOML table.\"},\"parseTomlString(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `string`.\"},\"parseTomlStringArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `string[]`.\"},\"parseTomlType(string,string)\":{\"notice\":\"Parses a string of TOML data and coerces it to type corresponding to `typeDescription`.\"},\"parseTomlType(string,string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to type corresponding to `typeDescription`.\"},\"parseTomlTypeArray(string,string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to type array corresponding to `typeDescription`.\"},\"parseTomlUint(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `uint256`.\"},\"parseTomlUintArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `uint256[]`.\"},\"parseUint(string)\":{\"notice\":\"Parses the given `string` into a `uint256`.\"},\"pauseGasMetering()\":{\"notice\":\"Pauses gas metering (i.e. gas usage is not counted). Noop if already paused.\"},\"pauseTracing()\":{\"notice\":\"Pauses collection of call traces. Useful in cases when you want to skip tracing of complex calls which are not useful for debugging.\"},\"prank(address)\":{\"notice\":\"Sets the *next* call's `msg.sender` to be the input address.\"},\"prank(address,address)\":{\"notice\":\"Sets the *next* call's `msg.sender` to be the input address, and the `tx.origin` to be the second input.\"},\"prank(address,address,bool)\":{\"notice\":\"Sets the *next* delegate call's `msg.sender` to be the input address, and the `tx.origin` to be the second input.\"},\"prank(address,bool)\":{\"notice\":\"Sets the *next* delegate call's `msg.sender` to be the input address.\"},\"prevrandao(bytes32)\":{\"notice\":\"Sets `block.prevrandao`. Not available on EVM versions before Paris. Use `difficulty` instead. If used on unsupported EVM versions it will revert.\"},\"prevrandao(uint256)\":{\"notice\":\"Sets `block.prevrandao`. Not available on EVM versions before Paris. Use `difficulty` instead. If used on unsupported EVM versions it will revert.\"},\"projectRoot()\":{\"notice\":\"Get the path of the current project root.\"},\"prompt(string)\":{\"notice\":\"Prompts the user for a string value in the terminal.\"},\"promptAddress(string)\":{\"notice\":\"Prompts the user for an address in the terminal.\"},\"promptSecret(string)\":{\"notice\":\"Prompts the user for a hidden string value in the terminal.\"},\"promptSecretUint(string)\":{\"notice\":\"Prompts the user for hidden uint256 in the terminal (usually pk).\"},\"promptUint(string)\":{\"notice\":\"Prompts the user for uint256 in the terminal.\"},\"publicKeyP256(uint256)\":{\"notice\":\"Derives secp256r1 public key from the provided `privateKey`.\"},\"randomAddress()\":{\"notice\":\"Returns a random `address`.\"},\"randomBool()\":{\"notice\":\"Returns a random `bool`.\"},\"randomBytes(uint256)\":{\"notice\":\"Returns a random byte array value of the given length.\"},\"randomBytes4()\":{\"notice\":\"Returns a random fixed-size byte array of length 4.\"},\"randomBytes8()\":{\"notice\":\"Returns a random fixed-size byte array of length 8.\"},\"randomInt()\":{\"notice\":\"Returns a random `int256` value.\"},\"randomInt(uint256)\":{\"notice\":\"Returns a random `int256` value of given bits.\"},\"randomUint()\":{\"notice\":\"Returns a random uint256 value.\"},\"randomUint(uint256)\":{\"notice\":\"Returns a random `uint256` value of given bits.\"},\"randomUint(uint256,uint256)\":{\"notice\":\"Returns random uint256 value between the provided range (=min..=max).\"},\"readCallers()\":{\"notice\":\"Reads the current `msg.sender` and `tx.origin` from state and reports if there is any active caller modification.\"},\"readDir(string)\":{\"notice\":\"Reads the directory at the given path recursively, up to `maxDepth`. `maxDepth` defaults to 1, meaning only the direct children of the given directory will be returned. Follows symbolic links if `followLinks` is true.\"},\"readDir(string,uint64)\":{\"notice\":\"See `readDir(string)`.\"},\"readDir(string,uint64,bool)\":{\"notice\":\"See `readDir(string)`.\"},\"readFile(string)\":{\"notice\":\"Reads the entire content of file to string. `path` is relative to the project root.\"},\"readFileBinary(string)\":{\"notice\":\"Reads the entire content of file as binary. `path` is relative to the project root.\"},\"readLine(string)\":{\"notice\":\"Reads next line of file to string.\"},\"readLink(string)\":{\"notice\":\"Reads a symbolic link, returning the path that the link points to. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` is not a symbolic link. - `path` does not exist.\"},\"record()\":{\"notice\":\"Records all storage reads and writes. Use `accesses` to get the recorded data. Subsequent calls to `record` will clear the previous data.\"},\"recordLogs()\":{\"notice\":\"Record all the transaction logs.\"},\"rememberKey(uint256)\":{\"notice\":\"Adds a private key to the local forge wallet and returns the address.\"},\"rememberKeys(string,string,string,uint32)\":{\"notice\":\"Derive a set number of wallets from a mnemonic in the specified language at the derivation path `m/44'/60'/0'/0/{0..count}`. The respective private keys are saved to the local forge wallet for later use and their addresses are returned.\"},\"rememberKeys(string,string,uint32)\":{\"notice\":\"Derive a set number of wallets from a mnemonic at the derivation path `m/44'/60'/0'/0/{0..count}`. The respective private keys are saved to the local forge wallet for later use and their addresses are returned.\"},\"removeDir(string,bool)\":{\"notice\":\"Removes a directory at the provided path. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` doesn't exist. - `path` isn't a directory. - User lacks permissions to modify `path`. - The directory is not empty and `recursive` is false. `path` is relative to the project root.\"},\"removeFile(string)\":{\"notice\":\"Removes a file from the filesystem. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` points to a directory. - The file doesn't exist. - The user lacks permissions to remove the file. `path` is relative to the project root.\"},\"replace(string,string,string)\":{\"notice\":\"Replaces occurrences of `from` in the given `string` with `to`.\"},\"resetGasMetering()\":{\"notice\":\"Reset gas metering (i.e. gas usage is set to gas limit).\"},\"resetNonce(address)\":{\"notice\":\"Resets the nonce of an account to 0 for EOAs and 1 for contract accounts.\"},\"resolveEnv(string)\":{\"notice\":\"Resolves the env variable placeholders of a given input string.\"},\"resumeGasMetering()\":{\"notice\":\"Resumes gas metering (i.e. gas usage is counted again). Noop if already on.\"},\"resumeTracing()\":{\"notice\":\"Unpauses collection of call traces.\"},\"revertTo(uint256)\":{\"notice\":\"`revertTo` is being deprecated in favor of `revertToState`. It will be removed in future versions.\"},\"revertToAndDelete(uint256)\":{\"notice\":\"`revertToAndDelete` is being deprecated in favor of `revertToStateAndDelete`. It will be removed in future versions.\"},\"revertToState(uint256)\":{\"notice\":\"Revert the state of the EVM to a previous snapshot Takes the snapshot ID to revert to. Returns `true` if the snapshot was successfully reverted. Returns `false` if the snapshot does not exist. **Note:** This does not automatically delete the snapshot. To delete the snapshot use `deleteStateSnapshot`.\"},\"revertToStateAndDelete(uint256)\":{\"notice\":\"Revert the state of the EVM to a previous snapshot and automatically deletes the snapshots Takes the snapshot ID to revert to. Returns `true` if the snapshot was successfully reverted and deleted. Returns `false` if the snapshot does not exist.\"},\"revokePersistent(address)\":{\"notice\":\"Revokes persistent status from the address, previously added via `makePersistent`.\"},\"revokePersistent(address[])\":{\"notice\":\"See `revokePersistent(address)`.\"},\"roll(uint256)\":{\"notice\":\"Sets `block.height`.\"},\"rollFork(bytes32)\":{\"notice\":\"Updates the currently active fork to given transaction. This will `rollFork` with the number of the block the transaction was mined in and replays all transaction mined before it in the block.\"},\"rollFork(uint256)\":{\"notice\":\"Updates the currently active fork to given block number This is similar to `roll` but for the currently active fork.\"},\"rollFork(uint256,bytes32)\":{\"notice\":\"Updates the given fork to block number of the given transaction and replays all transaction mined before it in the block.\"},\"rollFork(uint256,uint256)\":{\"notice\":\"Updates the given fork to given block number.\"},\"rpc(string,string)\":{\"notice\":\"Performs an Ethereum JSON-RPC request to the current fork URL.\"},\"rpc(string,string,string)\":{\"notice\":\"Performs an Ethereum JSON-RPC request to the given endpoint.\"},\"rpcUrl(string)\":{\"notice\":\"Returns the RPC url for the given alias.\"},\"rpcUrlStructs()\":{\"notice\":\"Returns all rpc urls and their aliases as structs.\"},\"rpcUrls()\":{\"notice\":\"Returns all rpc urls and their aliases `[alias, url][]`.\"},\"selectFork(uint256)\":{\"notice\":\"Takes a fork identifier created by `createFork` and sets the corresponding forked state as active.\"},\"serializeAddress(string,string,address)\":{\"notice\":\"See `serializeJson`.\"},\"serializeAddress(string,string,address[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeBool(string,string,bool)\":{\"notice\":\"See `serializeJson`.\"},\"serializeBool(string,string,bool[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeBytes(string,string,bytes)\":{\"notice\":\"See `serializeJson`.\"},\"serializeBytes(string,string,bytes[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeBytes32(string,string,bytes32)\":{\"notice\":\"See `serializeJson`.\"},\"serializeBytes32(string,string,bytes32[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeInt(string,string,int256)\":{\"notice\":\"See `serializeJson`.\"},\"serializeInt(string,string,int256[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeJson(string,string)\":{\"notice\":\"Serializes a key and value to a JSON object stored in-memory that can be later written to a file. Returns the stringified version of the specific JSON file up to that moment.\"},\"serializeJsonType(string,bytes)\":{\"notice\":\"See `serializeJson`.\"},\"serializeJsonType(string,string,string,bytes)\":{\"notice\":\"See `serializeJson`.\"},\"serializeString(string,string,string)\":{\"notice\":\"See `serializeJson`.\"},\"serializeString(string,string,string[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeUint(string,string,uint256)\":{\"notice\":\"See `serializeJson`.\"},\"serializeUint(string,string,uint256[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeUintToHex(string,string,uint256)\":{\"notice\":\"See `serializeJson`.\"},\"setArbitraryStorage(address)\":{\"notice\":\"Utility cheatcode to set arbitrary storage for given target address.\"},\"setArbitraryStorage(address,bool)\":{\"notice\":\"Utility cheatcode to set arbitrary storage for given target address and overwrite any storage slots that have been previously set.\"},\"setBlockhash(uint256,bytes32)\":{\"notice\":\"Set blockhash for the current block. It only sets the blockhash for blocks where `block.number - 256 <= number < block.number`.\"},\"setEnv(string,string)\":{\"notice\":\"Sets environment variables.\"},\"setNonce(address,uint64)\":{\"notice\":\"Sets the nonce of an account. Must be higher than the current nonce of the account.\"},\"setNonceUnsafe(address,uint64)\":{\"notice\":\"Sets the nonce of an account to an arbitrary value.\"},\"setSeed(uint256)\":{\"notice\":\"Set RNG seed.\"},\"shuffle(uint256[])\":{\"notice\":\"Randomly shuffles an array.\"},\"sign((address,uint256,uint256,uint256),bytes32)\":{\"notice\":\"Signs data with a `Wallet`.\"},\"sign(address,bytes32)\":{\"notice\":\"Signs `digest` with signer provided to script using the secp256k1 curve. Raises error if none of the signers passed into the script have provided address.\"},\"sign(bytes32)\":{\"notice\":\"Signs `digest` with signer provided to script using the secp256k1 curve. If `--sender` is provided, the signer with provided address is used, otherwise, if exactly one signer is provided to the script, that signer is used. Raises error if signer passed through `--sender` does not match any unlocked signers or if `--sender` is not provided and not exactly one signer is passed to the script.\"},\"sign(uint256,bytes32)\":{\"notice\":\"Signs `digest` with `privateKey` using the secp256k1 curve.\"},\"signAndAttachDelegation(address,uint256)\":{\"notice\":\"Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction\"},\"signAndAttachDelegation(address,uint256,bool)\":{\"notice\":\"Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction, with optional cross-chain validity.\"},\"signAndAttachDelegation(address,uint256,uint64)\":{\"notice\":\"Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction for specific nonce\"},\"signCompact((address,uint256,uint256,uint256),bytes32)\":{\"notice\":\"Signs data with a `Wallet`. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes.\"},\"signCompact(address,bytes32)\":{\"notice\":\"Signs `digest` with signer provided to script using the secp256k1 curve. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes. Raises error if none of the signers passed into the script have provided address.\"},\"signCompact(bytes32)\":{\"notice\":\"Signs `digest` with signer provided to script using the secp256k1 curve. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes. If `--sender` is provided, the signer with provided address is used, otherwise, if exactly one signer is provided to the script, that signer is used. Raises error if signer passed through `--sender` does not match any unlocked signers or if `--sender` is not provided and not exactly one signer is passed to the script.\"},\"signCompact(uint256,bytes32)\":{\"notice\":\"Signs `digest` with `privateKey` using the secp256k1 curve. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes.\"},\"signDelegation(address,uint256)\":{\"notice\":\"Sign an EIP-7702 authorization for delegation\"},\"signDelegation(address,uint256,bool)\":{\"notice\":\"Sign an EIP-7702 authorization for delegation, with optional cross-chain validity.\"},\"signDelegation(address,uint256,uint64)\":{\"notice\":\"Sign an EIP-7702 authorization for delegation for specific nonce\"},\"signP256(uint256,bytes32)\":{\"notice\":\"Signs `digest` with `privateKey` using the secp256r1 curve.\"},\"skip(bool)\":{\"notice\":\"Marks a test as skipped. Must be called at the top level of a test.\"},\"skip(bool,string)\":{\"notice\":\"Marks a test as skipped with a reason. Must be called at the top level of a test.\"},\"sleep(uint256)\":{\"notice\":\"Suspends execution of the main thread for `duration` milliseconds.\"},\"snapshot()\":{\"notice\":\"`snapshot` is being deprecated in favor of `snapshotState`. It will be removed in future versions.\"},\"snapshotGasLastCall(string)\":{\"notice\":\"Snapshot capture the gas usage of the last call by name from the callee perspective.\"},\"snapshotGasLastCall(string,string)\":{\"notice\":\"Snapshot capture the gas usage of the last call by name in a group from the callee perspective.\"},\"snapshotState()\":{\"notice\":\"Snapshot the current state of the evm. Returns the ID of the snapshot that was created. To revert a snapshot use `revertToState`.\"},\"snapshotValue(string,string,uint256)\":{\"notice\":\"Snapshot capture an arbitrary numerical value by name in a group.\"},\"snapshotValue(string,uint256)\":{\"notice\":\"Snapshot capture an arbitrary numerical value by name. The group name is derived from the contract name.\"},\"sort(uint256[])\":{\"notice\":\"Sorts an array in ascending order.\"},\"split(string,string)\":{\"notice\":\"Splits the given `string` into an array of strings divided by the `delimiter`.\"},\"startBroadcast()\":{\"notice\":\"Has all subsequent calls (at this call depth only) create transactions that can later be signed and sent onchain. Broadcasting address is determined by checking the following in order: 1. If `--sender` argument was provided, that address is used. 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used. 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used.\"},\"startBroadcast(address)\":{\"notice\":\"Has all subsequent calls (at this call depth only) create transactions with the address provided that can later be signed and sent onchain.\"},\"startBroadcast(uint256)\":{\"notice\":\"Has all subsequent calls (at this call depth only) create transactions with the private key provided that can later be signed and sent onchain.\"},\"startDebugTraceRecording()\":{\"notice\":\"Records the debug trace during the run.\"},\"startMappingRecording()\":{\"notice\":\"Starts recording all map SSTOREs for later retrieval.\"},\"startPrank(address)\":{\"notice\":\"Sets all subsequent calls' `msg.sender` to be the input address until `stopPrank` is called.\"},\"startPrank(address,address)\":{\"notice\":\"Sets all subsequent calls' `msg.sender` to be the input address until `stopPrank` is called, and the `tx.origin` to be the second input.\"},\"startPrank(address,address,bool)\":{\"notice\":\"Sets all subsequent delegate calls' `msg.sender` to be the input address until `stopPrank` is called, and the `tx.origin` to be the second input.\"},\"startPrank(address,bool)\":{\"notice\":\"Sets all subsequent delegate calls' `msg.sender` to be the input address until `stopPrank` is called.\"},\"startSnapshotGas(string)\":{\"notice\":\"Start a snapshot capture of the current gas usage by name. The group name is derived from the contract name.\"},\"startSnapshotGas(string,string)\":{\"notice\":\"Start a snapshot capture of the current gas usage by name in a group.\"},\"startStateDiffRecording()\":{\"notice\":\"Record all account accesses as part of CREATE, CALL or SELFDESTRUCT opcodes in order, along with the context of the calls\"},\"stopAndReturnDebugTraceRecording()\":{\"notice\":\"Stop debug trace recording and returns the recorded debug trace.\"},\"stopAndReturnStateDiff()\":{\"notice\":\"Returns an ordered array of all account accesses from a `vm.startStateDiffRecording` session.\"},\"stopBroadcast()\":{\"notice\":\"Stops collecting onchain transactions.\"},\"stopExpectSafeMemory()\":{\"notice\":\"Stops all safe memory expectation in the current subcontext.\"},\"stopMappingRecording()\":{\"notice\":\"Stops recording all map SSTOREs for later retrieval and clears the recorded data.\"},\"stopPrank()\":{\"notice\":\"Resets subsequent calls' `msg.sender` to be `address(this)`.\"},\"stopRecord()\":{\"notice\":\"Stops recording storage reads and writes.\"},\"stopSnapshotGas()\":{\"notice\":\"Stop the snapshot capture of the current gas by latest snapshot name, capturing the gas used since the start.\"},\"stopSnapshotGas(string)\":{\"notice\":\"Stop the snapshot capture of the current gas usage by name, capturing the gas used since the start. The group name is derived from the contract name.\"},\"stopSnapshotGas(string,string)\":{\"notice\":\"Stop the snapshot capture of the current gas usage by name in a group, capturing the gas used since the start.\"},\"store(address,bytes32,bytes32)\":{\"notice\":\"Stores a value to an address' storage slot.\"},\"toBase64(bytes)\":{\"notice\":\"Encodes a `bytes` value to a base64 string.\"},\"toBase64(string)\":{\"notice\":\"Encodes a `string` value to a base64 string.\"},\"toBase64URL(bytes)\":{\"notice\":\"Encodes a `bytes` value to a base64url string.\"},\"toBase64URL(string)\":{\"notice\":\"Encodes a `string` value to a base64url string.\"},\"toLowercase(string)\":{\"notice\":\"Converts the given `string` value to Lowercase.\"},\"toString(address)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(bool)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(bytes)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(bytes32)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(int256)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(uint256)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toUppercase(string)\":{\"notice\":\"Converts the given `string` value to Uppercase.\"},\"transact(bytes32)\":{\"notice\":\"Fetches the given transaction from the active fork and executes it on the current state.\"},\"transact(uint256,bytes32)\":{\"notice\":\"Fetches the given transaction from the given fork and executes it on the current state.\"},\"trim(string)\":{\"notice\":\"Trims leading and trailing whitespace from the given `string` value.\"},\"tryFfi(string[])\":{\"notice\":\"Performs a foreign function call via terminal and returns the exit code, stdout, and stderr.\"},\"txGasPrice(uint256)\":{\"notice\":\"Sets `tx.gasprice`.\"},\"unixTime()\":{\"notice\":\"Returns the time since unix epoch in milliseconds.\"},\"warmSlot(address,bytes32)\":{\"notice\":\"Utility cheatcode to mark specific storage slot as warm, simulating a prior read.\"},\"warp(uint256)\":{\"notice\":\"Sets `block.timestamp`.\"},\"writeFile(string,string)\":{\"notice\":\"Writes data to file, creating a file if it does not exist, and entirely replacing its contents if it does. `path` is relative to the project root.\"},\"writeFileBinary(string,bytes)\":{\"notice\":\"Writes binary data to a file, creating a file if it does not exist, and entirely replacing its contents if it does. `path` is relative to the project root.\"},\"writeJson(string,string)\":{\"notice\":\"Write a serialized JSON object to a file. If the file exists, it will be overwritten.\"},\"writeJson(string,string,string)\":{\"notice\":\"Write a serialized JSON object to an **existing** JSON file, replacing a value with key = This is useful to replace a specific value of a JSON file, without having to parse the entire thing. This cheatcode will create new keys if they didn't previously exist.\"},\"writeLine(string,string)\":{\"notice\":\"Writes line to file, creating a file if it does not exist. `path` is relative to the project root.\"},\"writeToml(string,string)\":{\"notice\":\"Takes serialized JSON, converts to TOML and write a serialized TOML to a file.\"},\"writeToml(string,string,string)\":{\"notice\":\"Takes serialized JSON, converts to TOML and write a serialized TOML table to an **existing** TOML file, replacing a value with key = This is useful to replace a specific value of a TOML file, without having to parse the entire thing. This cheatcode will create new keys if they didn't previously exist.\"}},\"notice\":\"The `Vm` interface does allow manipulation of the EVM state. These are all intended to be used in tests, but it is not recommended to use these cheats in scripts.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Vm.sol\":\"Vm\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9\",\"dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"struct VmSafe.AccessListItem[]","name":"access","type":"tuple[]","components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes32[]","name":"storageKeys","type":"bytes32[]"}]}],"stateMutability":"nonpayable","type":"function","name":"accessList"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"stateMutability":"view","type":"function","name":"accesses","outputs":[{"internalType":"bytes32[]","name":"readSlots","type":"bytes32[]"},{"internalType":"bytes32[]","name":"writeSlots","type":"bytes32[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"activeFork","outputs":[{"internalType":"uint256","name":"forkId","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}],"stateMutability":"pure","type":"function","name":"addr","outputs":[{"internalType":"address","name":"keyAddr","type":"address"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"allowCheatcodes"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"maxDelta","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertApproxEqAbs"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"maxDelta","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertApproxEqAbs"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"maxDelta","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertApproxEqAbs"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"maxDelta","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertApproxEqAbs"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"maxDelta","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertApproxEqAbsDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"maxDelta","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertApproxEqAbsDecimal"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"maxDelta","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertApproxEqAbsDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"maxDelta","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertApproxEqAbsDecimal"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"maxPercentDelta","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertApproxEqRel"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"maxPercentDelta","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertApproxEqRel"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"maxPercentDelta","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertApproxEqRel"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"maxPercentDelta","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertApproxEqRel"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"maxPercentDelta","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertApproxEqRelDecimal"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"maxPercentDelta","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertApproxEqRelDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"maxPercentDelta","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertApproxEqRelDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"maxPercentDelta","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertApproxEqRelDecimal"},{"inputs":[{"internalType":"bytes32[]","name":"left","type":"bytes32[]"},{"internalType":"bytes32[]","name":"right","type":"bytes32[]"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"int256[]","name":"left","type":"int256[]"},{"internalType":"int256[]","name":"right","type":"int256[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"address","name":"left","type":"address"},{"internalType":"address","name":"right","type":"address"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"string","name":"left","type":"string"},{"internalType":"string","name":"right","type":"string"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"address[]","name":"left","type":"address[]"},{"internalType":"address[]","name":"right","type":"address[]"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"address[]","name":"left","type":"address[]"},{"internalType":"address[]","name":"right","type":"address[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"bool","name":"left","type":"bool"},{"internalType":"bool","name":"right","type":"bool"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"address","name":"left","type":"address"},{"internalType":"address","name":"right","type":"address"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"uint256[]","name":"left","type":"uint256[]"},{"internalType":"uint256[]","name":"right","type":"uint256[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"bool[]","name":"left","type":"bool[]"},{"internalType":"bool[]","name":"right","type":"bool[]"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"int256[]","name":"left","type":"int256[]"},{"internalType":"int256[]","name":"right","type":"int256[]"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"bytes32","name":"left","type":"bytes32"},{"internalType":"bytes32","name":"right","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"uint256[]","name":"left","type":"uint256[]"},{"internalType":"uint256[]","name":"right","type":"uint256[]"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"bytes","name":"left","type":"bytes"},{"internalType":"bytes","name":"right","type":"bytes"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"bytes32","name":"left","type":"bytes32"},{"internalType":"bytes32","name":"right","type":"bytes32"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"string[]","name":"left","type":"string[]"},{"internalType":"string[]","name":"right","type":"string[]"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"bytes32[]","name":"left","type":"bytes32[]"},{"internalType":"bytes32[]","name":"right","type":"bytes32[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"bytes","name":"left","type":"bytes"},{"internalType":"bytes","name":"right","type":"bytes"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"bool[]","name":"left","type":"bool[]"},{"internalType":"bool[]","name":"right","type":"bool[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"bytes[]","name":"left","type":"bytes[]"},{"internalType":"bytes[]","name":"right","type":"bytes[]"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"string[]","name":"left","type":"string[]"},{"internalType":"string[]","name":"right","type":"string[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"string","name":"left","type":"string"},{"internalType":"string","name":"right","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"bytes[]","name":"left","type":"bytes[]"},{"internalType":"bytes[]","name":"right","type":"bytes[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"bool","name":"left","type":"bool"},{"internalType":"bool","name":"right","type":"bool"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertEqDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertEqDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEqDecimal"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEqDecimal"},{"inputs":[{"internalType":"bool","name":"condition","type":"bool"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertFalse"},{"inputs":[{"internalType":"bool","name":"condition","type":"bool"}],"stateMutability":"pure","type":"function","name":"assertFalse"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"}],"stateMutability":"pure","type":"function","name":"assertGe"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertGe"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertGe"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertGe"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertGeDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertGeDecimal"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertGeDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertGeDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"}],"stateMutability":"pure","type":"function","name":"assertGt"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertGt"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertGt"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertGt"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertGtDecimal"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertGtDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertGtDecimal"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertGtDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertLe"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertLe"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"}],"stateMutability":"pure","type":"function","name":"assertLe"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertLe"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertLeDecimal"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertLeDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertLeDecimal"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertLeDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"}],"stateMutability":"pure","type":"function","name":"assertLt"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertLt"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertLt"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertLt"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertLtDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertLtDecimal"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertLtDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertLtDecimal"},{"inputs":[{"internalType":"bytes32[]","name":"left","type":"bytes32[]"},{"internalType":"bytes32[]","name":"right","type":"bytes32[]"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"int256[]","name":"left","type":"int256[]"},{"internalType":"int256[]","name":"right","type":"int256[]"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"bool","name":"left","type":"bool"},{"internalType":"bool","name":"right","type":"bool"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"bytes[]","name":"left","type":"bytes[]"},{"internalType":"bytes[]","name":"right","type":"bytes[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"bool","name":"left","type":"bool"},{"internalType":"bool","name":"right","type":"bool"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"bool[]","name":"left","type":"bool[]"},{"internalType":"bool[]","name":"right","type":"bool[]"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"bytes","name":"left","type":"bytes"},{"internalType":"bytes","name":"right","type":"bytes"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"address[]","name":"left","type":"address[]"},{"internalType":"address[]","name":"right","type":"address[]"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"uint256[]","name":"left","type":"uint256[]"},{"internalType":"uint256[]","name":"right","type":"uint256[]"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"bool[]","name":"left","type":"bool[]"},{"internalType":"bool[]","name":"right","type":"bool[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"string","name":"left","type":"string"},{"internalType":"string","name":"right","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"address[]","name":"left","type":"address[]"},{"internalType":"address[]","name":"right","type":"address[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"string","name":"left","type":"string"},{"internalType":"string","name":"right","type":"string"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"address","name":"left","type":"address"},{"internalType":"address","name":"right","type":"address"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"bytes32","name":"left","type":"bytes32"},{"internalType":"bytes32","name":"right","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"bytes","name":"left","type":"bytes"},{"internalType":"bytes","name":"right","type":"bytes"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"uint256[]","name":"left","type":"uint256[]"},{"internalType":"uint256[]","name":"right","type":"uint256[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"address","name":"left","type":"address"},{"internalType":"address","name":"right","type":"address"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"bytes32","name":"left","type":"bytes32"},{"internalType":"bytes32","name":"right","type":"bytes32"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"string[]","name":"left","type":"string[]"},{"internalType":"string[]","name":"right","type":"string[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"bytes32[]","name":"left","type":"bytes32[]"},{"internalType":"bytes32[]","name":"right","type":"bytes32[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"string[]","name":"left","type":"string[]"},{"internalType":"string[]","name":"right","type":"string[]"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"int256[]","name":"left","type":"int256[]"},{"internalType":"int256[]","name":"right","type":"int256[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"bytes[]","name":"left","type":"bytes[]"},{"internalType":"bytes[]","name":"right","type":"bytes[]"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertNotEqDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEqDecimal"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertNotEqDecimal"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEqDecimal"},{"inputs":[{"internalType":"bool","name":"condition","type":"bool"}],"stateMutability":"pure","type":"function","name":"assertTrue"},{"inputs":[{"internalType":"bool","name":"condition","type":"bool"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertTrue"},{"inputs":[{"internalType":"bool","name":"condition","type":"bool"}],"stateMutability":"pure","type":"function","name":"assume"},{"inputs":[],"stateMutability":"pure","type":"function","name":"assumeNoRevert"},{"inputs":[{"internalType":"struct VmSafe.PotentialRevert[]","name":"potentialReverts","type":"tuple[]","components":[{"internalType":"address","name":"reverter","type":"address"},{"internalType":"bool","name":"partialMatch","type":"bool"},{"internalType":"bytes","name":"revertData","type":"bytes"}]}],"stateMutability":"pure","type":"function","name":"assumeNoRevert"},{"inputs":[{"internalType":"struct VmSafe.PotentialRevert","name":"potentialRevert","type":"tuple","components":[{"internalType":"address","name":"reverter","type":"address"},{"internalType":"bool","name":"partialMatch","type":"bool"},{"internalType":"bytes","name":"revertData","type":"bytes"}]}],"stateMutability":"pure","type":"function","name":"assumeNoRevert"},{"inputs":[{"internalType":"bytes","name":"blob","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"attachBlob"},{"inputs":[{"internalType":"struct VmSafe.SignedDelegation","name":"signedDelegation","type":"tuple","components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"address","name":"implementation","type":"address"}]}],"stateMutability":"nonpayable","type":"function","name":"attachDelegation"},{"inputs":[{"internalType":"struct VmSafe.SignedDelegation","name":"signedDelegation","type":"tuple","components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"address","name":"implementation","type":"address"}]},{"internalType":"bool","name":"crossChain","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"attachDelegation"},{"inputs":[{"internalType":"uint256","name":"newBlobBaseFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"blobBaseFee"},{"inputs":[{"internalType":"bytes32[]","name":"hashes","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"blobhashes"},{"inputs":[{"internalType":"uint256","name":"current","type":"uint256"},{"internalType":"uint256","name":"min","type":"uint256"},{"internalType":"uint256","name":"max","type":"uint256"}],"stateMutability":"view","type":"function","name":"bound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"int256","name":"current","type":"int256"},{"internalType":"int256","name":"min","type":"int256"},{"internalType":"int256","name":"max","type":"int256"}],"stateMutability":"view","type":"function","name":"bound","outputs":[{"internalType":"int256","name":"","type":"int256"}]},{"inputs":[{"internalType":"string","name":"char","type":"string"}],"stateMutability":"pure","type":"function","name":"breakpoint"},{"inputs":[{"internalType":"string","name":"char","type":"string"},{"internalType":"bool","name":"value","type":"bool"}],"stateMutability":"pure","type":"function","name":"breakpoint"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"broadcast"},{"inputs":[{"internalType":"address","name":"signer","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"broadcast"},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"broadcast"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"broadcastRawTransaction"},{"inputs":[{"internalType":"uint256","name":"newChainId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"chainId"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"clearMockedCalls"},{"inputs":[{"internalType":"address","name":"source","type":"address"},{"internalType":"address","name":"target","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"cloneAccount"},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"closeFile"},{"inputs":[{"internalType":"address","name":"newCoinbase","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"coinbase"},{"inputs":[{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"bytes32","name":"initCodeHash","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"computeCreate2Address","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"bytes32","name":"initCodeHash","type":"bytes32"},{"internalType":"address","name":"deployer","type":"address"}],"stateMutability":"pure","type":"function","name":"computeCreate2Address","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"deployer","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"}],"stateMutability":"pure","type":"function","name":"computeCreateAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"subject","type":"string"},{"internalType":"string","name":"search","type":"string"}],"stateMutability":"pure","type":"function","name":"contains","outputs":[{"internalType":"bool","name":"result","type":"bool"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"cool"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes32","name":"slot","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"coolSlot"},{"inputs":[{"internalType":"string","name":"from","type":"string"},{"internalType":"string","name":"to","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"copyFile","outputs":[{"internalType":"uint64","name":"copied","type":"uint64"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"copyStorage"},{"inputs":[{"internalType":"string","name":"path","type":"string"},{"internalType":"bool","name":"recursive","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"createDir"},{"inputs":[{"internalType":"string","name":"urlOrAlias","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"createFork","outputs":[{"internalType":"uint256","name":"forkId","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"urlOrAlias","type":"string"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"createFork","outputs":[{"internalType":"uint256","name":"forkId","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"urlOrAlias","type":"string"},{"internalType":"bytes32","name":"txHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"createFork","outputs":[{"internalType":"uint256","name":"forkId","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"urlOrAlias","type":"string"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"createSelectFork","outputs":[{"internalType":"uint256","name":"forkId","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"urlOrAlias","type":"string"},{"internalType":"bytes32","name":"txHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"createSelectFork","outputs":[{"internalType":"uint256","name":"forkId","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"urlOrAlias","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"createSelectFork","outputs":[{"internalType":"uint256","name":"forkId","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"walletLabel","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"createWallet","outputs":[{"internalType":"struct VmSafe.Wallet","name":"wallet","type":"tuple","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"publicKeyX","type":"uint256"},{"internalType":"uint256","name":"publicKeyY","type":"uint256"},{"internalType":"uint256","name":"privateKey","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"createWallet","outputs":[{"internalType":"struct VmSafe.Wallet","name":"wallet","type":"tuple","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"publicKeyX","type":"uint256"},{"internalType":"uint256","name":"publicKeyY","type":"uint256"},{"internalType":"uint256","name":"privateKey","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"},{"internalType":"string","name":"walletLabel","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"createWallet","outputs":[{"internalType":"struct VmSafe.Wallet","name":"wallet","type":"tuple","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"publicKeyX","type":"uint256"},{"internalType":"uint256","name":"publicKeyY","type":"uint256"},{"internalType":"uint256","name":"privateKey","type":"uint256"}]}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"newBalance","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deal"},{"inputs":[{"internalType":"uint256","name":"snapshotId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deleteSnapshot","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"deleteSnapshots"},{"inputs":[{"internalType":"uint256","name":"snapshotId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deleteStateSnapshot","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"deleteStateSnapshots"},{"inputs":[{"internalType":"string","name":"artifactPath","type":"string"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"deployCode","outputs":[{"internalType":"address","name":"deployedAddress","type":"address"}]},{"inputs":[{"internalType":"string","name":"artifactPath","type":"string"},{"internalType":"bytes","name":"constructorArgs","type":"bytes"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"deployCode","outputs":[{"internalType":"address","name":"deployedAddress","type":"address"}]},{"inputs":[{"internalType":"string","name":"artifactPath","type":"string"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deployCode","outputs":[{"internalType":"address","name":"deployedAddress","type":"address"}]},{"inputs":[{"internalType":"string","name":"artifactPath","type":"string"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"deployCode","outputs":[{"internalType":"address","name":"deployedAddress","type":"address"}]},{"inputs":[{"internalType":"string","name":"artifactPath","type":"string"},{"internalType":"bytes","name":"constructorArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"deployCode","outputs":[{"internalType":"address","name":"deployedAddress","type":"address"}]},{"inputs":[{"internalType":"string","name":"artifactPath","type":"string"},{"internalType":"bytes","name":"constructorArgs","type":"bytes"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"deployCode","outputs":[{"internalType":"address","name":"deployedAddress","type":"address"}]},{"inputs":[{"internalType":"string","name":"artifactPath","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"deployCode","outputs":[{"internalType":"address","name":"deployedAddress","type":"address"}]},{"inputs":[{"internalType":"string","name":"artifactPath","type":"string"},{"internalType":"bytes","name":"constructorArgs","type":"bytes"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deployCode","outputs":[{"internalType":"address","name":"deployedAddress","type":"address"}]},{"inputs":[{"internalType":"string","name":"mnemonic","type":"string"},{"internalType":"string","name":"derivationPath","type":"string"},{"internalType":"uint32","name":"index","type":"uint32"},{"internalType":"string","name":"language","type":"string"}],"stateMutability":"pure","type":"function","name":"deriveKey","outputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"mnemonic","type":"string"},{"internalType":"uint32","name":"index","type":"uint32"},{"internalType":"string","name":"language","type":"string"}],"stateMutability":"pure","type":"function","name":"deriveKey","outputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"mnemonic","type":"string"},{"internalType":"uint32","name":"index","type":"uint32"}],"stateMutability":"pure","type":"function","name":"deriveKey","outputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"mnemonic","type":"string"},{"internalType":"string","name":"derivationPath","type":"string"},{"internalType":"uint32","name":"index","type":"uint32"}],"stateMutability":"pure","type":"function","name":"deriveKey","outputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"newDifficulty","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"difficulty"},{"inputs":[{"internalType":"string","name":"pathToStateJson","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"dumpState"},{"inputs":[{"internalType":"string","name":"bindingsPath","type":"string"},{"internalType":"string","name":"typeName","type":"string"},{"internalType":"bytes","name":"abiEncodedData","type":"bytes"}],"stateMutability":"pure","type":"function","name":"eip712HashStruct","outputs":[{"internalType":"bytes32","name":"typeHash","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"typeNameOrDefinition","type":"string"},{"internalType":"bytes","name":"abiEncodedData","type":"bytes"}],"stateMutability":"pure","type":"function","name":"eip712HashStruct","outputs":[{"internalType":"bytes32","name":"typeHash","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"bindingsPath","type":"string"},{"internalType":"string","name":"typeName","type":"string"}],"stateMutability":"pure","type":"function","name":"eip712HashType","outputs":[{"internalType":"bytes32","name":"typeHash","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"typeNameOrDefinition","type":"string"}],"stateMutability":"pure","type":"function","name":"eip712HashType","outputs":[{"internalType":"bytes32","name":"typeHash","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"jsonData","type":"string"}],"stateMutability":"pure","type":"function","name":"eip712HashTypedData","outputs":[{"internalType":"bytes32","name":"digest","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"pure","type":"function","name":"ensNamehash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envAddress","outputs":[{"internalType":"address","name":"value","type":"address"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"}],"stateMutability":"view","type":"function","name":"envAddress","outputs":[{"internalType":"address[]","name":"value","type":"address[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envBool","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"}],"stateMutability":"view","type":"function","name":"envBool","outputs":[{"internalType":"bool[]","name":"value","type":"bool[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envBytes","outputs":[{"internalType":"bytes","name":"value","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"}],"stateMutability":"view","type":"function","name":"envBytes","outputs":[{"internalType":"bytes[]","name":"value","type":"bytes[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"}],"stateMutability":"view","type":"function","name":"envBytes32","outputs":[{"internalType":"bytes32[]","name":"value","type":"bytes32[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envBytes32","outputs":[{"internalType":"bytes32","name":"value","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envExists","outputs":[{"internalType":"bool","name":"result","type":"bool"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"}],"stateMutability":"view","type":"function","name":"envInt","outputs":[{"internalType":"int256[]","name":"value","type":"int256[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envInt","outputs":[{"internalType":"int256","name":"value","type":"int256"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"},{"internalType":"bytes32[]","name":"defaultValue","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"bytes32[]","name":"value","type":"bytes32[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"},{"internalType":"int256[]","name":"defaultValue","type":"int256[]"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"int256[]","name":"value","type":"int256[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bool","name":"defaultValue","type":"bool"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"address","name":"defaultValue","type":"address"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"address","name":"value","type":"address"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256","name":"defaultValue","type":"uint256"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"},{"internalType":"bytes[]","name":"defaultValue","type":"bytes[]"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"bytes[]","name":"value","type":"bytes[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"},{"internalType":"uint256[]","name":"defaultValue","type":"uint256[]"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"uint256[]","name":"value","type":"uint256[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"},{"internalType":"string[]","name":"defaultValue","type":"string[]"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"string[]","name":"value","type":"string[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes","name":"defaultValue","type":"bytes"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"bytes","name":"value","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32","name":"defaultValue","type":"bytes32"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"bytes32","name":"value","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"int256","name":"defaultValue","type":"int256"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"int256","name":"value","type":"int256"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"},{"internalType":"address[]","name":"defaultValue","type":"address[]"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"address[]","name":"value","type":"address[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"defaultValue","type":"string"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"string","name":"value","type":"string"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"},{"internalType":"bool[]","name":"defaultValue","type":"bool[]"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"bool[]","name":"value","type":"bool[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"}],"stateMutability":"view","type":"function","name":"envString","outputs":[{"internalType":"string[]","name":"value","type":"string[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envString","outputs":[{"internalType":"string","name":"value","type":"string"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envUint","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"}],"stateMutability":"view","type":"function","name":"envUint","outputs":[{"internalType":"uint256[]","name":"value","type":"uint256[]"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"newRuntimeBytecode","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"etch"},{"inputs":[{"internalType":"uint256","name":"fromBlock","type":"uint256"},{"internalType":"uint256","name":"toBlock","type":"uint256"},{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes32[]","name":"topics","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"eth_getLogs","outputs":[{"internalType":"struct VmSafe.EthGetLogs[]","name":"logs","type":"tuple[]","components":[{"internalType":"address","name":"emitter","type":"address"},{"internalType":"bytes32[]","name":"topics","type":"bytes32[]"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes32","name":"blockHash","type":"bytes32"},{"internalType":"uint64","name":"blockNumber","type":"uint64"},{"internalType":"bytes32","name":"transactionHash","type":"bytes32"},{"internalType":"uint64","name":"transactionIndex","type":"uint64"},{"internalType":"uint256","name":"logIndex","type":"uint256"},{"internalType":"bool","name":"removed","type":"bool"}]}]},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"view","type":"function","name":"exists","outputs":[{"internalType":"bool","name":"result","type":"bool"}]},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"uint256","name":"msgValue","type":"uint256"},{"internalType":"uint64","name":"gas","type":"uint64"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"expectCall"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"uint256","name":"msgValue","type":"uint256"},{"internalType":"uint64","name":"gas","type":"uint64"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint64","name":"count","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"expectCall"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"uint256","name":"msgValue","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint64","name":"count","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"expectCall"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"expectCall"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint64","name":"count","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"expectCall"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"uint256","name":"msgValue","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"expectCall"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"uint256","name":"msgValue","type":"uint256"},{"internalType":"uint64","name":"minGas","type":"uint64"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"expectCallMinGas"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"uint256","name":"msgValue","type":"uint256"},{"internalType":"uint64","name":"minGas","type":"uint64"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint64","name":"count","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"expectCallMinGas"},{"inputs":[{"internalType":"bytes","name":"bytecode","type":"bytes"},{"internalType":"address","name":"deployer","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"expectCreate"},{"inputs":[{"internalType":"bytes","name":"bytecode","type":"bytes"},{"internalType":"address","name":"deployer","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"expectCreate2"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"expectEmit"},{"inputs":[{"internalType":"bool","name":"checkTopic1","type":"bool"},{"internalType":"bool","name":"checkTopic2","type":"bool"},{"internalType":"bool","name":"checkTopic3","type":"bool"},{"internalType":"bool","name":"checkData","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"expectEmit"},{"inputs":[{"internalType":"uint64","name":"count","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"expectEmit"},{"inputs":[{"internalType":"bool","name":"checkTopic1","type":"bool"},{"internalType":"bool","name":"checkTopic2","type":"bool"},{"internalType":"bool","name":"checkTopic3","type":"bool"},{"internalType":"bool","name":"checkData","type":"bool"},{"internalType":"uint64","name":"count","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"expectEmit"},{"inputs":[{"internalType":"bool","name":"checkTopic1","type":"bool"},{"internalType":"bool","name":"checkTopic2","type":"bool"},{"internalType":"bool","name":"checkTopic3","type":"bool"},{"internalType":"bool","name":"checkData","type":"bool"},{"internalType":"address","name":"emitter","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"expectEmit"},{"inputs":[{"internalType":"address","name":"emitter","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"expectEmit"},{"inputs":[{"internalType":"address","name":"emitter","type":"address"},{"internalType":"uint64","name":"count","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"expectEmit"},{"inputs":[{"internalType":"bool","name":"checkTopic1","type":"bool"},{"internalType":"bool","name":"checkTopic2","type":"bool"},{"internalType":"bool","name":"checkTopic3","type":"bool"},{"internalType":"bool","name":"checkData","type":"bool"},{"internalType":"address","name":"emitter","type":"address"},{"internalType":"uint64","name":"count","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"expectEmit"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"expectEmitAnonymous"},{"inputs":[{"internalType":"address","name":"emitter","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"expectEmitAnonymous"},{"inputs":[{"internalType":"bool","name":"checkTopic0","type":"bool"},{"internalType":"bool","name":"checkTopic1","type":"bool"},{"internalType":"bool","name":"checkTopic2","type":"bool"},{"internalType":"bool","name":"checkTopic3","type":"bool"},{"internalType":"bool","name":"checkData","type":"bool"},{"internalType":"address","name":"emitter","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"expectEmitAnonymous"},{"inputs":[{"internalType":"bool","name":"checkTopic0","type":"bool"},{"internalType":"bool","name":"checkTopic1","type":"bool"},{"internalType":"bool","name":"checkTopic2","type":"bool"},{"internalType":"bool","name":"checkTopic3","type":"bool"},{"internalType":"bool","name":"checkData","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"expectEmitAnonymous"},{"inputs":[{"internalType":"bytes4","name":"revertData","type":"bytes4"}],"stateMutability":"nonpayable","type":"function","name":"expectPartialRevert"},{"inputs":[{"internalType":"bytes4","name":"revertData","type":"bytes4"},{"internalType":"address","name":"reverter","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"expectPartialRevert"},{"inputs":[{"internalType":"address","name":"reverter","type":"address"},{"internalType":"uint64","name":"count","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"expectRevert"},{"inputs":[{"internalType":"bytes4","name":"revertData","type":"bytes4"},{"internalType":"address","name":"reverter","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"expectRevert"},{"inputs":[{"internalType":"bytes","name":"revertData","type":"bytes"},{"internalType":"uint64","name":"count","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"expectRevert"},{"inputs":[{"internalType":"uint64","name":"count","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"expectRevert"},{"inputs":[{"internalType":"bytes","name":"revertData","type":"bytes"},{"internalType":"address","name":"reverter","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"expectRevert"},{"inputs":[{"internalType":"bytes4","name":"revertData","type":"bytes4"},{"internalType":"address","name":"reverter","type":"address"},{"internalType":"uint64","name":"count","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"expectRevert"},{"inputs":[{"internalType":"bytes4","name":"revertData","type":"bytes4"}],"stateMutability":"nonpayable","type":"function","name":"expectRevert"},{"inputs":[{"internalType":"bytes","name":"revertData","type":"bytes"},{"internalType":"address","name":"reverter","type":"address"},{"internalType":"uint64","name":"count","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"expectRevert"},{"inputs":[{"internalType":"address","name":"reverter","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"expectRevert"},{"inputs":[{"internalType":"bytes4","name":"revertData","type":"bytes4"},{"internalType":"uint64","name":"count","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"expectRevert"},{"inputs":[{"internalType":"bytes","name":"revertData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"expectRevert"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"expectRevert"},{"inputs":[{"internalType":"uint64","name":"min","type":"uint64"},{"internalType":"uint64","name":"max","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"expectSafeMemory"},{"inputs":[{"internalType":"uint64","name":"min","type":"uint64"},{"internalType":"uint64","name":"max","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"expectSafeMemoryCall"},{"inputs":[{"internalType":"uint256","name":"newBasefee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"fee"},{"inputs":[{"internalType":"string[]","name":"commandInput","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"ffi","outputs":[{"internalType":"bytes","name":"result","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"version","type":"string"}],"stateMutability":"view","type":"function","name":"foundryVersionAtLeast","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"string","name":"version","type":"string"}],"stateMutability":"view","type":"function","name":"foundryVersionCmp","outputs":[{"internalType":"int256","name":"","type":"int256"}]},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"view","type":"function","name":"fsMetadata","outputs":[{"internalType":"struct VmSafe.FsMetadata","name":"metadata","type":"tuple","components":[{"internalType":"bool","name":"isDir","type":"bool"},{"internalType":"bool","name":"isSymlink","type":"bool"},{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"bool","name":"readOnly","type":"bool"},{"internalType":"uint256","name":"modified","type":"uint256"},{"internalType":"uint256","name":"accessed","type":"uint256"},{"internalType":"uint256","name":"created","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes","name":"code","type":"bytes"}],"stateMutability":"view","type":"function","name":"getArtifactPathByCode","outputs":[{"internalType":"string","name":"path","type":"string"}]},{"inputs":[{"internalType":"bytes","name":"deployedCode","type":"bytes"}],"stateMutability":"view","type":"function","name":"getArtifactPathByDeployedCode","outputs":[{"internalType":"string","name":"path","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBlobBaseFee","outputs":[{"internalType":"uint256","name":"blobBaseFee","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBlobhashes","outputs":[{"internalType":"bytes32[]","name":"hashes","type":"bytes32[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBlockNumber","outputs":[{"internalType":"uint256","name":"height","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBlockTimestamp","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"contractName","type":"string"},{"internalType":"uint64","name":"chainId","type":"uint64"},{"internalType":"enum VmSafe.BroadcastTxType","name":"txType","type":"uint8"}],"stateMutability":"view","type":"function","name":"getBroadcast","outputs":[{"internalType":"struct VmSafe.BroadcastTxSummary","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"txHash","type":"bytes32"},{"internalType":"enum VmSafe.BroadcastTxType","name":"txType","type":"uint8"},{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"uint64","name":"blockNumber","type":"uint64"},{"internalType":"bool","name":"success","type":"bool"}]}]},{"inputs":[{"internalType":"string","name":"contractName","type":"string"},{"internalType":"uint64","name":"chainId","type":"uint64"}],"stateMutability":"view","type":"function","name":"getBroadcasts","outputs":[{"internalType":"struct VmSafe.BroadcastTxSummary[]","name":"","type":"tuple[]","components":[{"internalType":"bytes32","name":"txHash","type":"bytes32"},{"internalType":"enum VmSafe.BroadcastTxType","name":"txType","type":"uint8"},{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"uint64","name":"blockNumber","type":"uint64"},{"internalType":"bool","name":"success","type":"bool"}]}]},{"inputs":[{"internalType":"string","name":"contractName","type":"string"},{"internalType":"uint64","name":"chainId","type":"uint64"},{"internalType":"enum VmSafe.BroadcastTxType","name":"txType","type":"uint8"}],"stateMutability":"view","type":"function","name":"getBroadcasts","outputs":[{"internalType":"struct VmSafe.BroadcastTxSummary[]","name":"","type":"tuple[]","components":[{"internalType":"bytes32","name":"txHash","type":"bytes32"},{"internalType":"enum VmSafe.BroadcastTxType","name":"txType","type":"uint8"},{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"uint64","name":"blockNumber","type":"uint64"},{"internalType":"bool","name":"success","type":"bool"}]}]},{"inputs":[{"internalType":"string","name":"chainAlias","type":"string"}],"stateMutability":"view","type":"function","name":"getChain","outputs":[{"internalType":"struct VmSafe.Chain","name":"chain","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"string","name":"chainAlias","type":"string"},{"internalType":"string","name":"rpcUrl","type":"string"}]}]},{"inputs":[{"internalType":"uint256","name":"chainId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getChain","outputs":[{"internalType":"struct VmSafe.Chain","name":"chain","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"string","name":"chainAlias","type":"string"},{"internalType":"string","name":"rpcUrl","type":"string"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getChainId","outputs":[{"internalType":"uint256","name":"blockChainId","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"artifactPath","type":"string"}],"stateMutability":"view","type":"function","name":"getCode","outputs":[{"internalType":"bytes","name":"creationBytecode","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"artifactPath","type":"string"}],"stateMutability":"view","type":"function","name":"getDeployedCode","outputs":[{"internalType":"bytes","name":"runtimeBytecode","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"contractName","type":"string"},{"internalType":"uint64","name":"chainId","type":"uint64"}],"stateMutability":"view","type":"function","name":"getDeployment","outputs":[{"internalType":"address","name":"deployedAddress","type":"address"}]},{"inputs":[{"internalType":"string","name":"contractName","type":"string"}],"stateMutability":"view","type":"function","name":"getDeployment","outputs":[{"internalType":"address","name":"deployedAddress","type":"address"}]},{"inputs":[{"internalType":"string","name":"contractName","type":"string"},{"internalType":"uint64","name":"chainId","type":"uint64"}],"stateMutability":"view","type":"function","name":"getDeployments","outputs":[{"internalType":"address[]","name":"deployedAddresses","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getFoundryVersion","outputs":[{"internalType":"string","name":"version","type":"string"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getLabel","outputs":[{"internalType":"string","name":"currentLabel","type":"string"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes32","name":"elementSlot","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getMappingKeyAndParentOf","outputs":[{"internalType":"bool","name":"found","type":"bool"},{"internalType":"bytes32","name":"key","type":"bytes32"},{"internalType":"bytes32","name":"parent","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes32","name":"mappingSlot","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getMappingLength","outputs":[{"internalType":"uint256","name":"length","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes32","name":"mappingSlot","type":"bytes32"},{"internalType":"uint256","name":"idx","type":"uint256"}],"stateMutability":"view","type":"function","name":"getMappingSlotAt","outputs":[{"internalType":"bytes32","name":"value","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getNonce","outputs":[{"internalType":"uint64","name":"nonce","type":"uint64"}]},{"inputs":[{"internalType":"struct VmSafe.Wallet","name":"wallet","type":"tuple","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"publicKeyX","type":"uint256"},{"internalType":"uint256","name":"publicKeyY","type":"uint256"},{"internalType":"uint256","name":"privateKey","type":"uint256"}]}],"stateMutability":"view","type":"function","name":"getNonce","outputs":[{"internalType":"uint64","name":"nonce","type":"uint64"}]},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"stateMutability":"view","type":"function","name":"getRawBlockHeader","outputs":[{"internalType":"bytes","name":"rlpHeader","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRecordedLogs","outputs":[{"internalType":"struct VmSafe.Log[]","name":"logs","type":"tuple[]","components":[{"internalType":"bytes32[]","name":"topics","type":"bytes32[]"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"address","name":"emitter","type":"address"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStateDiff","outputs":[{"internalType":"string","name":"diff","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStateDiffJson","outputs":[{"internalType":"string","name":"diff","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStorageAccesses","outputs":[{"internalType":"struct VmSafe.StorageAccess[]","name":"storageAccesses","type":"tuple[]","components":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"slot","type":"bytes32"},{"internalType":"bool","name":"isWrite","type":"bool"},{"internalType":"bytes32","name":"previousValue","type":"bytes32"},{"internalType":"bytes32","name":"newValue","type":"bytes32"},{"internalType":"bool","name":"reverted","type":"bool"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getWallets","outputs":[{"internalType":"address[]","name":"wallets","type":"address[]"}]},{"inputs":[{"internalType":"string","name":"input","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"indexOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"interceptInitcode"},{"inputs":[{"internalType":"enum VmSafe.ForgeContext","name":"context","type":"uint8"}],"stateMutability":"view","type":"function","name":"isContext","outputs":[{"internalType":"bool","name":"result","type":"bool"}]},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"view","type":"function","name":"isDir","outputs":[{"internalType":"bool","name":"result","type":"bool"}]},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"view","type":"function","name":"isFile","outputs":[{"internalType":"bool","name":"result","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isPersistent","outputs":[{"internalType":"bool","name":"persistent","type":"bool"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"view","type":"function","name":"keyExists","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"view","type":"function","name":"keyExistsJson","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"view","type":"function","name":"keyExistsToml","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"string","name":"newLabel","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"label"},{"inputs":[],"stateMutability":"view","type":"function","name":"lastCallGas","outputs":[{"internalType":"struct VmSafe.Gas","name":"gas","type":"tuple","components":[{"internalType":"uint64","name":"gasLimit","type":"uint64"},{"internalType":"uint64","name":"gasTotalUsed","type":"uint64"},{"internalType":"uint64","name":"gasMemoryUsed","type":"uint64"},{"internalType":"int64","name":"gasRefunded","type":"int64"},{"internalType":"uint64","name":"gasRemaining","type":"uint64"}]}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes32","name":"slot","type":"bytes32"}],"stateMutability":"view","type":"function","name":"load","outputs":[{"internalType":"bytes32","name":"data","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"pathToAllocsJson","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"loadAllocs"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"makePersistent"},{"inputs":[{"internalType":"address","name":"account0","type":"address"},{"internalType":"address","name":"account1","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"makePersistent"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"makePersistent"},{"inputs":[{"internalType":"address","name":"account0","type":"address"},{"internalType":"address","name":"account1","type":"address"},{"internalType":"address","name":"account2","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"makePersistent"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"bytes4","name":"data","type":"bytes4"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"mockCall"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"uint256","name":"msgValue","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"mockCall"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"mockCall"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"uint256","name":"msgValue","type":"uint256"},{"internalType":"bytes4","name":"data","type":"bytes4"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"mockCall"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"bytes4","name":"data","type":"bytes4"},{"internalType":"bytes","name":"revertData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"mockCallRevert"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"uint256","name":"msgValue","type":"uint256"},{"internalType":"bytes4","name":"data","type":"bytes4"},{"internalType":"bytes","name":"revertData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"mockCallRevert"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"uint256","name":"msgValue","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"revertData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"mockCallRevert"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"revertData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"mockCallRevert"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"uint256","name":"msgValue","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes[]","name":"returnData","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"mockCalls"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes[]","name":"returnData","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"mockCalls"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"mockFunction"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"noAccessList"},{"inputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}],"stateMutability":"pure","type":"function","name":"parseAddress","outputs":[{"internalType":"address","name":"parsedValue","type":"address"}]},{"inputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}],"stateMutability":"pure","type":"function","name":"parseBool","outputs":[{"internalType":"bool","name":"parsedValue","type":"bool"}]},{"inputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}],"stateMutability":"pure","type":"function","name":"parseBytes","outputs":[{"internalType":"bytes","name":"parsedValue","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}],"stateMutability":"pure","type":"function","name":"parseBytes32","outputs":[{"internalType":"bytes32","name":"parsedValue","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}],"stateMutability":"pure","type":"function","name":"parseInt","outputs":[{"internalType":"int256","name":"parsedValue","type":"int256"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJson","outputs":[{"internalType":"bytes","name":"abiEncodedData","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJson","outputs":[{"internalType":"bytes","name":"abiEncodedData","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonAddressArray","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonBool","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonBoolArray","outputs":[{"internalType":"bool[]","name":"","type":"bool[]"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonBytes","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonBytes32","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonBytes32Array","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonBytesArray","outputs":[{"internalType":"bytes[]","name":"","type":"bytes[]"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonInt","outputs":[{"internalType":"int256","name":"","type":"int256"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonIntArray","outputs":[{"internalType":"int256[]","name":"","type":"int256[]"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonKeys","outputs":[{"internalType":"string[]","name":"keys","type":"string[]"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonString","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonStringArray","outputs":[{"internalType":"string[]","name":"","type":"string[]"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"typeDescription","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonType","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"},{"internalType":"string","name":"typeDescription","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonType","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"},{"internalType":"string","name":"typeDescription","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonTypeArray","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonUint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonUintArray","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseToml","outputs":[{"internalType":"bytes","name":"abiEncodedData","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"}],"stateMutability":"pure","type":"function","name":"parseToml","outputs":[{"internalType":"bytes","name":"abiEncodedData","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlAddressArray","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlBool","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlBoolArray","outputs":[{"internalType":"bool[]","name":"","type":"bool[]"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlBytes","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlBytes32","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlBytes32Array","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlBytesArray","outputs":[{"internalType":"bytes[]","name":"","type":"bytes[]"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlInt","outputs":[{"internalType":"int256","name":"","type":"int256"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlIntArray","outputs":[{"internalType":"int256[]","name":"","type":"int256[]"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlKeys","outputs":[{"internalType":"string[]","name":"keys","type":"string[]"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlString","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlStringArray","outputs":[{"internalType":"string[]","name":"","type":"string[]"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"typeDescription","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlType","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"},{"internalType":"string","name":"typeDescription","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlType","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"},{"internalType":"string","name":"typeDescription","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlTypeArray","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlUint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlUintArray","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}]},{"inputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}],"stateMutability":"pure","type":"function","name":"parseUint","outputs":[{"internalType":"uint256","name":"parsedValue","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pauseGasMetering"},{"inputs":[],"stateMutability":"view","type":"function","name":"pauseTracing"},{"inputs":[{"internalType":"address","name":"msgSender","type":"address"},{"internalType":"address","name":"txOrigin","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"prank"},{"inputs":[{"internalType":"address","name":"msgSender","type":"address"},{"internalType":"address","name":"txOrigin","type":"address"},{"internalType":"bool","name":"delegateCall","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"prank"},{"inputs":[{"internalType":"address","name":"msgSender","type":"address"},{"internalType":"bool","name":"delegateCall","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"prank"},{"inputs":[{"internalType":"address","name":"msgSender","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"prank"},{"inputs":[{"internalType":"bytes32","name":"newPrevrandao","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"prevrandao"},{"inputs":[{"internalType":"uint256","name":"newPrevrandao","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"prevrandao"},{"inputs":[],"stateMutability":"view","type":"function","name":"projectRoot","outputs":[{"internalType":"string","name":"path","type":"string"}]},{"inputs":[{"internalType":"string","name":"promptText","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"prompt","outputs":[{"internalType":"string","name":"input","type":"string"}]},{"inputs":[{"internalType":"string","name":"promptText","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"promptAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"promptText","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"promptSecret","outputs":[{"internalType":"string","name":"input","type":"string"}]},{"inputs":[{"internalType":"string","name":"promptText","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"promptSecretUint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"promptText","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"promptUint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}],"stateMutability":"pure","type":"function","name":"publicKeyP256","outputs":[{"internalType":"uint256","name":"publicKeyX","type":"uint256"},{"internalType":"uint256","name":"publicKeyY","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"randomBool","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"len","type":"uint256"}],"stateMutability":"view","type":"function","name":"randomBytes","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"randomBytes4","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"randomBytes8","outputs":[{"internalType":"bytes8","name":"","type":"bytes8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"randomInt","outputs":[{"internalType":"int256","name":"","type":"int256"}]},{"inputs":[{"internalType":"uint256","name":"bits","type":"uint256"}],"stateMutability":"view","type":"function","name":"randomInt","outputs":[{"internalType":"int256","name":"","type":"int256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"randomUint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"bits","type":"uint256"}],"stateMutability":"view","type":"function","name":"randomUint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"min","type":"uint256"},{"internalType":"uint256","name":"max","type":"uint256"}],"stateMutability":"view","type":"function","name":"randomUint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"readCallers","outputs":[{"internalType":"enum VmSafe.CallerMode","name":"callerMode","type":"uint8"},{"internalType":"address","name":"msgSender","type":"address"},{"internalType":"address","name":"txOrigin","type":"address"}]},{"inputs":[{"internalType":"string","name":"path","type":"string"},{"internalType":"uint64","name":"maxDepth","type":"uint64"}],"stateMutability":"view","type":"function","name":"readDir","outputs":[{"internalType":"struct VmSafe.DirEntry[]","name":"entries","type":"tuple[]","components":[{"internalType":"string","name":"errorMessage","type":"string"},{"internalType":"string","name":"path","type":"string"},{"internalType":"uint64","name":"depth","type":"uint64"},{"internalType":"bool","name":"isDir","type":"bool"},{"internalType":"bool","name":"isSymlink","type":"bool"}]}]},{"inputs":[{"internalType":"string","name":"path","type":"string"},{"internalType":"uint64","name":"maxDepth","type":"uint64"},{"internalType":"bool","name":"followLinks","type":"bool"}],"stateMutability":"view","type":"function","name":"readDir","outputs":[{"internalType":"struct VmSafe.DirEntry[]","name":"entries","type":"tuple[]","components":[{"internalType":"string","name":"errorMessage","type":"string"},{"internalType":"string","name":"path","type":"string"},{"internalType":"uint64","name":"depth","type":"uint64"},{"internalType":"bool","name":"isDir","type":"bool"},{"internalType":"bool","name":"isSymlink","type":"bool"}]}]},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"view","type":"function","name":"readDir","outputs":[{"internalType":"struct VmSafe.DirEntry[]","name":"entries","type":"tuple[]","components":[{"internalType":"string","name":"errorMessage","type":"string"},{"internalType":"string","name":"path","type":"string"},{"internalType":"uint64","name":"depth","type":"uint64"},{"internalType":"bool","name":"isDir","type":"bool"},{"internalType":"bool","name":"isSymlink","type":"bool"}]}]},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"view","type":"function","name":"readFile","outputs":[{"internalType":"string","name":"data","type":"string"}]},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"view","type":"function","name":"readFileBinary","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"view","type":"function","name":"readLine","outputs":[{"internalType":"string","name":"line","type":"string"}]},{"inputs":[{"internalType":"string","name":"linkPath","type":"string"}],"stateMutability":"view","type":"function","name":"readLink","outputs":[{"internalType":"string","name":"targetPath","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"record"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recordLogs"},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"rememberKey","outputs":[{"internalType":"address","name":"keyAddr","type":"address"}]},{"inputs":[{"internalType":"string","name":"mnemonic","type":"string"},{"internalType":"string","name":"derivationPath","type":"string"},{"internalType":"uint32","name":"count","type":"uint32"}],"stateMutability":"nonpayable","type":"function","name":"rememberKeys","outputs":[{"internalType":"address[]","name":"keyAddrs","type":"address[]"}]},{"inputs":[{"internalType":"string","name":"mnemonic","type":"string"},{"internalType":"string","name":"derivationPath","type":"string"},{"internalType":"string","name":"language","type":"string"},{"internalType":"uint32","name":"count","type":"uint32"}],"stateMutability":"nonpayable","type":"function","name":"rememberKeys","outputs":[{"internalType":"address[]","name":"keyAddrs","type":"address[]"}]},{"inputs":[{"internalType":"string","name":"path","type":"string"},{"internalType":"bool","name":"recursive","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"removeDir"},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"removeFile"},{"inputs":[{"internalType":"string","name":"input","type":"string"},{"internalType":"string","name":"from","type":"string"},{"internalType":"string","name":"to","type":"string"}],"stateMutability":"pure","type":"function","name":"replace","outputs":[{"internalType":"string","name":"output","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"resetGasMetering"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"resetNonce"},{"inputs":[{"internalType":"string","name":"input","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"resolveEnv","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"resumeGasMetering"},{"inputs":[],"stateMutability":"view","type":"function","name":"resumeTracing"},{"inputs":[{"internalType":"uint256","name":"snapshotId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"revertTo","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"snapshotId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"revertToAndDelete","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"snapshotId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"revertToState","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"snapshotId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"revertToStateAndDelete","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"revokePersistent"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokePersistent"},{"inputs":[{"internalType":"uint256","name":"newHeight","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"roll"},{"inputs":[{"internalType":"bytes32","name":"txHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"rollFork"},{"inputs":[{"internalType":"uint256","name":"forkId","type":"uint256"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"rollFork"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"rollFork"},{"inputs":[{"internalType":"uint256","name":"forkId","type":"uint256"},{"internalType":"bytes32","name":"txHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"rollFork"},{"inputs":[{"internalType":"string","name":"urlOrAlias","type":"string"},{"internalType":"string","name":"method","type":"string"},{"internalType":"string","name":"params","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"rpc","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"method","type":"string"},{"internalType":"string","name":"params","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"rpc","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"rpcAlias","type":"string"}],"stateMutability":"view","type":"function","name":"rpcUrl","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"rpcUrlStructs","outputs":[{"internalType":"struct VmSafe.Rpc[]","name":"urls","type":"tuple[]","components":[{"internalType":"string","name":"key","type":"string"},{"internalType":"string","name":"url","type":"string"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"rpcUrls","outputs":[{"internalType":"string[2][]","name":"urls","type":"string[2][]"}]},{"inputs":[{"internalType":"uint256","name":"forkId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"selectFork"},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"address[]","name":"values","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"serializeAddress","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"address","name":"value","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"serializeAddress","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"bool[]","name":"values","type":"bool[]"}],"stateMutability":"nonpayable","type":"function","name":"serializeBool","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"bool","name":"value","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"serializeBool","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"bytes[]","name":"values","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"serializeBytes","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"bytes","name":"value","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"serializeBytes","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"bytes32[]","name":"values","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"serializeBytes32","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"bytes32","name":"value","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"serializeBytes32","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"int256","name":"value","type":"int256"}],"stateMutability":"nonpayable","type":"function","name":"serializeInt","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"int256[]","name":"values","type":"int256[]"}],"stateMutability":"nonpayable","type":"function","name":"serializeInt","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"value","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"serializeJson","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"typeDescription","type":"string"},{"internalType":"bytes","name":"value","type":"bytes"}],"stateMutability":"pure","type":"function","name":"serializeJsonType","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"string","name":"typeDescription","type":"string"},{"internalType":"bytes","name":"value","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"serializeJsonType","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"string[]","name":"values","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"serializeString","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"string","name":"value","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"serializeString","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"serializeUint","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"uint256[]","name":"values","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"serializeUint","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"serializeUintToHex","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bool","name":"overwrite","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setArbitraryStorage"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setArbitraryStorage"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes32","name":"blockHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setBlockhash"},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"value","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"setEnv"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint64","name":"newNonce","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"setNonce"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint64","name":"newNonce","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"setNonceUnsafe"},{"inputs":[{"internalType":"uint256","name":"seed","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setSeed"},{"inputs":[{"internalType":"uint256[]","name":"array","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"shuffle","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}]},{"inputs":[{"internalType":"bytes32","name":"digest","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"sign","outputs":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"signer","type":"address"},{"internalType":"bytes32","name":"digest","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"sign","outputs":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}]},{"inputs":[{"internalType":"struct VmSafe.Wallet","name":"wallet","type":"tuple","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"publicKeyX","type":"uint256"},{"internalType":"uint256","name":"publicKeyY","type":"uint256"},{"internalType":"uint256","name":"privateKey","type":"uint256"}]},{"internalType":"bytes32","name":"digest","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"sign","outputs":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"},{"internalType":"bytes32","name":"digest","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"sign","outputs":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"implementation","type":"address"},{"internalType":"uint256","name":"privateKey","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"signAndAttachDelegation","outputs":[{"internalType":"struct VmSafe.SignedDelegation","name":"signedDelegation","type":"tuple","components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"address","name":"implementation","type":"address"}]}]},{"inputs":[{"internalType":"address","name":"implementation","type":"address"},{"internalType":"uint256","name":"privateKey","type":"uint256"},{"internalType":"uint64","name":"nonce","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"signAndAttachDelegation","outputs":[{"internalType":"struct VmSafe.SignedDelegation","name":"signedDelegation","type":"tuple","components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"address","name":"implementation","type":"address"}]}]},{"inputs":[{"internalType":"address","name":"implementation","type":"address"},{"internalType":"uint256","name":"privateKey","type":"uint256"},{"internalType":"bool","name":"crossChain","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"signAndAttachDelegation","outputs":[{"internalType":"struct VmSafe.SignedDelegation","name":"signedDelegation","type":"tuple","components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"address","name":"implementation","type":"address"}]}]},{"inputs":[{"internalType":"struct VmSafe.Wallet","name":"wallet","type":"tuple","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"publicKeyX","type":"uint256"},{"internalType":"uint256","name":"publicKeyY","type":"uint256"},{"internalType":"uint256","name":"privateKey","type":"uint256"}]},{"internalType":"bytes32","name":"digest","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"signCompact","outputs":[{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"vs","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"signer","type":"address"},{"internalType":"bytes32","name":"digest","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"signCompact","outputs":[{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"vs","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"digest","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"signCompact","outputs":[{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"vs","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"},{"internalType":"bytes32","name":"digest","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"signCompact","outputs":[{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"vs","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"implementation","type":"address"},{"internalType":"uint256","name":"privateKey","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"signDelegation","outputs":[{"internalType":"struct VmSafe.SignedDelegation","name":"signedDelegation","type":"tuple","components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"address","name":"implementation","type":"address"}]}]},{"inputs":[{"internalType":"address","name":"implementation","type":"address"},{"internalType":"uint256","name":"privateKey","type":"uint256"},{"internalType":"bool","name":"crossChain","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"signDelegation","outputs":[{"internalType":"struct VmSafe.SignedDelegation","name":"signedDelegation","type":"tuple","components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"address","name":"implementation","type":"address"}]}]},{"inputs":[{"internalType":"address","name":"implementation","type":"address"},{"internalType":"uint256","name":"privateKey","type":"uint256"},{"internalType":"uint64","name":"nonce","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"signDelegation","outputs":[{"internalType":"struct VmSafe.SignedDelegation","name":"signedDelegation","type":"tuple","components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"address","name":"implementation","type":"address"}]}]},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"},{"internalType":"bytes32","name":"digest","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"signP256","outputs":[{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}]},{"inputs":[{"internalType":"bool","name":"skipTest","type":"bool"},{"internalType":"string","name":"reason","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"skip"},{"inputs":[{"internalType":"bool","name":"skipTest","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"skip"},{"inputs":[{"internalType":"uint256","name":"duration","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"sleep"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"snapshot","outputs":[{"internalType":"uint256","name":"snapshotId","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"group","type":"string"},{"internalType":"string","name":"name","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"snapshotGasLastCall","outputs":[{"internalType":"uint256","name":"gasUsed","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"snapshotGasLastCall","outputs":[{"internalType":"uint256","name":"gasUsed","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"snapshotState","outputs":[{"internalType":"uint256","name":"snapshotId","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"snapshotValue"},{"inputs":[{"internalType":"string","name":"group","type":"string"},{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"snapshotValue"},{"inputs":[{"internalType":"uint256[]","name":"array","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"sort","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}]},{"inputs":[{"internalType":"string","name":"input","type":"string"},{"internalType":"string","name":"delimiter","type":"string"}],"stateMutability":"pure","type":"function","name":"split","outputs":[{"internalType":"string[]","name":"outputs","type":"string[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"startBroadcast"},{"inputs":[{"internalType":"address","name":"signer","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"startBroadcast"},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"startBroadcast"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"startDebugTraceRecording"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"startMappingRecording"},{"inputs":[{"internalType":"address","name":"msgSender","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"startPrank"},{"inputs":[{"internalType":"address","name":"msgSender","type":"address"},{"internalType":"bool","name":"delegateCall","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"startPrank"},{"inputs":[{"internalType":"address","name":"msgSender","type":"address"},{"internalType":"address","name":"txOrigin","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"startPrank"},{"inputs":[{"internalType":"address","name":"msgSender","type":"address"},{"internalType":"address","name":"txOrigin","type":"address"},{"internalType":"bool","name":"delegateCall","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"startPrank"},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"startSnapshotGas"},{"inputs":[{"internalType":"string","name":"group","type":"string"},{"internalType":"string","name":"name","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"startSnapshotGas"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"startStateDiffRecording"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"stopAndReturnDebugTraceRecording","outputs":[{"internalType":"struct VmSafe.DebugStep[]","name":"step","type":"tuple[]","components":[{"internalType":"uint256[]","name":"stack","type":"uint256[]"},{"internalType":"bytes","name":"memoryInput","type":"bytes"},{"internalType":"uint8","name":"opcode","type":"uint8"},{"internalType":"uint64","name":"depth","type":"uint64"},{"internalType":"bool","name":"isOutOfGas","type":"bool"},{"internalType":"address","name":"contractAddr","type":"address"}]}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"stopAndReturnStateDiff","outputs":[{"internalType":"struct VmSafe.AccountAccess[]","name":"accountAccesses","type":"tuple[]","components":[{"internalType":"struct VmSafe.ChainInfo","name":"chainInfo","type":"tuple","components":[{"internalType":"uint256","name":"forkId","type":"uint256"},{"internalType":"uint256","name":"chainId","type":"uint256"}]},{"internalType":"enum VmSafe.AccountAccessKind","name":"kind","type":"uint8"},{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"accessor","type":"address"},{"internalType":"bool","name":"initialized","type":"bool"},{"internalType":"uint256","name":"oldBalance","type":"uint256"},{"internalType":"uint256","name":"newBalance","type":"uint256"},{"internalType":"bytes","name":"deployedCode","type":"bytes"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bool","name":"reverted","type":"bool"},{"internalType":"struct VmSafe.StorageAccess[]","name":"storageAccesses","type":"tuple[]","components":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"slot","type":"bytes32"},{"internalType":"bool","name":"isWrite","type":"bool"},{"internalType":"bytes32","name":"previousValue","type":"bytes32"},{"internalType":"bytes32","name":"newValue","type":"bytes32"},{"internalType":"bool","name":"reverted","type":"bool"}]},{"internalType":"uint64","name":"depth","type":"uint64"},{"internalType":"uint64","name":"oldNonce","type":"uint64"},{"internalType":"uint64","name":"newNonce","type":"uint64"}]}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"stopBroadcast"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"stopExpectSafeMemory"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"stopMappingRecording"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"stopPrank"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"stopRecord"},{"inputs":[{"internalType":"string","name":"group","type":"string"},{"internalType":"string","name":"name","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"stopSnapshotGas","outputs":[{"internalType":"uint256","name":"gasUsed","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"stopSnapshotGas","outputs":[{"internalType":"uint256","name":"gasUsed","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"stopSnapshotGas","outputs":[{"internalType":"uint256","name":"gasUsed","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes32","name":"slot","type":"bytes32"},{"internalType":"bytes32","name":"value","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"store"},{"inputs":[{"internalType":"string","name":"data","type":"string"}],"stateMutability":"pure","type":"function","name":"toBase64","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"pure","type":"function","name":"toBase64","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"string","name":"data","type":"string"}],"stateMutability":"pure","type":"function","name":"toBase64URL","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"pure","type":"function","name":"toBase64URL","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"string","name":"input","type":"string"}],"stateMutability":"pure","type":"function","name":"toLowercase","outputs":[{"internalType":"string","name":"output","type":"string"}]},{"inputs":[{"internalType":"address","name":"value","type":"address"}],"stateMutability":"pure","type":"function","name":"toString","outputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"pure","type":"function","name":"toString","outputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}]},{"inputs":[{"internalType":"bytes","name":"value","type":"bytes"}],"stateMutability":"pure","type":"function","name":"toString","outputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}]},{"inputs":[{"internalType":"bool","name":"value","type":"bool"}],"stateMutability":"pure","type":"function","name":"toString","outputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}]},{"inputs":[{"internalType":"int256","name":"value","type":"int256"}],"stateMutability":"pure","type":"function","name":"toString","outputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}]},{"inputs":[{"internalType":"bytes32","name":"value","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"toString","outputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}]},{"inputs":[{"internalType":"string","name":"input","type":"string"}],"stateMutability":"pure","type":"function","name":"toUppercase","outputs":[{"internalType":"string","name":"output","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"forkId","type":"uint256"},{"internalType":"bytes32","name":"txHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"transact"},{"inputs":[{"internalType":"bytes32","name":"txHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"transact"},{"inputs":[{"internalType":"string","name":"input","type":"string"}],"stateMutability":"pure","type":"function","name":"trim","outputs":[{"internalType":"string","name":"output","type":"string"}]},{"inputs":[{"internalType":"string[]","name":"commandInput","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"tryFfi","outputs":[{"internalType":"struct VmSafe.FfiResult","name":"result","type":"tuple","components":[{"internalType":"int32","name":"exitCode","type":"int32"},{"internalType":"bytes","name":"stdout","type":"bytes"},{"internalType":"bytes","name":"stderr","type":"bytes"}]}]},{"inputs":[{"internalType":"uint256","name":"newGasPrice","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"txGasPrice"},{"inputs":[],"stateMutability":"view","type":"function","name":"unixTime","outputs":[{"internalType":"uint256","name":"milliseconds","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes32","name":"slot","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"warmSlot"},{"inputs":[{"internalType":"uint256","name":"newTimestamp","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"warp"},{"inputs":[{"internalType":"string","name":"path","type":"string"},{"internalType":"string","name":"data","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"writeFile"},{"inputs":[{"internalType":"string","name":"path","type":"string"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"writeFileBinary"},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"path","type":"string"},{"internalType":"string","name":"valueKey","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"writeJson"},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"path","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"writeJson"},{"inputs":[{"internalType":"string","name":"path","type":"string"},{"internalType":"string","name":"data","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"writeLine"},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"path","type":"string"},{"internalType":"string","name":"valueKey","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"writeToml"},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"path","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"writeToml"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"accessList((address,bytes32[])[])":{"notice":"Utility cheatcode to set an EIP-2930 access list for all subsequent transactions."},"accesses(address)":{"notice":"Gets all accessed reads and write slot from a `vm.record` session, for a given address."},"activeFork()":{"notice":"Returns the identifier of the currently active fork. Reverts if no fork is currently active."},"addr(uint256)":{"notice":"Gets the address for a given private key."},"allowCheatcodes(address)":{"notice":"In forking mode, explicitly grant the given address cheatcode access."},"assertApproxEqAbs(int256,int256,uint256)":{"notice":"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`."},"assertApproxEqAbs(int256,int256,uint256,string)":{"notice":"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Includes error message into revert string on failure."},"assertApproxEqAbs(uint256,uint256,uint256)":{"notice":"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`."},"assertApproxEqAbs(uint256,uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Includes error message into revert string on failure."},"assertApproxEqAbsDecimal(int256,int256,uint256,uint256)":{"notice":"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message."},"assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)":{"notice":"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)":{"notice":"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message."},"assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertApproxEqRel(int256,int256,uint256)":{"notice":"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%"},"assertApproxEqRel(int256,int256,uint256,string)":{"notice":"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Includes error message into revert string on failure."},"assertApproxEqRel(uint256,uint256,uint256)":{"notice":"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%"},"assertApproxEqRel(uint256,uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Includes error message into revert string on failure."},"assertApproxEqRelDecimal(int256,int256,uint256,uint256)":{"notice":"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message."},"assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)":{"notice":"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)":{"notice":"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message."},"assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertEq(address,address)":{"notice":"Asserts that two `address` values are equal."},"assertEq(address,address,string)":{"notice":"Asserts that two `address` values are equal and includes error message into revert string on failure."},"assertEq(address[],address[])":{"notice":"Asserts that two arrays of `address` values are equal."},"assertEq(address[],address[],string)":{"notice":"Asserts that two arrays of `address` values are equal and includes error message into revert string on failure."},"assertEq(bool,bool)":{"notice":"Asserts that two `bool` values are equal."},"assertEq(bool,bool,string)":{"notice":"Asserts that two `bool` values are equal and includes error message into revert string on failure."},"assertEq(bool[],bool[])":{"notice":"Asserts that two arrays of `bool` values are equal."},"assertEq(bool[],bool[],string)":{"notice":"Asserts that two arrays of `bool` values are equal and includes error message into revert string on failure."},"assertEq(bytes,bytes)":{"notice":"Asserts that two `bytes` values are equal."},"assertEq(bytes,bytes,string)":{"notice":"Asserts that two `bytes` values are equal and includes error message into revert string on failure."},"assertEq(bytes32,bytes32)":{"notice":"Asserts that two `bytes32` values are equal."},"assertEq(bytes32,bytes32,string)":{"notice":"Asserts that two `bytes32` values are equal and includes error message into revert string on failure."},"assertEq(bytes32[],bytes32[])":{"notice":"Asserts that two arrays of `bytes32` values are equal."},"assertEq(bytes32[],bytes32[],string)":{"notice":"Asserts that two arrays of `bytes32` values are equal and includes error message into revert string on failure."},"assertEq(bytes[],bytes[])":{"notice":"Asserts that two arrays of `bytes` values are equal."},"assertEq(bytes[],bytes[],string)":{"notice":"Asserts that two arrays of `bytes` values are equal and includes error message into revert string on failure."},"assertEq(int256,int256)":{"notice":"Asserts that two `int256` values are equal."},"assertEq(int256,int256,string)":{"notice":"Asserts that two `int256` values are equal and includes error message into revert string on failure."},"assertEq(int256[],int256[])":{"notice":"Asserts that two arrays of `int256` values are equal."},"assertEq(int256[],int256[],string)":{"notice":"Asserts that two arrays of `int256` values are equal and includes error message into revert string on failure."},"assertEq(string,string)":{"notice":"Asserts that two `string` values are equal."},"assertEq(string,string,string)":{"notice":"Asserts that two `string` values are equal and includes error message into revert string on failure."},"assertEq(string[],string[])":{"notice":"Asserts that two arrays of `string` values are equal."},"assertEq(string[],string[],string)":{"notice":"Asserts that two arrays of `string` values are equal and includes error message into revert string on failure."},"assertEq(uint256,uint256)":{"notice":"Asserts that two `uint256` values are equal."},"assertEq(uint256,uint256,string)":{"notice":"Asserts that two `uint256` values are equal and includes error message into revert string on failure."},"assertEq(uint256[],uint256[])":{"notice":"Asserts that two arrays of `uint256 values are equal."},"assertEq(uint256[],uint256[],string)":{"notice":"Asserts that two arrays of `uint256` values are equal and includes error message into revert string on failure."},"assertEqDecimal(int256,int256,uint256)":{"notice":"Asserts that two `int256` values are equal, formatting them with decimals in failure message."},"assertEqDecimal(int256,int256,uint256,string)":{"notice":"Asserts that two `int256` values are equal, formatting them with decimals in failure message. Includes error message into revert string on failure."},"assertEqDecimal(uint256,uint256,uint256)":{"notice":"Asserts that two `uint256` values are equal, formatting them with decimals in failure message."},"assertEqDecimal(uint256,uint256,uint256,string)":{"notice":"Asserts that two `uint256` values are equal, formatting them with decimals in failure message. Includes error message into revert string on failure."},"assertFalse(bool)":{"notice":"Asserts that the given condition is false."},"assertFalse(bool,string)":{"notice":"Asserts that the given condition is false and includes error message into revert string on failure."},"assertGe(int256,int256)":{"notice":"Compares two `int256` values. Expects first value to be greater than or equal to second."},"assertGe(int256,int256,string)":{"notice":"Compares two `int256` values. Expects first value to be greater than or equal to second. Includes error message into revert string on failure."},"assertGe(uint256,uint256)":{"notice":"Compares two `uint256` values. Expects first value to be greater than or equal to second."},"assertGe(uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects first value to be greater than or equal to second. Includes error message into revert string on failure."},"assertGeDecimal(int256,int256,uint256)":{"notice":"Compares two `int256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message."},"assertGeDecimal(int256,int256,uint256,string)":{"notice":"Compares two `int256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertGeDecimal(uint256,uint256,uint256)":{"notice":"Compares two `uint256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message."},"assertGeDecimal(uint256,uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertGt(int256,int256)":{"notice":"Compares two `int256` values. Expects first value to be greater than second."},"assertGt(int256,int256,string)":{"notice":"Compares two `int256` values. Expects first value to be greater than second. Includes error message into revert string on failure."},"assertGt(uint256,uint256)":{"notice":"Compares two `uint256` values. Expects first value to be greater than second."},"assertGt(uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects first value to be greater than second. Includes error message into revert string on failure."},"assertGtDecimal(int256,int256,uint256)":{"notice":"Compares two `int256` values. Expects first value to be greater than second. Formats values with decimals in failure message."},"assertGtDecimal(int256,int256,uint256,string)":{"notice":"Compares two `int256` values. Expects first value to be greater than second. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertGtDecimal(uint256,uint256,uint256)":{"notice":"Compares two `uint256` values. Expects first value to be greater than second. Formats values with decimals in failure message."},"assertGtDecimal(uint256,uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects first value to be greater than second. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertLe(int256,int256)":{"notice":"Compares two `int256` values. Expects first value to be less than or equal to second."},"assertLe(int256,int256,string)":{"notice":"Compares two `int256` values. Expects first value to be less than or equal to second. Includes error message into revert string on failure."},"assertLe(uint256,uint256)":{"notice":"Compares two `uint256` values. Expects first value to be less than or equal to second."},"assertLe(uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects first value to be less than or equal to second. Includes error message into revert string on failure."},"assertLeDecimal(int256,int256,uint256)":{"notice":"Compares two `int256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message."},"assertLeDecimal(int256,int256,uint256,string)":{"notice":"Compares two `int256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertLeDecimal(uint256,uint256,uint256)":{"notice":"Compares two `uint256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message."},"assertLeDecimal(uint256,uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertLt(int256,int256)":{"notice":"Compares two `int256` values. Expects first value to be less than second."},"assertLt(int256,int256,string)":{"notice":"Compares two `int256` values. Expects first value to be less than second. Includes error message into revert string on failure."},"assertLt(uint256,uint256)":{"notice":"Compares two `uint256` values. Expects first value to be less than second."},"assertLt(uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects first value to be less than second. Includes error message into revert string on failure."},"assertLtDecimal(int256,int256,uint256)":{"notice":"Compares two `int256` values. Expects first value to be less than second. Formats values with decimals in failure message."},"assertLtDecimal(int256,int256,uint256,string)":{"notice":"Compares two `int256` values. Expects first value to be less than second. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertLtDecimal(uint256,uint256,uint256)":{"notice":"Compares two `uint256` values. Expects first value to be less than second. Formats values with decimals in failure message."},"assertLtDecimal(uint256,uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects first value to be less than second. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertNotEq(address,address)":{"notice":"Asserts that two `address` values are not equal."},"assertNotEq(address,address,string)":{"notice":"Asserts that two `address` values are not equal and includes error message into revert string on failure."},"assertNotEq(address[],address[])":{"notice":"Asserts that two arrays of `address` values are not equal."},"assertNotEq(address[],address[],string)":{"notice":"Asserts that two arrays of `address` values are not equal and includes error message into revert string on failure."},"assertNotEq(bool,bool)":{"notice":"Asserts that two `bool` values are not equal."},"assertNotEq(bool,bool,string)":{"notice":"Asserts that two `bool` values are not equal and includes error message into revert string on failure."},"assertNotEq(bool[],bool[])":{"notice":"Asserts that two arrays of `bool` values are not equal."},"assertNotEq(bool[],bool[],string)":{"notice":"Asserts that two arrays of `bool` values are not equal and includes error message into revert string on failure."},"assertNotEq(bytes,bytes)":{"notice":"Asserts that two `bytes` values are not equal."},"assertNotEq(bytes,bytes,string)":{"notice":"Asserts that two `bytes` values are not equal and includes error message into revert string on failure."},"assertNotEq(bytes32,bytes32)":{"notice":"Asserts that two `bytes32` values are not equal."},"assertNotEq(bytes32,bytes32,string)":{"notice":"Asserts that two `bytes32` values are not equal and includes error message into revert string on failure."},"assertNotEq(bytes32[],bytes32[])":{"notice":"Asserts that two arrays of `bytes32` values are not equal."},"assertNotEq(bytes32[],bytes32[],string)":{"notice":"Asserts that two arrays of `bytes32` values are not equal and includes error message into revert string on failure."},"assertNotEq(bytes[],bytes[])":{"notice":"Asserts that two arrays of `bytes` values are not equal."},"assertNotEq(bytes[],bytes[],string)":{"notice":"Asserts that two arrays of `bytes` values are not equal and includes error message into revert string on failure."},"assertNotEq(int256,int256)":{"notice":"Asserts that two `int256` values are not equal."},"assertNotEq(int256,int256,string)":{"notice":"Asserts that two `int256` values are not equal and includes error message into revert string on failure."},"assertNotEq(int256[],int256[])":{"notice":"Asserts that two arrays of `int256` values are not equal."},"assertNotEq(int256[],int256[],string)":{"notice":"Asserts that two arrays of `int256` values are not equal and includes error message into revert string on failure."},"assertNotEq(string,string)":{"notice":"Asserts that two `string` values are not equal."},"assertNotEq(string,string,string)":{"notice":"Asserts that two `string` values are not equal and includes error message into revert string on failure."},"assertNotEq(string[],string[])":{"notice":"Asserts that two arrays of `string` values are not equal."},"assertNotEq(string[],string[],string)":{"notice":"Asserts that two arrays of `string` values are not equal and includes error message into revert string on failure."},"assertNotEq(uint256,uint256)":{"notice":"Asserts that two `uint256` values are not equal."},"assertNotEq(uint256,uint256,string)":{"notice":"Asserts that two `uint256` values are not equal and includes error message into revert string on failure."},"assertNotEq(uint256[],uint256[])":{"notice":"Asserts that two arrays of `uint256` values are not equal."},"assertNotEq(uint256[],uint256[],string)":{"notice":"Asserts that two arrays of `uint256` values are not equal and includes error message into revert string on failure."},"assertNotEqDecimal(int256,int256,uint256)":{"notice":"Asserts that two `int256` values are not equal, formatting them with decimals in failure message."},"assertNotEqDecimal(int256,int256,uint256,string)":{"notice":"Asserts that two `int256` values are not equal, formatting them with decimals in failure message. Includes error message into revert string on failure."},"assertNotEqDecimal(uint256,uint256,uint256)":{"notice":"Asserts that two `uint256` values are not equal, formatting them with decimals in failure message."},"assertNotEqDecimal(uint256,uint256,uint256,string)":{"notice":"Asserts that two `uint256` values are not equal, formatting them with decimals in failure message. Includes error message into revert string on failure."},"assertTrue(bool)":{"notice":"Asserts that the given condition is true."},"assertTrue(bool,string)":{"notice":"Asserts that the given condition is true and includes error message into revert string on failure."},"assume(bool)":{"notice":"If the condition is false, discard this run's fuzz inputs and generate new ones."},"assumeNoRevert((address,bool,bytes))":{"notice":"Discard this run's fuzz inputs and generate new ones if next call reverts with the potential revert parameters."},"assumeNoRevert((address,bool,bytes)[])":{"notice":"Discard this run's fuzz inputs and generate new ones if next call reverts with the any of the potential revert parameters."},"assumeNoRevert()":{"notice":"Discard this run's fuzz inputs and generate new ones if next call reverted."},"attachBlob(bytes)":{"notice":"Attach an EIP-4844 blob to the next call"},"attachDelegation((uint8,bytes32,bytes32,uint64,address))":{"notice":"Designate the next call as an EIP-7702 transaction"},"attachDelegation((uint8,bytes32,bytes32,uint64,address),bool)":{"notice":"Designate the next call as an EIP-7702 transaction, with optional cross-chain validity."},"blobBaseFee(uint256)":{"notice":"Sets `block.blobbasefee`"},"blobhashes(bytes32[])":{"notice":"Sets the blobhashes in the transaction. Not available on EVM versions before Cancun. If used on unsupported EVM versions it will revert."},"bound(int256,int256,int256)":{"notice":"Returns an int256 value bounded in given range and different from the current one."},"bound(uint256,uint256,uint256)":{"notice":"Returns an uint256 value bounded in given range and different from the current one."},"breakpoint(string)":{"notice":"Writes a breakpoint to jump to in the debugger."},"breakpoint(string,bool)":{"notice":"Writes a conditional breakpoint to jump to in the debugger."},"broadcast()":{"notice":"Has the next call (at this call depth only) create transactions that can later be signed and sent onchain. Broadcasting address is determined by checking the following in order: 1. If `--sender` argument was provided, that address is used. 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used. 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used."},"broadcast(address)":{"notice":"Has the next call (at this call depth only) create a transaction with the address provided as the sender that can later be signed and sent onchain."},"broadcast(uint256)":{"notice":"Has the next call (at this call depth only) create a transaction with the private key provided as the sender that can later be signed and sent onchain."},"broadcastRawTransaction(bytes)":{"notice":"Takes a signed transaction and broadcasts it to the network."},"chainId(uint256)":{"notice":"Sets `block.chainid`."},"clearMockedCalls()":{"notice":"Clears all mocked calls."},"cloneAccount(address,address)":{"notice":"Clones a source account code, state, balance and nonce to a target account and updates in-memory EVM state."},"closeFile(string)":{"notice":"Closes file for reading, resetting the offset and allowing to read it from beginning with readLine. `path` is relative to the project root."},"coinbase(address)":{"notice":"Sets `block.coinbase`."},"computeCreate2Address(bytes32,bytes32)":{"notice":"Compute the address of a contract created with CREATE2 using the default CREATE2 deployer."},"computeCreate2Address(bytes32,bytes32,address)":{"notice":"Compute the address of a contract created with CREATE2 using the given CREATE2 deployer."},"computeCreateAddress(address,uint256)":{"notice":"Compute the address a contract will be deployed at for a given deployer address and nonce."},"contains(string,string)":{"notice":"Returns true if `search` is found in `subject`, false otherwise."},"cool(address)":{"notice":"Marks the slots of an account and the account address as cold."},"coolSlot(address,bytes32)":{"notice":"Utility cheatcode to mark specific storage slot as cold, simulating no prior read."},"copyFile(string,string)":{"notice":"Copies the contents of one file to another. This function will **overwrite** the contents of `to`. On success, the total number of bytes copied is returned and it is equal to the length of the `to` file as reported by `metadata`. Both `from` and `to` are relative to the project root."},"copyStorage(address,address)":{"notice":"Utility cheatcode to copy storage of `from` contract to another `to` contract."},"createDir(string,bool)":{"notice":"Creates a new, empty directory at the provided path. This cheatcode will revert in the following situations, but is not limited to just these cases: - User lacks permissions to modify `path`. - A parent of the given path doesn't exist and `recursive` is false. - `path` already exists and `recursive` is false. `path` is relative to the project root."},"createFork(string)":{"notice":"Creates a new fork with the given endpoint and the _latest_ block and returns the identifier of the fork."},"createFork(string,bytes32)":{"notice":"Creates a new fork with the given endpoint and at the block the given transaction was mined in, replays all transaction mined in the block before the transaction, and returns the identifier of the fork."},"createFork(string,uint256)":{"notice":"Creates a new fork with the given endpoint and block and returns the identifier of the fork."},"createSelectFork(string)":{"notice":"Creates and also selects a new fork with the given endpoint and the latest block and returns the identifier of the fork."},"createSelectFork(string,bytes32)":{"notice":"Creates and also selects new fork with the given endpoint and at the block the given transaction was mined in, replays all transaction mined in the block before the transaction, returns the identifier of the fork."},"createSelectFork(string,uint256)":{"notice":"Creates and also selects a new fork with the given endpoint and block and returns the identifier of the fork."},"createWallet(string)":{"notice":"Derives a private key from the name, labels the account with that name, and returns the wallet."},"createWallet(uint256)":{"notice":"Generates a wallet from the private key and returns the wallet."},"createWallet(uint256,string)":{"notice":"Generates a wallet from the private key, labels the account with that name, and returns the wallet."},"deal(address,uint256)":{"notice":"Sets an address' balance."},"deleteSnapshot(uint256)":{"notice":"`deleteSnapshot` is being deprecated in favor of `deleteStateSnapshot`. It will be removed in future versions."},"deleteSnapshots()":{"notice":"`deleteSnapshots` is being deprecated in favor of `deleteStateSnapshots`. It will be removed in future versions."},"deleteStateSnapshot(uint256)":{"notice":"Removes the snapshot with the given ID created by `snapshot`. Takes the snapshot ID to delete. Returns `true` if the snapshot was successfully deleted. Returns `false` if the snapshot does not exist."},"deleteStateSnapshots()":{"notice":"Removes _all_ snapshots previously created by `snapshot`."},"deployCode(string)":{"notice":"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional."},"deployCode(string,bytes)":{"notice":"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments."},"deployCode(string,bytes,bytes32)":{"notice":"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments."},"deployCode(string,bytes,uint256)":{"notice":"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments and `msg.value`."},"deployCode(string,bytes,uint256,bytes32)":{"notice":"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments and `msg.value`."},"deployCode(string,bytes32)":{"notice":"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional."},"deployCode(string,uint256)":{"notice":"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts `msg.value`."},"deployCode(string,uint256,bytes32)":{"notice":"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts `msg.value`."},"deriveKey(string,string,uint32)":{"notice":"Derive a private key from a provided mnemonic string (or mnemonic file path) at `{derivationPath}{index}`."},"deriveKey(string,string,uint32,string)":{"notice":"Derive a private key from a provided mnemonic string (or mnemonic file path) in the specified language at `{derivationPath}{index}`."},"deriveKey(string,uint32)":{"notice":"Derive a private key from a provided mnemonic string (or mnemonic file path) at the derivation path `m/44'/60'/0'/0/{index}`."},"deriveKey(string,uint32,string)":{"notice":"Derive a private key from a provided mnemonic string (or mnemonic file path) in the specified language at the derivation path `m/44'/60'/0'/0/{index}`."},"difficulty(uint256)":{"notice":"Sets `block.difficulty`. Not available on EVM versions from Paris onwards. Use `prevrandao` instead. Reverts if used on unsupported EVM versions."},"dumpState(string)":{"notice":"Dump a genesis JSON file's `allocs` to disk."},"eip712HashStruct(string,bytes)":{"notice":"Generates the struct hash of the canonical EIP-712 type representation and its abi-encoded data. Supports 2 different inputs: 1. Name of the type (i.e. \"PermitSingle\"): * requires previous binding generation with `forge bind-json`. * bindings will be retrieved from the path configured in `foundry.toml`. 2. String representation of the type (i.e. \"Foo(Bar bar) Bar(uint256 baz)\"). * Note: the cheatcode will use the canonical type even if the input is malformated with the wrong order of elements or with extra whitespaces."},"eip712HashStruct(string,string,bytes)":{"notice":"Generates the struct hash of the canonical EIP-712 type representation and its abi-encoded data. Requires previous binding generation with `forge bind-json`. Params: * `bindingsPath`: path where the output of `forge bind-json` is stored. * `typeName`: Name of the type (i.e. \"PermitSingle\"). * `abiEncodedData`: ABI-encoded data for the struct that is being hashed."},"eip712HashType(string)":{"notice":"Generates the hash of the canonical EIP-712 type representation. Supports 2 different inputs: 1. Name of the type (i.e. \"Transaction\"): * requires previous binding generation with `forge bind-json`. * bindings will be retrieved from the path configured in `foundry.toml`. 2. String representation of the type (i.e. \"Foo(Bar bar) Bar(uint256 baz)\"). * Note: the cheatcode will output the canonical type even if the input is malformated with the wrong order of elements or with extra whitespaces."},"eip712HashType(string,string)":{"notice":"Generates the hash of the canonical EIP-712 type representation. Requires previous binding generation with `forge bind-json`. Params: * `bindingsPath`: path where the output of `forge bind-json` is stored. * `typeName`: Name of the type (i.e. \"Transaction\")."},"eip712HashTypedData(string)":{"notice":"Generates a ready-to-sign digest of human-readable typed data following the EIP-712 standard."},"ensNamehash(string)":{"notice":"Returns ENS namehash for provided string."},"envAddress(string)":{"notice":"Gets the environment variable `name` and parses it as `address`. Reverts if the variable was not found or could not be parsed."},"envAddress(string,string)":{"notice":"Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`. Reverts if the variable was not found or could not be parsed."},"envBool(string)":{"notice":"Gets the environment variable `name` and parses it as `bool`. Reverts if the variable was not found or could not be parsed."},"envBool(string,string)":{"notice":"Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`. Reverts if the variable was not found or could not be parsed."},"envBytes(string)":{"notice":"Gets the environment variable `name` and parses it as `bytes`. Reverts if the variable was not found or could not be parsed."},"envBytes(string,string)":{"notice":"Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`. Reverts if the variable was not found or could not be parsed."},"envBytes32(string)":{"notice":"Gets the environment variable `name` and parses it as `bytes32`. Reverts if the variable was not found or could not be parsed."},"envBytes32(string,string)":{"notice":"Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`. Reverts if the variable was not found or could not be parsed."},"envExists(string)":{"notice":"Gets the environment variable `name` and returns true if it exists, else returns false."},"envInt(string)":{"notice":"Gets the environment variable `name` and parses it as `int256`. Reverts if the variable was not found or could not be parsed."},"envInt(string,string)":{"notice":"Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`. Reverts if the variable was not found or could not be parsed."},"envOr(string,address)":{"notice":"Gets the environment variable `name` and parses it as `address`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,bool)":{"notice":"Gets the environment variable `name` and parses it as `bool`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,bytes)":{"notice":"Gets the environment variable `name` and parses it as `bytes`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,bytes32)":{"notice":"Gets the environment variable `name` and parses it as `bytes32`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,int256)":{"notice":"Gets the environment variable `name` and parses it as `int256`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,string)":{"notice":"Gets the environment variable `name` and parses it as `string`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,string,address[])":{"notice":"Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,string,bool[])":{"notice":"Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,string,bytes32[])":{"notice":"Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,string,bytes[])":{"notice":"Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,string,int256[])":{"notice":"Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,string,string[])":{"notice":"Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,string,uint256[])":{"notice":"Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,uint256)":{"notice":"Gets the environment variable `name` and parses it as `uint256`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envString(string)":{"notice":"Gets the environment variable `name` and parses it as `string`. Reverts if the variable was not found or could not be parsed."},"envString(string,string)":{"notice":"Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`. Reverts if the variable was not found or could not be parsed."},"envUint(string)":{"notice":"Gets the environment variable `name` and parses it as `uint256`. Reverts if the variable was not found or could not be parsed."},"envUint(string,string)":{"notice":"Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`. Reverts if the variable was not found or could not be parsed."},"etch(address,bytes)":{"notice":"Sets an address' code."},"eth_getLogs(uint256,uint256,address,bytes32[])":{"notice":"Gets all the logs according to specified filter."},"exists(string)":{"notice":"Returns true if the given path points to an existing entity, else returns false."},"expectCall(address,bytes)":{"notice":"Expects a call to an address with the specified calldata. Calldata can either be a strict or a partial match."},"expectCall(address,bytes,uint64)":{"notice":"Expects given number of calls to an address with the specified calldata."},"expectCall(address,uint256,bytes)":{"notice":"Expects a call to an address with the specified `msg.value` and calldata."},"expectCall(address,uint256,bytes,uint64)":{"notice":"Expects given number of calls to an address with the specified `msg.value` and calldata."},"expectCall(address,uint256,uint64,bytes)":{"notice":"Expect a call to an address with the specified `msg.value`, gas, and calldata."},"expectCall(address,uint256,uint64,bytes,uint64)":{"notice":"Expects given number of calls to an address with the specified `msg.value`, gas, and calldata."},"expectCallMinGas(address,uint256,uint64,bytes)":{"notice":"Expect a call to an address with the specified `msg.value` and calldata, and a *minimum* amount of gas."},"expectCallMinGas(address,uint256,uint64,bytes,uint64)":{"notice":"Expect given number of calls to an address with the specified `msg.value` and calldata, and a *minimum* amount of gas."},"expectCreate(bytes,address)":{"notice":"Expects the deployment of the specified bytecode by the specified address using the CREATE opcode"},"expectCreate2(bytes,address)":{"notice":"Expects the deployment of the specified bytecode by the specified address using the CREATE2 opcode"},"expectEmit()":{"notice":"Prepare an expected log with all topic and data checks enabled. Call this function, then emit an event, then call a function. Internally after the call, we check if logs were emitted in the expected order with the expected topics and data."},"expectEmit(address)":{"notice":"Same as the previous method, but also checks supplied address against emitting contract."},"expectEmit(address,uint64)":{"notice":"Expect a given number of logs from a specific emitter with all topic and data checks enabled."},"expectEmit(bool,bool,bool,bool)":{"notice":"Prepare an expected log with (bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData.). Call this function, then emit an event, then call a function. Internally after the call, we check if logs were emitted in the expected order with the expected topics and data (as specified by the booleans)."},"expectEmit(bool,bool,bool,bool,address)":{"notice":"Same as the previous method, but also checks supplied address against emitting contract."},"expectEmit(bool,bool,bool,bool,address,uint64)":{"notice":"Expect a given number of logs from a specific emitter with the provided topics."},"expectEmit(bool,bool,bool,bool,uint64)":{"notice":"Expect a given number of logs with the provided topics."},"expectEmit(uint64)":{"notice":"Expect a given number of logs with all topic and data checks enabled."},"expectEmitAnonymous()":{"notice":"Prepare an expected anonymous log with all topic and data checks enabled. Call this function, then emit an anonymous event, then call a function. Internally after the call, we check if logs were emitted in the expected order with the expected topics and data."},"expectEmitAnonymous(address)":{"notice":"Same as the previous method, but also checks supplied address against emitting contract."},"expectEmitAnonymous(bool,bool,bool,bool,bool)":{"notice":"Prepare an expected anonymous log with (bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData.). Call this function, then emit an anonymous event, then call a function. Internally after the call, we check if logs were emitted in the expected order with the expected topics and data (as specified by the booleans)."},"expectEmitAnonymous(bool,bool,bool,bool,bool,address)":{"notice":"Same as the previous method, but also checks supplied address against emitting contract."},"expectPartialRevert(bytes4)":{"notice":"Expects an error on next call that starts with the revert data."},"expectPartialRevert(bytes4,address)":{"notice":"Expects an error on next call to reverter address, that starts with the revert data."},"expectRevert()":{"notice":"Expects an error on next call with any revert data."},"expectRevert(address)":{"notice":"Expects an error with any revert data on next call to reverter address."},"expectRevert(address,uint64)":{"notice":"Expects a `count` number of reverts from the upcoming calls from the reverter address."},"expectRevert(bytes)":{"notice":"Expects an error on next call that exactly matches the revert data."},"expectRevert(bytes,address)":{"notice":"Expects an error from reverter address on next call, that exactly matches the revert data."},"expectRevert(bytes,address,uint64)":{"notice":"Expects a `count` number of reverts from the upcoming calls from the reverter address that exactly match the revert data."},"expectRevert(bytes,uint64)":{"notice":"Expects a `count` number of reverts from the upcoming calls that exactly match the revert data."},"expectRevert(bytes4)":{"notice":"Expects an error on next call that exactly matches the revert data."},"expectRevert(bytes4,address)":{"notice":"Expects an error from reverter address on next call, with any revert data."},"expectRevert(bytes4,address,uint64)":{"notice":"Expects a `count` number of reverts from the upcoming calls from the reverter address that match the revert data."},"expectRevert(bytes4,uint64)":{"notice":"Expects a `count` number of reverts from the upcoming calls that match the revert data."},"expectRevert(uint64)":{"notice":"Expects a `count` number of reverts from the upcoming calls with any revert data or reverter."},"expectSafeMemory(uint64,uint64)":{"notice":"Only allows memory writes to offsets [0x00, 0x60) ∪ [min, max) in the current subcontext. If any other memory is written to, the test will fail. Can be called multiple times to add more ranges to the set."},"expectSafeMemoryCall(uint64,uint64)":{"notice":"Only allows memory writes to offsets [0x00, 0x60) ∪ [min, max) in the next created subcontext. If any other memory is written to, the test will fail. Can be called multiple times to add more ranges to the set."},"fee(uint256)":{"notice":"Sets `block.basefee`."},"ffi(string[])":{"notice":"Performs a foreign function call via the terminal."},"foundryVersionAtLeast(string)":{"notice":"Returns true if the current Foundry version is greater than or equal to the given version. The given version string must be in the format `major.minor.patch`. This is equivalent to `foundryVersionCmp(version) >= 0`."},"foundryVersionCmp(string)":{"notice":"Compares the current Foundry version with the given version string. The given version string must be in the format `major.minor.patch`. Returns: -1 if current Foundry version is less than the given version 0 if current Foundry version equals the given version 1 if current Foundry version is greater than the given version This result can then be used with a comparison operator against `0`. For example, to check if the current Foundry version is greater than or equal to `1.0.0`: `if (foundryVersionCmp(\"1.0.0\") >= 0) { ... }`"},"fsMetadata(string)":{"notice":"Given a path, query the file system to get information about a file, directory, etc."},"getArtifactPathByCode(bytes)":{"notice":"Gets the artifact path from code (aka. creation code)."},"getArtifactPathByDeployedCode(bytes)":{"notice":"Gets the artifact path from deployed code (aka. runtime code)."},"getBlobBaseFee()":{"notice":"Gets the current `block.blobbasefee`. You should use this instead of `block.blobbasefee` if you use `vm.blobBaseFee`, as `block.blobbasefee` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180"},"getBlobhashes()":{"notice":"Gets the blockhashes from the current transaction. Not available on EVM versions before Cancun. If used on unsupported EVM versions it will revert."},"getBlockNumber()":{"notice":"Gets the current `block.number`. You should use this instead of `block.number` if you use `vm.roll`, as `block.number` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180"},"getBlockTimestamp()":{"notice":"Gets the current `block.timestamp`. You should use this instead of `block.timestamp` if you use `vm.warp`, as `block.timestamp` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180"},"getBroadcast(string,uint64,uint8)":{"notice":"Returns the most recent broadcast for the given contract on `chainId` matching `txType`. For example: The most recent deployment can be fetched by passing `txType` as `CREATE` or `CREATE2`. The most recent call can be fetched by passing `txType` as `CALL`."},"getBroadcasts(string,uint64)":{"notice":"Returns all broadcasts for the given contract on `chainId`. Sorted such that the most recent broadcast is the first element, and the oldest is the last. i.e descending order of BroadcastTxSummary.blockNumber."},"getBroadcasts(string,uint64,uint8)":{"notice":"Returns all broadcasts for the given contract on `chainId` with the specified `txType`. Sorted such that the most recent broadcast is the first element, and the oldest is the last. i.e descending order of BroadcastTxSummary.blockNumber."},"getChain(string)":{"notice":"Returns a Chain struct for specific alias"},"getChain(uint256)":{"notice":"Returns a Chain struct for specific chainId"},"getChainId()":{"notice":"Gets the current `block.chainid` of the currently selected environment. You should use this instead of `block.chainid` if you use `vm.selectFork` or `vm.createSelectFork`, as `block.chainid` could be assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180"},"getCode(string)":{"notice":"Gets the creation bytecode from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional."},"getDeployedCode(string)":{"notice":"Gets the deployed bytecode from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional."},"getDeployment(string)":{"notice":"Returns the most recent deployment for the current `chainId`."},"getDeployment(string,uint64)":{"notice":"Returns the most recent deployment for the given contract on `chainId`"},"getDeployments(string,uint64)":{"notice":"Returns all deployments for the given contract on `chainId` Sorted in descending order of deployment time i.e descending order of BroadcastTxSummary.blockNumber. The most recent deployment is the first element, and the oldest is the last."},"getFoundryVersion()":{"notice":"Returns the Foundry version. Format: -+.. Sample output: 0.3.0-nightly+3cb96bde9b.1737036656.debug Note: Build timestamps may vary slightly across platforms due to separate CI jobs. For reliable version comparisons, use UNIX format (e.g., >= 1700000000) to compare timestamps while ignoring minor time differences."},"getLabel(address)":{"notice":"Gets the label for the specified address."},"getMappingKeyAndParentOf(address,bytes32)":{"notice":"Gets the map key and parent of a mapping at a given slot, for a given address."},"getMappingLength(address,bytes32)":{"notice":"Gets the number of elements in the mapping at the given slot, for a given address."},"getMappingSlotAt(address,bytes32,uint256)":{"notice":"Gets the elements at index idx of the mapping at the given slot, for a given address. The index must be less than the length of the mapping (i.e. the number of keys in the mapping)."},"getNonce((address,uint256,uint256,uint256))":{"notice":"Get the nonce of a `Wallet`."},"getNonce(address)":{"notice":"Gets the nonce of an account."},"getRawBlockHeader(uint256)":{"notice":"Gets the RLP encoded block header for a given block number. Returns the block header in the same format as `cast block --raw`."},"getRecordedLogs()":{"notice":"Gets all the recorded logs."},"getStateDiff()":{"notice":"Returns state diffs from current `vm.startStateDiffRecording` session."},"getStateDiffJson()":{"notice":"Returns state diffs from current `vm.startStateDiffRecording` session, in json format."},"getStorageAccesses()":{"notice":"Returns an array of `StorageAccess` from current `vm.stateStateDiffRecording` session"},"getWallets()":{"notice":"Returns addresses of available unlocked wallets in the script environment."},"indexOf(string,string)":{"notice":"Returns the index of the first occurrence of a `key` in an `input` string. Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `key` is not found. Returns 0 in case of an empty `key`."},"interceptInitcode()":{"notice":"Causes the next contract creation (via new) to fail and return its initcode in the returndata buffer. This allows type-safe access to the initcode payload that would be used for contract creation. Example usage: vm.interceptInitcode(); bytes memory initcode; try new MyContract(param1, param2) { assert(false); } catch (bytes memory interceptedInitcode) { initcode = interceptedInitcode; }"},"isContext(uint8)":{"notice":"Returns true if `forge` command was executed in given context."},"isDir(string)":{"notice":"Returns true if the path exists on disk and is pointing at a directory, else returns false."},"isFile(string)":{"notice":"Returns true if the path exists on disk and is pointing at a regular file, else returns false."},"isPersistent(address)":{"notice":"Returns true if the account is marked as persistent."},"keyExists(string,string)":{"notice":"Checks if `key` exists in a JSON object `keyExists` is being deprecated in favor of `keyExistsJson`. It will be removed in future versions."},"keyExistsJson(string,string)":{"notice":"Checks if `key` exists in a JSON object."},"keyExistsToml(string,string)":{"notice":"Checks if `key` exists in a TOML table."},"label(address,string)":{"notice":"Labels an address in call traces."},"lastCallGas()":{"notice":"Gets the gas used in the last call from the callee perspective."},"load(address,bytes32)":{"notice":"Loads a storage slot from an address."},"loadAllocs(string)":{"notice":"Load a genesis JSON file's `allocs` into the in-memory EVM state."},"makePersistent(address)":{"notice":"Marks that the account(s) should use persistent storage across fork swaps in a multifork setup Meaning, changes made to the state of this account will be kept when switching forks."},"makePersistent(address,address)":{"notice":"See `makePersistent(address)`."},"makePersistent(address,address,address)":{"notice":"See `makePersistent(address)`."},"makePersistent(address[])":{"notice":"See `makePersistent(address)`."},"mockCall(address,bytes,bytes)":{"notice":"Mocks a call to an address, returning specified data. Calldata can either be strict or a partial match, e.g. if you only pass a Solidity selector to the expected calldata, then the entire Solidity function will be mocked."},"mockCall(address,bytes4,bytes)":{"notice":"Mocks a call to an address, returning specified data. Calldata can either be strict or a partial match, e.g. if you only pass a Solidity selector to the expected calldata, then the entire Solidity function will be mocked. Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`."},"mockCall(address,uint256,bytes,bytes)":{"notice":"Mocks a call to an address with a specific `msg.value`, returning specified data. Calldata match takes precedence over `msg.value` in case of ambiguity."},"mockCall(address,uint256,bytes4,bytes)":{"notice":"Mocks a call to an address with a specific `msg.value`, returning specified data. Calldata match takes precedence over `msg.value` in case of ambiguity. Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`."},"mockCallRevert(address,bytes,bytes)":{"notice":"Reverts a call to an address with specified revert data."},"mockCallRevert(address,bytes4,bytes)":{"notice":"Reverts a call to an address with specified revert data. Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`."},"mockCallRevert(address,uint256,bytes,bytes)":{"notice":"Reverts a call to an address with a specific `msg.value`, with specified revert data."},"mockCallRevert(address,uint256,bytes4,bytes)":{"notice":"Reverts a call to an address with a specific `msg.value`, with specified revert data. Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`."},"mockCalls(address,bytes,bytes[])":{"notice":"Mocks multiple calls to an address, returning specified data for each call."},"mockCalls(address,uint256,bytes,bytes[])":{"notice":"Mocks multiple calls to an address with a specific `msg.value`, returning specified data for each call."},"mockFunction(address,address,bytes)":{"notice":"Whenever a call is made to `callee` with calldata `data`, this cheatcode instead calls `target` with the same calldata. This functionality is similar to a delegate call made to `target` contract from `callee`. Can be used to substitute a call to a function with another implementation that captures the primary logic of the original function but is easier to reason about. If calldata is not a strict match then partial match by selector is attempted."},"noAccessList()":{"notice":"Utility cheatcode to remove any EIP-2930 access list set by `accessList` cheatcode."},"parseAddress(string)":{"notice":"Parses the given `string` into an `address`."},"parseBool(string)":{"notice":"Parses the given `string` into a `bool`."},"parseBytes(string)":{"notice":"Parses the given `string` into `bytes`."},"parseBytes32(string)":{"notice":"Parses the given `string` into a `bytes32`."},"parseInt(string)":{"notice":"Parses the given `string` into a `int256`."},"parseJson(string)":{"notice":"ABI-encodes a JSON object."},"parseJson(string,string)":{"notice":"ABI-encodes a JSON object at `key`."},"parseJsonAddress(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `address`."},"parseJsonAddressArray(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `address[]`."},"parseJsonBool(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `bool`."},"parseJsonBoolArray(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `bool[]`."},"parseJsonBytes(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `bytes`."},"parseJsonBytes32(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `bytes32`."},"parseJsonBytes32Array(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `bytes32[]`."},"parseJsonBytesArray(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `bytes[]`."},"parseJsonInt(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `int256`."},"parseJsonIntArray(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `int256[]`."},"parseJsonKeys(string,string)":{"notice":"Returns an array of all the keys in a JSON object."},"parseJsonString(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `string`."},"parseJsonStringArray(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `string[]`."},"parseJsonType(string,string)":{"notice":"Parses a string of JSON data and coerces it to type corresponding to `typeDescription`."},"parseJsonType(string,string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to type corresponding to `typeDescription`."},"parseJsonTypeArray(string,string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to type array corresponding to `typeDescription`."},"parseJsonUint(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `uint256`."},"parseJsonUintArray(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `uint256[]`."},"parseToml(string)":{"notice":"ABI-encodes a TOML table."},"parseToml(string,string)":{"notice":"ABI-encodes a TOML table at `key`."},"parseTomlAddress(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `address`."},"parseTomlAddressArray(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `address[]`."},"parseTomlBool(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `bool`."},"parseTomlBoolArray(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `bool[]`."},"parseTomlBytes(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `bytes`."},"parseTomlBytes32(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `bytes32`."},"parseTomlBytes32Array(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `bytes32[]`."},"parseTomlBytesArray(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `bytes[]`."},"parseTomlInt(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `int256`."},"parseTomlIntArray(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `int256[]`."},"parseTomlKeys(string,string)":{"notice":"Returns an array of all the keys in a TOML table."},"parseTomlString(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `string`."},"parseTomlStringArray(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `string[]`."},"parseTomlType(string,string)":{"notice":"Parses a string of TOML data and coerces it to type corresponding to `typeDescription`."},"parseTomlType(string,string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to type corresponding to `typeDescription`."},"parseTomlTypeArray(string,string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to type array corresponding to `typeDescription`."},"parseTomlUint(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `uint256`."},"parseTomlUintArray(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `uint256[]`."},"parseUint(string)":{"notice":"Parses the given `string` into a `uint256`."},"pauseGasMetering()":{"notice":"Pauses gas metering (i.e. gas usage is not counted). Noop if already paused."},"pauseTracing()":{"notice":"Pauses collection of call traces. Useful in cases when you want to skip tracing of complex calls which are not useful for debugging."},"prank(address)":{"notice":"Sets the *next* call's `msg.sender` to be the input address."},"prank(address,address)":{"notice":"Sets the *next* call's `msg.sender` to be the input address, and the `tx.origin` to be the second input."},"prank(address,address,bool)":{"notice":"Sets the *next* delegate call's `msg.sender` to be the input address, and the `tx.origin` to be the second input."},"prank(address,bool)":{"notice":"Sets the *next* delegate call's `msg.sender` to be the input address."},"prevrandao(bytes32)":{"notice":"Sets `block.prevrandao`. Not available on EVM versions before Paris. Use `difficulty` instead. If used on unsupported EVM versions it will revert."},"prevrandao(uint256)":{"notice":"Sets `block.prevrandao`. Not available on EVM versions before Paris. Use `difficulty` instead. If used on unsupported EVM versions it will revert."},"projectRoot()":{"notice":"Get the path of the current project root."},"prompt(string)":{"notice":"Prompts the user for a string value in the terminal."},"promptAddress(string)":{"notice":"Prompts the user for an address in the terminal."},"promptSecret(string)":{"notice":"Prompts the user for a hidden string value in the terminal."},"promptSecretUint(string)":{"notice":"Prompts the user for hidden uint256 in the terminal (usually pk)."},"promptUint(string)":{"notice":"Prompts the user for uint256 in the terminal."},"publicKeyP256(uint256)":{"notice":"Derives secp256r1 public key from the provided `privateKey`."},"randomAddress()":{"notice":"Returns a random `address`."},"randomBool()":{"notice":"Returns a random `bool`."},"randomBytes(uint256)":{"notice":"Returns a random byte array value of the given length."},"randomBytes4()":{"notice":"Returns a random fixed-size byte array of length 4."},"randomBytes8()":{"notice":"Returns a random fixed-size byte array of length 8."},"randomInt()":{"notice":"Returns a random `int256` value."},"randomInt(uint256)":{"notice":"Returns a random `int256` value of given bits."},"randomUint()":{"notice":"Returns a random uint256 value."},"randomUint(uint256)":{"notice":"Returns a random `uint256` value of given bits."},"randomUint(uint256,uint256)":{"notice":"Returns random uint256 value between the provided range (=min..=max)."},"readCallers()":{"notice":"Reads the current `msg.sender` and `tx.origin` from state and reports if there is any active caller modification."},"readDir(string)":{"notice":"Reads the directory at the given path recursively, up to `maxDepth`. `maxDepth` defaults to 1, meaning only the direct children of the given directory will be returned. Follows symbolic links if `followLinks` is true."},"readDir(string,uint64)":{"notice":"See `readDir(string)`."},"readDir(string,uint64,bool)":{"notice":"See `readDir(string)`."},"readFile(string)":{"notice":"Reads the entire content of file to string. `path` is relative to the project root."},"readFileBinary(string)":{"notice":"Reads the entire content of file as binary. `path` is relative to the project root."},"readLine(string)":{"notice":"Reads next line of file to string."},"readLink(string)":{"notice":"Reads a symbolic link, returning the path that the link points to. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` is not a symbolic link. - `path` does not exist."},"record()":{"notice":"Records all storage reads and writes. Use `accesses` to get the recorded data. Subsequent calls to `record` will clear the previous data."},"recordLogs()":{"notice":"Record all the transaction logs."},"rememberKey(uint256)":{"notice":"Adds a private key to the local forge wallet and returns the address."},"rememberKeys(string,string,string,uint32)":{"notice":"Derive a set number of wallets from a mnemonic in the specified language at the derivation path `m/44'/60'/0'/0/{0..count}`. The respective private keys are saved to the local forge wallet for later use and their addresses are returned."},"rememberKeys(string,string,uint32)":{"notice":"Derive a set number of wallets from a mnemonic at the derivation path `m/44'/60'/0'/0/{0..count}`. The respective private keys are saved to the local forge wallet for later use and their addresses are returned."},"removeDir(string,bool)":{"notice":"Removes a directory at the provided path. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` doesn't exist. - `path` isn't a directory. - User lacks permissions to modify `path`. - The directory is not empty and `recursive` is false. `path` is relative to the project root."},"removeFile(string)":{"notice":"Removes a file from the filesystem. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` points to a directory. - The file doesn't exist. - The user lacks permissions to remove the file. `path` is relative to the project root."},"replace(string,string,string)":{"notice":"Replaces occurrences of `from` in the given `string` with `to`."},"resetGasMetering()":{"notice":"Reset gas metering (i.e. gas usage is set to gas limit)."},"resetNonce(address)":{"notice":"Resets the nonce of an account to 0 for EOAs and 1 for contract accounts."},"resolveEnv(string)":{"notice":"Resolves the env variable placeholders of a given input string."},"resumeGasMetering()":{"notice":"Resumes gas metering (i.e. gas usage is counted again). Noop if already on."},"resumeTracing()":{"notice":"Unpauses collection of call traces."},"revertTo(uint256)":{"notice":"`revertTo` is being deprecated in favor of `revertToState`. It will be removed in future versions."},"revertToAndDelete(uint256)":{"notice":"`revertToAndDelete` is being deprecated in favor of `revertToStateAndDelete`. It will be removed in future versions."},"revertToState(uint256)":{"notice":"Revert the state of the EVM to a previous snapshot Takes the snapshot ID to revert to. Returns `true` if the snapshot was successfully reverted. Returns `false` if the snapshot does not exist. **Note:** This does not automatically delete the snapshot. To delete the snapshot use `deleteStateSnapshot`."},"revertToStateAndDelete(uint256)":{"notice":"Revert the state of the EVM to a previous snapshot and automatically deletes the snapshots Takes the snapshot ID to revert to. Returns `true` if the snapshot was successfully reverted and deleted. Returns `false` if the snapshot does not exist."},"revokePersistent(address)":{"notice":"Revokes persistent status from the address, previously added via `makePersistent`."},"revokePersistent(address[])":{"notice":"See `revokePersistent(address)`."},"roll(uint256)":{"notice":"Sets `block.height`."},"rollFork(bytes32)":{"notice":"Updates the currently active fork to given transaction. This will `rollFork` with the number of the block the transaction was mined in and replays all transaction mined before it in the block."},"rollFork(uint256)":{"notice":"Updates the currently active fork to given block number This is similar to `roll` but for the currently active fork."},"rollFork(uint256,bytes32)":{"notice":"Updates the given fork to block number of the given transaction and replays all transaction mined before it in the block."},"rollFork(uint256,uint256)":{"notice":"Updates the given fork to given block number."},"rpc(string,string)":{"notice":"Performs an Ethereum JSON-RPC request to the current fork URL."},"rpc(string,string,string)":{"notice":"Performs an Ethereum JSON-RPC request to the given endpoint."},"rpcUrl(string)":{"notice":"Returns the RPC url for the given alias."},"rpcUrlStructs()":{"notice":"Returns all rpc urls and their aliases as structs."},"rpcUrls()":{"notice":"Returns all rpc urls and their aliases `[alias, url][]`."},"selectFork(uint256)":{"notice":"Takes a fork identifier created by `createFork` and sets the corresponding forked state as active."},"serializeAddress(string,string,address)":{"notice":"See `serializeJson`."},"serializeAddress(string,string,address[])":{"notice":"See `serializeJson`."},"serializeBool(string,string,bool)":{"notice":"See `serializeJson`."},"serializeBool(string,string,bool[])":{"notice":"See `serializeJson`."},"serializeBytes(string,string,bytes)":{"notice":"See `serializeJson`."},"serializeBytes(string,string,bytes[])":{"notice":"See `serializeJson`."},"serializeBytes32(string,string,bytes32)":{"notice":"See `serializeJson`."},"serializeBytes32(string,string,bytes32[])":{"notice":"See `serializeJson`."},"serializeInt(string,string,int256)":{"notice":"See `serializeJson`."},"serializeInt(string,string,int256[])":{"notice":"See `serializeJson`."},"serializeJson(string,string)":{"notice":"Serializes a key and value to a JSON object stored in-memory that can be later written to a file. Returns the stringified version of the specific JSON file up to that moment."},"serializeJsonType(string,bytes)":{"notice":"See `serializeJson`."},"serializeJsonType(string,string,string,bytes)":{"notice":"See `serializeJson`."},"serializeString(string,string,string)":{"notice":"See `serializeJson`."},"serializeString(string,string,string[])":{"notice":"See `serializeJson`."},"serializeUint(string,string,uint256)":{"notice":"See `serializeJson`."},"serializeUint(string,string,uint256[])":{"notice":"See `serializeJson`."},"serializeUintToHex(string,string,uint256)":{"notice":"See `serializeJson`."},"setArbitraryStorage(address)":{"notice":"Utility cheatcode to set arbitrary storage for given target address."},"setArbitraryStorage(address,bool)":{"notice":"Utility cheatcode to set arbitrary storage for given target address and overwrite any storage slots that have been previously set."},"setBlockhash(uint256,bytes32)":{"notice":"Set blockhash for the current block. It only sets the blockhash for blocks where `block.number - 256 <= number < block.number`."},"setEnv(string,string)":{"notice":"Sets environment variables."},"setNonce(address,uint64)":{"notice":"Sets the nonce of an account. Must be higher than the current nonce of the account."},"setNonceUnsafe(address,uint64)":{"notice":"Sets the nonce of an account to an arbitrary value."},"setSeed(uint256)":{"notice":"Set RNG seed."},"shuffle(uint256[])":{"notice":"Randomly shuffles an array."},"sign((address,uint256,uint256,uint256),bytes32)":{"notice":"Signs data with a `Wallet`."},"sign(address,bytes32)":{"notice":"Signs `digest` with signer provided to script using the secp256k1 curve. Raises error if none of the signers passed into the script have provided address."},"sign(bytes32)":{"notice":"Signs `digest` with signer provided to script using the secp256k1 curve. If `--sender` is provided, the signer with provided address is used, otherwise, if exactly one signer is provided to the script, that signer is used. Raises error if signer passed through `--sender` does not match any unlocked signers or if `--sender` is not provided and not exactly one signer is passed to the script."},"sign(uint256,bytes32)":{"notice":"Signs `digest` with `privateKey` using the secp256k1 curve."},"signAndAttachDelegation(address,uint256)":{"notice":"Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction"},"signAndAttachDelegation(address,uint256,bool)":{"notice":"Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction, with optional cross-chain validity."},"signAndAttachDelegation(address,uint256,uint64)":{"notice":"Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction for specific nonce"},"signCompact((address,uint256,uint256,uint256),bytes32)":{"notice":"Signs data with a `Wallet`. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes."},"signCompact(address,bytes32)":{"notice":"Signs `digest` with signer provided to script using the secp256k1 curve. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes. Raises error if none of the signers passed into the script have provided address."},"signCompact(bytes32)":{"notice":"Signs `digest` with signer provided to script using the secp256k1 curve. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes. If `--sender` is provided, the signer with provided address is used, otherwise, if exactly one signer is provided to the script, that signer is used. Raises error if signer passed through `--sender` does not match any unlocked signers or if `--sender` is not provided and not exactly one signer is passed to the script."},"signCompact(uint256,bytes32)":{"notice":"Signs `digest` with `privateKey` using the secp256k1 curve. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes."},"signDelegation(address,uint256)":{"notice":"Sign an EIP-7702 authorization for delegation"},"signDelegation(address,uint256,bool)":{"notice":"Sign an EIP-7702 authorization for delegation, with optional cross-chain validity."},"signDelegation(address,uint256,uint64)":{"notice":"Sign an EIP-7702 authorization for delegation for specific nonce"},"signP256(uint256,bytes32)":{"notice":"Signs `digest` with `privateKey` using the secp256r1 curve."},"skip(bool)":{"notice":"Marks a test as skipped. Must be called at the top level of a test."},"skip(bool,string)":{"notice":"Marks a test as skipped with a reason. Must be called at the top level of a test."},"sleep(uint256)":{"notice":"Suspends execution of the main thread for `duration` milliseconds."},"snapshot()":{"notice":"`snapshot` is being deprecated in favor of `snapshotState`. It will be removed in future versions."},"snapshotGasLastCall(string)":{"notice":"Snapshot capture the gas usage of the last call by name from the callee perspective."},"snapshotGasLastCall(string,string)":{"notice":"Snapshot capture the gas usage of the last call by name in a group from the callee perspective."},"snapshotState()":{"notice":"Snapshot the current state of the evm. Returns the ID of the snapshot that was created. To revert a snapshot use `revertToState`."},"snapshotValue(string,string,uint256)":{"notice":"Snapshot capture an arbitrary numerical value by name in a group."},"snapshotValue(string,uint256)":{"notice":"Snapshot capture an arbitrary numerical value by name. The group name is derived from the contract name."},"sort(uint256[])":{"notice":"Sorts an array in ascending order."},"split(string,string)":{"notice":"Splits the given `string` into an array of strings divided by the `delimiter`."},"startBroadcast()":{"notice":"Has all subsequent calls (at this call depth only) create transactions that can later be signed and sent onchain. Broadcasting address is determined by checking the following in order: 1. If `--sender` argument was provided, that address is used. 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used. 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used."},"startBroadcast(address)":{"notice":"Has all subsequent calls (at this call depth only) create transactions with the address provided that can later be signed and sent onchain."},"startBroadcast(uint256)":{"notice":"Has all subsequent calls (at this call depth only) create transactions with the private key provided that can later be signed and sent onchain."},"startDebugTraceRecording()":{"notice":"Records the debug trace during the run."},"startMappingRecording()":{"notice":"Starts recording all map SSTOREs for later retrieval."},"startPrank(address)":{"notice":"Sets all subsequent calls' `msg.sender` to be the input address until `stopPrank` is called."},"startPrank(address,address)":{"notice":"Sets all subsequent calls' `msg.sender` to be the input address until `stopPrank` is called, and the `tx.origin` to be the second input."},"startPrank(address,address,bool)":{"notice":"Sets all subsequent delegate calls' `msg.sender` to be the input address until `stopPrank` is called, and the `tx.origin` to be the second input."},"startPrank(address,bool)":{"notice":"Sets all subsequent delegate calls' `msg.sender` to be the input address until `stopPrank` is called."},"startSnapshotGas(string)":{"notice":"Start a snapshot capture of the current gas usage by name. The group name is derived from the contract name."},"startSnapshotGas(string,string)":{"notice":"Start a snapshot capture of the current gas usage by name in a group."},"startStateDiffRecording()":{"notice":"Record all account accesses as part of CREATE, CALL or SELFDESTRUCT opcodes in order, along with the context of the calls"},"stopAndReturnDebugTraceRecording()":{"notice":"Stop debug trace recording and returns the recorded debug trace."},"stopAndReturnStateDiff()":{"notice":"Returns an ordered array of all account accesses from a `vm.startStateDiffRecording` session."},"stopBroadcast()":{"notice":"Stops collecting onchain transactions."},"stopExpectSafeMemory()":{"notice":"Stops all safe memory expectation in the current subcontext."},"stopMappingRecording()":{"notice":"Stops recording all map SSTOREs for later retrieval and clears the recorded data."},"stopPrank()":{"notice":"Resets subsequent calls' `msg.sender` to be `address(this)`."},"stopRecord()":{"notice":"Stops recording storage reads and writes."},"stopSnapshotGas()":{"notice":"Stop the snapshot capture of the current gas by latest snapshot name, capturing the gas used since the start."},"stopSnapshotGas(string)":{"notice":"Stop the snapshot capture of the current gas usage by name, capturing the gas used since the start. The group name is derived from the contract name."},"stopSnapshotGas(string,string)":{"notice":"Stop the snapshot capture of the current gas usage by name in a group, capturing the gas used since the start."},"store(address,bytes32,bytes32)":{"notice":"Stores a value to an address' storage slot."},"toBase64(bytes)":{"notice":"Encodes a `bytes` value to a base64 string."},"toBase64(string)":{"notice":"Encodes a `string` value to a base64 string."},"toBase64URL(bytes)":{"notice":"Encodes a `bytes` value to a base64url string."},"toBase64URL(string)":{"notice":"Encodes a `string` value to a base64url string."},"toLowercase(string)":{"notice":"Converts the given `string` value to Lowercase."},"toString(address)":{"notice":"Converts the given value to a `string`."},"toString(bool)":{"notice":"Converts the given value to a `string`."},"toString(bytes)":{"notice":"Converts the given value to a `string`."},"toString(bytes32)":{"notice":"Converts the given value to a `string`."},"toString(int256)":{"notice":"Converts the given value to a `string`."},"toString(uint256)":{"notice":"Converts the given value to a `string`."},"toUppercase(string)":{"notice":"Converts the given `string` value to Uppercase."},"transact(bytes32)":{"notice":"Fetches the given transaction from the active fork and executes it on the current state."},"transact(uint256,bytes32)":{"notice":"Fetches the given transaction from the given fork and executes it on the current state."},"trim(string)":{"notice":"Trims leading and trailing whitespace from the given `string` value."},"tryFfi(string[])":{"notice":"Performs a foreign function call via terminal and returns the exit code, stdout, and stderr."},"txGasPrice(uint256)":{"notice":"Sets `tx.gasprice`."},"unixTime()":{"notice":"Returns the time since unix epoch in milliseconds."},"warmSlot(address,bytes32)":{"notice":"Utility cheatcode to mark specific storage slot as warm, simulating a prior read."},"warp(uint256)":{"notice":"Sets `block.timestamp`."},"writeFile(string,string)":{"notice":"Writes data to file, creating a file if it does not exist, and entirely replacing its contents if it does. `path` is relative to the project root."},"writeFileBinary(string,bytes)":{"notice":"Writes binary data to a file, creating a file if it does not exist, and entirely replacing its contents if it does. `path` is relative to the project root."},"writeJson(string,string)":{"notice":"Write a serialized JSON object to a file. If the file exists, it will be overwritten."},"writeJson(string,string,string)":{"notice":"Write a serialized JSON object to an **existing** JSON file, replacing a value with key = This is useful to replace a specific value of a JSON file, without having to parse the entire thing. This cheatcode will create new keys if they didn't previously exist."},"writeLine(string,string)":{"notice":"Writes line to file, creating a file if it does not exist. `path` is relative to the project root."},"writeToml(string,string)":{"notice":"Takes serialized JSON, converts to TOML and write a serialized TOML to a file."},"writeToml(string,string,string)":{"notice":"Takes serialized JSON, converts to TOML and write a serialized TOML table to an **existing** TOML file, replacing a value with key = This is useful to replace a specific value of a TOML file, without having to parse the entire thing. This cheatcode will create new keys if they didn't previously exist."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/Vm.sol":"Vm"},"evmVersion":"prague","libraries":{}},"sources":{"lib/forge-std/src/Vm.sol":{"keccak256":"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39","urls":["bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9","dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB"],"license":"MIT OR Apache-2.0"}},"version":1},"id":14} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/Vm.sol/VmSafe.json b/lib/signals-implicit-mode/out/Vm.sol/VmSafe.json new file mode 100644 index 0000000000..9a89c2254d --- /dev/null +++ b/lib/signals-implicit-mode/out/Vm.sol/VmSafe.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"accesses","inputs":[{"name":"target","type":"address","internalType":"address"}],"outputs":[{"name":"readSlots","type":"bytes32[]","internalType":"bytes32[]"},{"name":"writeSlots","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"addr","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"keyAddr","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbs","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbs","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbs","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbs","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbsDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbsDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbsDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbsDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRel","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRel","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRel","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRel","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRelDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRelDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRelDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRelDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes32[]","internalType":"bytes32[]"},{"name":"right","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"int256[]","internalType":"int256[]"},{"name":"right","type":"int256[]","internalType":"int256[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"address","internalType":"address"},{"name":"right","type":"address","internalType":"address"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"string","internalType":"string"},{"name":"right","type":"string","internalType":"string"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"address[]","internalType":"address[]"},{"name":"right","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"address[]","internalType":"address[]"},{"name":"right","type":"address[]","internalType":"address[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bool","internalType":"bool"},{"name":"right","type":"bool","internalType":"bool"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"address","internalType":"address"},{"name":"right","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"uint256[]","internalType":"uint256[]"},{"name":"right","type":"uint256[]","internalType":"uint256[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bool[]","internalType":"bool[]"},{"name":"right","type":"bool[]","internalType":"bool[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"int256[]","internalType":"int256[]"},{"name":"right","type":"int256[]","internalType":"int256[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes32","internalType":"bytes32"},{"name":"right","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"uint256[]","internalType":"uint256[]"},{"name":"right","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes","internalType":"bytes"},{"name":"right","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes32","internalType":"bytes32"},{"name":"right","type":"bytes32","internalType":"bytes32"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"string[]","internalType":"string[]"},{"name":"right","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes32[]","internalType":"bytes32[]"},{"name":"right","type":"bytes32[]","internalType":"bytes32[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes","internalType":"bytes"},{"name":"right","type":"bytes","internalType":"bytes"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bool[]","internalType":"bool[]"},{"name":"right","type":"bool[]","internalType":"bool[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes[]","internalType":"bytes[]"},{"name":"right","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"string[]","internalType":"string[]"},{"name":"right","type":"string[]","internalType":"string[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"string","internalType":"string"},{"name":"right","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes[]","internalType":"bytes[]"},{"name":"right","type":"bytes[]","internalType":"bytes[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bool","internalType":"bool"},{"name":"right","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEqDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEqDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEqDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEqDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertFalse","inputs":[{"name":"condition","type":"bool","internalType":"bool"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertFalse","inputs":[{"name":"condition","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGe","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGe","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGe","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGe","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGeDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGeDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGeDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGeDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGt","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGt","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGt","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGt","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGtDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGtDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGtDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGtDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLe","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLe","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLe","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLe","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLeDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLeDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLeDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLeDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLt","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLt","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLt","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLt","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLtDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLtDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLtDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLtDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes32[]","internalType":"bytes32[]"},{"name":"right","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"int256[]","internalType":"int256[]"},{"name":"right","type":"int256[]","internalType":"int256[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bool","internalType":"bool"},{"name":"right","type":"bool","internalType":"bool"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes[]","internalType":"bytes[]"},{"name":"right","type":"bytes[]","internalType":"bytes[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bool","internalType":"bool"},{"name":"right","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bool[]","internalType":"bool[]"},{"name":"right","type":"bool[]","internalType":"bool[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes","internalType":"bytes"},{"name":"right","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"address[]","internalType":"address[]"},{"name":"right","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"uint256[]","internalType":"uint256[]"},{"name":"right","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bool[]","internalType":"bool[]"},{"name":"right","type":"bool[]","internalType":"bool[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"string","internalType":"string"},{"name":"right","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"address[]","internalType":"address[]"},{"name":"right","type":"address[]","internalType":"address[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"string","internalType":"string"},{"name":"right","type":"string","internalType":"string"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"address","internalType":"address"},{"name":"right","type":"address","internalType":"address"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes32","internalType":"bytes32"},{"name":"right","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes","internalType":"bytes"},{"name":"right","type":"bytes","internalType":"bytes"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"uint256[]","internalType":"uint256[]"},{"name":"right","type":"uint256[]","internalType":"uint256[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"address","internalType":"address"},{"name":"right","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes32","internalType":"bytes32"},{"name":"right","type":"bytes32","internalType":"bytes32"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"string[]","internalType":"string[]"},{"name":"right","type":"string[]","internalType":"string[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes32[]","internalType":"bytes32[]"},{"name":"right","type":"bytes32[]","internalType":"bytes32[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"string[]","internalType":"string[]"},{"name":"right","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"int256[]","internalType":"int256[]"},{"name":"right","type":"int256[]","internalType":"int256[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes[]","internalType":"bytes[]"},{"name":"right","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEqDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEqDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEqDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEqDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertTrue","inputs":[{"name":"condition","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertTrue","inputs":[{"name":"condition","type":"bool","internalType":"bool"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assume","inputs":[{"name":"condition","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assumeNoRevert","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assumeNoRevert","inputs":[{"name":"potentialReverts","type":"tuple[]","internalType":"struct VmSafe.PotentialRevert[]","components":[{"name":"reverter","type":"address","internalType":"address"},{"name":"partialMatch","type":"bool","internalType":"bool"},{"name":"revertData","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assumeNoRevert","inputs":[{"name":"potentialRevert","type":"tuple","internalType":"struct VmSafe.PotentialRevert","components":[{"name":"reverter","type":"address","internalType":"address"},{"name":"partialMatch","type":"bool","internalType":"bool"},{"name":"revertData","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"attachBlob","inputs":[{"name":"blob","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"attachDelegation","inputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"attachDelegation","inputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]},{"name":"crossChain","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"bound","inputs":[{"name":"current","type":"uint256","internalType":"uint256"},{"name":"min","type":"uint256","internalType":"uint256"},{"name":"max","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"bound","inputs":[{"name":"current","type":"int256","internalType":"int256"},{"name":"min","type":"int256","internalType":"int256"},{"name":"max","type":"int256","internalType":"int256"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"breakpoint","inputs":[{"name":"char","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"breakpoint","inputs":[{"name":"char","type":"string","internalType":"string"},{"name":"value","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"broadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcast","inputs":[{"name":"signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcast","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcastRawTransaction","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"closeFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"computeCreate2Address","inputs":[{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"initCodeHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"computeCreate2Address","inputs":[{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"initCodeHash","type":"bytes32","internalType":"bytes32"},{"name":"deployer","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"computeCreateAddress","inputs":[{"name":"deployer","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"contains","inputs":[{"name":"subject","type":"string","internalType":"string"},{"name":"search","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"copyFile","inputs":[{"name":"from","type":"string","internalType":"string"},{"name":"to","type":"string","internalType":"string"}],"outputs":[{"name":"copied","type":"uint64","internalType":"uint64"}],"stateMutability":"nonpayable"},{"type":"function","name":"copyStorage","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"recursive","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createWallet","inputs":[{"name":"walletLabel","type":"string","internalType":"string"}],"outputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"createWallet","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"createWallet","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"walletLabel","type":"string","internalType":"string"}],"outputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"constructorArgs","type":"bytes","internalType":"bytes"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"constructorArgs","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"constructorArgs","type":"bytes","internalType":"bytes"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"constructorArgs","type":"bytes","internalType":"bytes"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"},{"name":"language","type":"string","internalType":"string"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"},{"name":"language","type":"string","internalType":"string"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"eip712HashStruct","inputs":[{"name":"bindingsPath","type":"string","internalType":"string"},{"name":"typeName","type":"string","internalType":"string"},{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"typeHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"eip712HashStruct","inputs":[{"name":"typeNameOrDefinition","type":"string","internalType":"string"},{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"typeHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"eip712HashType","inputs":[{"name":"bindingsPath","type":"string","internalType":"string"},{"name":"typeName","type":"string","internalType":"string"}],"outputs":[{"name":"typeHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"eip712HashType","inputs":[{"name":"typeNameOrDefinition","type":"string","internalType":"string"}],"outputs":[{"name":"typeHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"eip712HashTypedData","inputs":[{"name":"jsonData","type":"string","internalType":"string"}],"outputs":[{"name":"digest","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"ensNamehash","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"envAddress","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"envAddress","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"envBool","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"envBool","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bool[]","internalType":"bool[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"envBytes","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes32","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes32","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"envExists","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"envInt","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"int256[]","internalType":"int256[]"}],"stateMutability":"view"},{"type":"function","name":"envInt","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"value","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"int256[]","internalType":"int256[]"}],"outputs":[{"name":"value","type":"int256[]","internalType":"int256[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bool","internalType":"bool"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"value","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"value","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"value","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"int256","internalType":"int256"}],"outputs":[{"name":"value","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"value","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bool[]","internalType":"bool[]"}],"outputs":[{"name":"value","type":"bool[]","internalType":"bool[]"}],"stateMutability":"view"},{"type":"function","name":"envString","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"envString","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"envUint","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"envUint","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"eth_getLogs","inputs":[{"name":"fromBlock","type":"uint256","internalType":"uint256"},{"name":"toBlock","type":"uint256","internalType":"uint256"},{"name":"target","type":"address","internalType":"address"},{"name":"topics","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"logs","type":"tuple[]","internalType":"struct VmSafe.EthGetLogs[]","components":[{"name":"emitter","type":"address","internalType":"address"},{"name":"topics","type":"bytes32[]","internalType":"bytes32[]"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"transactionHash","type":"bytes32","internalType":"bytes32"},{"name":"transactionIndex","type":"uint64","internalType":"uint64"},{"name":"logIndex","type":"uint256","internalType":"uint256"},{"name":"removed","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"exists","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"ffi","inputs":[{"name":"commandInput","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"result","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"foundryVersionAtLeast","inputs":[{"name":"version","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"foundryVersionCmp","inputs":[{"name":"version","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"fsMetadata","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"metadata","type":"tuple","internalType":"struct VmSafe.FsMetadata","components":[{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"},{"name":"length","type":"uint256","internalType":"uint256"},{"name":"readOnly","type":"bool","internalType":"bool"},{"name":"modified","type":"uint256","internalType":"uint256"},{"name":"accessed","type":"uint256","internalType":"uint256"},{"name":"created","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getArtifactPathByCode","inputs":[{"name":"code","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"path","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getArtifactPathByDeployedCode","inputs":[{"name":"deployedCode","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"path","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getBlobBaseFee","inputs":[],"outputs":[{"name":"blobBaseFee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBlockNumber","inputs":[],"outputs":[{"name":"height","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBlockTimestamp","inputs":[],"outputs":[{"name":"timestamp","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBroadcast","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"}],"outputs":[{"name":"","type":"tuple","internalType":"struct VmSafe.BroadcastTxSummary","components":[{"name":"txHash","type":"bytes32","internalType":"bytes32"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"},{"name":"contractAddress","type":"address","internalType":"address"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"success","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getBroadcasts","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct VmSafe.BroadcastTxSummary[]","components":[{"name":"txHash","type":"bytes32","internalType":"bytes32"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"},{"name":"contractAddress","type":"address","internalType":"address"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"success","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getBroadcasts","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct VmSafe.BroadcastTxSummary[]","components":[{"name":"txHash","type":"bytes32","internalType":"bytes32"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"},{"name":"contractAddress","type":"address","internalType":"address"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"success","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getChain","inputs":[{"name":"chainAlias","type":"string","internalType":"string"}],"outputs":[{"name":"chain","type":"tuple","internalType":"struct VmSafe.Chain","components":[{"name":"name","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"chainAlias","type":"string","internalType":"string"},{"name":"rpcUrl","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"getChain","inputs":[{"name":"chainId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"chain","type":"tuple","internalType":"struct VmSafe.Chain","components":[{"name":"name","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"chainAlias","type":"string","internalType":"string"},{"name":"rpcUrl","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"getChainId","inputs":[],"outputs":[{"name":"blockChainId","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"creationBytecode","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDeployedCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"runtimeBytecode","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDeployment","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getDeployment","inputs":[{"name":"contractName","type":"string","internalType":"string"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getDeployments","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"deployedAddresses","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getFoundryVersion","inputs":[],"outputs":[{"name":"version","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getLabel","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"currentLabel","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getMappingKeyAndParentOf","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"elementSlot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"found","type":"bool","internalType":"bool"},{"name":"key","type":"bytes32","internalType":"bytes32"},{"name":"parent","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getMappingLength","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"mappingSlot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"length","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMappingSlotAt","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"mappingSlot","type":"bytes32","internalType":"bytes32"},{"name":"idx","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getNonce","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"nonce","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"getNonce","inputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"nonce","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"getRawBlockHeader","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"rlpHeader","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecordedLogs","inputs":[],"outputs":[{"name":"logs","type":"tuple[]","internalType":"struct VmSafe.Log[]","components":[{"name":"topics","type":"bytes32[]","internalType":"bytes32[]"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"emitter","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getStateDiff","inputs":[],"outputs":[{"name":"diff","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getStateDiffJson","inputs":[],"outputs":[{"name":"diff","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getStorageAccesses","inputs":[],"outputs":[{"name":"storageAccesses","type":"tuple[]","internalType":"struct VmSafe.StorageAccess[]","components":[{"name":"account","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"},{"name":"isWrite","type":"bool","internalType":"bool"},{"name":"previousValue","type":"bytes32","internalType":"bytes32"},{"name":"newValue","type":"bytes32","internalType":"bytes32"},{"name":"reverted","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getWallets","inputs":[],"outputs":[{"name":"wallets","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"indexOf","inputs":[{"name":"input","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"isContext","inputs":[{"name":"context","type":"uint8","internalType":"enum VmSafe.ForgeContext"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDir","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"keyExists","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"keyExistsJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"keyExistsToml","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"label","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newLabel","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"lastCallGas","inputs":[],"outputs":[{"name":"gas","type":"tuple","internalType":"struct VmSafe.Gas","components":[{"name":"gasLimit","type":"uint64","internalType":"uint64"},{"name":"gasTotalUsed","type":"uint64","internalType":"uint64"},{"name":"gasMemoryUsed","type":"uint64","internalType":"uint64"},{"name":"gasRefunded","type":"int64","internalType":"int64"},{"name":"gasRemaining","type":"uint64","internalType":"uint64"}]}],"stateMutability":"view"},{"type":"function","name":"load","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"data","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"parseAddress","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"parseBool","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"parseBytes","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseBytes32","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"parseInt","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"int256","internalType":"int256"}],"stateMutability":"pure"},{"type":"function","name":"parseJson","inputs":[{"name":"json","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonAddress","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonAddressArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBool","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBoolArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool[]","internalType":"bool[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBytes","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBytes32","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBytes32Array","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBytesArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonInt","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonIntArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256[]","internalType":"int256[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonKeys","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"keys","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonString","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonStringArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonType","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonType","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonTypeArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonUint","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonUintArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"pure"},{"type":"function","name":"parseToml","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseToml","inputs":[{"name":"toml","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlAddress","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlAddressArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBool","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBoolArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool[]","internalType":"bool[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBytes","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBytes32","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBytes32Array","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBytesArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlInt","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlIntArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256[]","internalType":"int256[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlKeys","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"keys","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlString","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlStringArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlType","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlType","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlTypeArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlUint","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlUintArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"pure"},{"type":"function","name":"parseUint","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"pauseGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pauseTracing","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"projectRoot","inputs":[],"outputs":[{"name":"path","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"prompt","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"input","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"promptAddress","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"promptSecret","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"input","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"promptSecretUint","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"promptUint","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"publicKeyP256","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"randomBool","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"randomBytes","inputs":[{"name":"len","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"randomBytes4","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"randomBytes8","inputs":[],"outputs":[{"name":"","type":"bytes8","internalType":"bytes8"}],"stateMutability":"view"},{"type":"function","name":"randomInt","inputs":[],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"randomInt","inputs":[{"name":"bits","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"randomUint","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"randomUint","inputs":[{"name":"bits","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"randomUint","inputs":[{"name":"min","type":"uint256","internalType":"uint256"},{"name":"max","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"readDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"maxDepth","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"entries","type":"tuple[]","internalType":"struct VmSafe.DirEntry[]","components":[{"name":"errorMessage","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"readDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"maxDepth","type":"uint64","internalType":"uint64"},{"name":"followLinks","type":"bool","internalType":"bool"}],"outputs":[{"name":"entries","type":"tuple[]","internalType":"struct VmSafe.DirEntry[]","components":[{"name":"errorMessage","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"readDir","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"entries","type":"tuple[]","internalType":"struct VmSafe.DirEntry[]","components":[{"name":"errorMessage","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"readFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"readFileBinary","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"readLine","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"line","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"readLink","inputs":[{"name":"linkPath","type":"string","internalType":"string"}],"outputs":[{"name":"targetPath","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"record","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"recordLogs","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rememberKey","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"keyAddr","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"rememberKeys","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"count","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"keyAddrs","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"rememberKeys","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"language","type":"string","internalType":"string"},{"name":"count","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"keyAddrs","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"removeDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"recursive","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"replace","inputs":[{"name":"input","type":"string","internalType":"string"},{"name":"from","type":"string","internalType":"string"},{"name":"to","type":"string","internalType":"string"}],"outputs":[{"name":"output","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"resetGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"resolveEnv","inputs":[{"name":"input","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"resumeGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"resumeTracing","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"rpc","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"method","type":"string","internalType":"string"},{"name":"params","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"rpc","inputs":[{"name":"method","type":"string","internalType":"string"},{"name":"params","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"rpcUrl","inputs":[{"name":"rpcAlias","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"rpcUrlStructs","inputs":[],"outputs":[{"name":"urls","type":"tuple[]","internalType":"struct VmSafe.Rpc[]","components":[{"name":"key","type":"string","internalType":"string"},{"name":"url","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"rpcUrls","inputs":[],"outputs":[{"name":"urls","type":"string[2][]","internalType":"string[2][]"}],"stateMutability":"view"},{"type":"function","name":"serializeAddress","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeAddress","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"address","internalType":"address"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBool","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bool[]","internalType":"bool[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBool","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bool","internalType":"bool"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes32","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes32","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeInt","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"int256","internalType":"int256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeInt","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"int256[]","internalType":"int256[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeJson","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeJsonType","inputs":[{"name":"typeDescription","type":"string","internalType":"string"},{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"serializeJsonType","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"},{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeString","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeString","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUint","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUint","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUintToHex","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"setArbitraryStorage","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"overwrite","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setArbitraryStorage","inputs":[{"name":"target","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setEnv","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSeed","inputs":[{"name":"seed","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"shuffle","inputs":[{"name":"array","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"sign","inputs":[{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"sign","inputs":[{"name":"signer","type":"address","internalType":"address"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"sign","inputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"sign","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signAndAttachDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signAndAttachDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signAndAttachDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"crossChain","type":"bool","internalType":"bool"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signCompact","inputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"vs","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"signCompact","inputs":[{"name":"signer","type":"address","internalType":"address"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"vs","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signCompact","inputs":[{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"vs","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signCompact","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"vs","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"crossChain","type":"bool","internalType":"bool"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signP256","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"sleep","inputs":[{"name":"duration","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"sort","inputs":[{"name":"array","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"split","inputs":[{"name":"input","type":"string","internalType":"string"},{"name":"delimiter","type":"string","internalType":"string"}],"outputs":[{"name":"outputs","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"startBroadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startBroadcast","inputs":[{"name":"signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startBroadcast","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startDebugTraceRecording","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startMappingRecording","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startStateDiffRecording","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopAndReturnDebugTraceRecording","inputs":[],"outputs":[{"name":"step","type":"tuple[]","internalType":"struct VmSafe.DebugStep[]","components":[{"name":"stack","type":"uint256[]","internalType":"uint256[]"},{"name":"memoryInput","type":"bytes","internalType":"bytes"},{"name":"opcode","type":"uint8","internalType":"uint8"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isOutOfGas","type":"bool","internalType":"bool"},{"name":"contractAddr","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"stopAndReturnStateDiff","inputs":[],"outputs":[{"name":"accountAccesses","type":"tuple[]","internalType":"struct VmSafe.AccountAccess[]","components":[{"name":"chainInfo","type":"tuple","internalType":"struct VmSafe.ChainInfo","components":[{"name":"forkId","type":"uint256","internalType":"uint256"},{"name":"chainId","type":"uint256","internalType":"uint256"}]},{"name":"kind","type":"uint8","internalType":"enum VmSafe.AccountAccessKind"},{"name":"account","type":"address","internalType":"address"},{"name":"accessor","type":"address","internalType":"address"},{"name":"initialized","type":"bool","internalType":"bool"},{"name":"oldBalance","type":"uint256","internalType":"uint256"},{"name":"newBalance","type":"uint256","internalType":"uint256"},{"name":"deployedCode","type":"bytes","internalType":"bytes"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"reverted","type":"bool","internalType":"bool"},{"name":"storageAccesses","type":"tuple[]","internalType":"struct VmSafe.StorageAccess[]","components":[{"name":"account","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"},{"name":"isWrite","type":"bool","internalType":"bool"},{"name":"previousValue","type":"bytes32","internalType":"bytes32"},{"name":"newValue","type":"bytes32","internalType":"bytes32"},{"name":"reverted","type":"bool","internalType":"bool"}]},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"oldNonce","type":"uint64","internalType":"uint64"},{"name":"newNonce","type":"uint64","internalType":"uint64"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"stopBroadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopMappingRecording","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopRecord","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"toBase64","inputs":[{"name":"data","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toBase64","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toBase64URL","inputs":[{"name":"data","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toBase64URL","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toLowercase","inputs":[{"name":"input","type":"string","internalType":"string"}],"outputs":[{"name":"output","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"address","internalType":"address"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bool","internalType":"bool"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"int256","internalType":"int256"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toUppercase","inputs":[{"name":"input","type":"string","internalType":"string"}],"outputs":[{"name":"output","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"trim","inputs":[{"name":"input","type":"string","internalType":"string"}],"outputs":[{"name":"output","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"tryFfi","inputs":[{"name":"commandInput","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"result","type":"tuple","internalType":"struct VmSafe.FfiResult","components":[{"name":"exitCode","type":"int32","internalType":"int32"},{"name":"stdout","type":"bytes","internalType":"bytes"},{"name":"stderr","type":"bytes","internalType":"bytes"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"unixTime","inputs":[],"outputs":[{"name":"milliseconds","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"writeFile","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeFileBinary","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeLine","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeToml","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeToml","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"accesses(address)":"65bc9481","addr(uint256)":"ffa18649","assertApproxEqAbs(int256,int256,uint256)":"240f839d","assertApproxEqAbs(int256,int256,uint256,string)":"8289e621","assertApproxEqAbs(uint256,uint256,uint256)":"16d207c6","assertApproxEqAbs(uint256,uint256,uint256,string)":"f710b062","assertApproxEqAbsDecimal(int256,int256,uint256,uint256)":"3d5bc8bc","assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)":"6a5066d4","assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)":"045c55ce","assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)":"60429eb2","assertApproxEqRel(int256,int256,uint256)":"fea2d14f","assertApproxEqRel(int256,int256,uint256,string)":"ef277d72","assertApproxEqRel(uint256,uint256,uint256)":"8cf25ef4","assertApproxEqRel(uint256,uint256,uint256,string)":"1ecb7d33","assertApproxEqRelDecimal(int256,int256,uint256,uint256)":"abbf21cc","assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)":"fccc11c4","assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)":"21ed2977","assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)":"82d6c8fd","assertEq(address,address)":"515361f6","assertEq(address,address,string)":"2f2769d1","assertEq(address[],address[])":"3868ac34","assertEq(address[],address[],string)":"3e9173c5","assertEq(bool,bool)":"f7fe3477","assertEq(bool,bool,string)":"4db19e7e","assertEq(bool[],bool[])":"707df785","assertEq(bool[],bool[],string)":"e48a8f8d","assertEq(bytes,bytes)":"97624631","assertEq(bytes,bytes,string)":"e24fed00","assertEq(bytes32,bytes32)":"7c84c69b","assertEq(bytes32,bytes32,string)":"c1fa1ed0","assertEq(bytes32[],bytes32[])":"0cc9ee84","assertEq(bytes32[],bytes32[],string)":"e03e9177","assertEq(bytes[],bytes[])":"e5fb9b4a","assertEq(bytes[],bytes[],string)":"f413f0b6","assertEq(int256,int256)":"fe74f05b","assertEq(int256,int256,string)":"714a2f13","assertEq(int256[],int256[])":"711043ac","assertEq(int256[],int256[],string)":"191f1b30","assertEq(string,string)":"f320d963","assertEq(string,string,string)":"36f656d8","assertEq(string[],string[])":"cf1c049c","assertEq(string[],string[],string)":"eff6b27d","assertEq(uint256,uint256)":"98296c54","assertEq(uint256,uint256,string)":"88b44c85","assertEq(uint256[],uint256[])":"975d5a12","assertEq(uint256[],uint256[],string)":"5d18c73a","assertEqDecimal(int256,int256,uint256)":"48016c04","assertEqDecimal(int256,int256,uint256,string)":"7e77b0c5","assertEqDecimal(uint256,uint256,uint256)":"27af7d9c","assertEqDecimal(uint256,uint256,uint256,string)":"d0cbbdef","assertFalse(bool)":"a5982885","assertFalse(bool,string)":"7ba04809","assertGe(int256,int256)":"0a30b771","assertGe(int256,int256,string)":"a84328dd","assertGe(uint256,uint256)":"a8d4d1d9","assertGe(uint256,uint256,string)":"e25242c0","assertGeDecimal(int256,int256,uint256)":"dc28c0f1","assertGeDecimal(int256,int256,uint256,string)":"5df93c9b","assertGeDecimal(uint256,uint256,uint256)":"3d1fe08a","assertGeDecimal(uint256,uint256,uint256,string)":"8bff9133","assertGt(int256,int256)":"5a362d45","assertGt(int256,int256,string)":"f8d33b9b","assertGt(uint256,uint256)":"db07fcd2","assertGt(uint256,uint256,string)":"d9a3c4d2","assertGtDecimal(int256,int256,uint256)":"78611f0e","assertGtDecimal(int256,int256,uint256,string)":"04a5c7ab","assertGtDecimal(uint256,uint256,uint256)":"eccd2437","assertGtDecimal(uint256,uint256,uint256,string)":"64949a8d","assertLe(int256,int256)":"95fd154e","assertLe(int256,int256,string)":"4dfe692c","assertLe(uint256,uint256)":"8466f415","assertLe(uint256,uint256,string)":"d17d4b0d","assertLeDecimal(int256,int256,uint256)":"11d1364a","assertLeDecimal(int256,int256,uint256,string)":"aa5cf788","assertLeDecimal(uint256,uint256,uint256)":"c304aab7","assertLeDecimal(uint256,uint256,uint256,string)":"7fefbbe0","assertLt(int256,int256)":"3e914080","assertLt(int256,int256,string)":"9ff531e3","assertLt(uint256,uint256)":"b12fc005","assertLt(uint256,uint256,string)":"65d5c135","assertLtDecimal(int256,int256,uint256)":"dbe8d88b","assertLtDecimal(int256,int256,uint256,string)":"40f0b4e0","assertLtDecimal(uint256,uint256,uint256)":"2077337e","assertLtDecimal(uint256,uint256,uint256,string)":"a972d037","assertNotEq(address,address)":"b12e1694","assertNotEq(address,address,string)":"8775a591","assertNotEq(address[],address[])":"46d0b252","assertNotEq(address[],address[],string)":"72c7e0b5","assertNotEq(bool,bool)":"236e4d66","assertNotEq(bool,bool,string)":"1091a261","assertNotEq(bool[],bool[])":"286fafea","assertNotEq(bool[],bool[],string)":"62c6f9fb","assertNotEq(bytes,bytes)":"3cf78e28","assertNotEq(bytes,bytes,string)":"9507540e","assertNotEq(bytes32,bytes32)":"898e83fc","assertNotEq(bytes32,bytes32,string)":"b2332f51","assertNotEq(bytes32[],bytes32[])":"0603ea68","assertNotEq(bytes32[],bytes32[],string)":"b873634c","assertNotEq(bytes[],bytes[])":"edecd035","assertNotEq(bytes[],bytes[],string)":"1dcd1f68","assertNotEq(int256,int256)":"f4c004e3","assertNotEq(int256,int256,string)":"4724c5b9","assertNotEq(int256[],int256[])":"0b72f4ef","assertNotEq(int256[],int256[],string)":"d3977322","assertNotEq(string,string)":"6a8237b3","assertNotEq(string,string,string)":"78bdcea7","assertNotEq(string[],string[])":"bdfacbe8","assertNotEq(string[],string[],string)":"b67187f3","assertNotEq(uint256,uint256)":"b7909320","assertNotEq(uint256,uint256,string)":"98f9bdbd","assertNotEq(uint256[],uint256[])":"56f29cba","assertNotEq(uint256[],uint256[],string)":"9a7fbd8f","assertNotEqDecimal(int256,int256,uint256)":"14e75680","assertNotEqDecimal(int256,int256,uint256,string)":"33949f0b","assertNotEqDecimal(uint256,uint256,uint256)":"669efca7","assertNotEqDecimal(uint256,uint256,uint256,string)":"f5a55558","assertTrue(bool)":"0c9fd581","assertTrue(bool,string)":"a34edc03","assume(bool)":"4c63e562","assumeNoRevert((address,bool,bytes))":"d8591eeb","assumeNoRevert((address,bool,bytes)[])":"8a4592cc","assumeNoRevert()":"285b366a","attachBlob(bytes)":"10cb385c","attachDelegation((uint8,bytes32,bytes32,uint64,address))":"14ae3519","attachDelegation((uint8,bytes32,bytes32,uint64,address),bool)":"f4460d34","bound(int256,int256,int256)":"8f48fc07","bound(uint256,uint256,uint256)":"5a6c1eed","breakpoint(string)":"f0259e92","breakpoint(string,bool)":"f7d39a8d","broadcast()":"afc98040","broadcast(address)":"e6962cdb","broadcast(uint256)":"f67a965b","broadcastRawTransaction(bytes)":"8c0c72e0","closeFile(string)":"48c3241f","computeCreate2Address(bytes32,bytes32)":"890c283b","computeCreate2Address(bytes32,bytes32,address)":"d323826a","computeCreateAddress(address,uint256)":"74637a7a","contains(string,string)":"3fb18aec","copyFile(string,string)":"a54a87d8","copyStorage(address,address)":"203dac0d","createDir(string,bool)":"168b64d3","createWallet(string)":"7404f1d2","createWallet(uint256)":"7a675bb6","createWallet(uint256,string)":"ed7c5462","deployCode(string)":"9a8325a0","deployCode(string,bytes)":"29ce9dde","deployCode(string,bytes,bytes32)":"016155bf","deployCode(string,bytes,uint256)":"ff5d64e4","deployCode(string,bytes,uint256,bytes32)":"3aa773ea","deployCode(string,bytes32)":"17ab1d79","deployCode(string,uint256)":"0af6a701","deployCode(string,uint256,bytes32)":"002cb687","deriveKey(string,string,uint32)":"6bcb2c1b","deriveKey(string,string,uint32,string)":"29233b1f","deriveKey(string,uint32)":"6229498b","deriveKey(string,uint32,string)":"32c8176d","eip712HashStruct(string,bytes)":"aedeaebc","eip712HashStruct(string,string,bytes)":"6d06c57c","eip712HashType(string)":"6792e9e2","eip712HashType(string,string)":"18fb6406","eip712HashTypedData(string)":"ea25e615","ensNamehash(string)":"8c374c65","envAddress(string)":"350d56bf","envAddress(string,string)":"ad31b9fa","envBool(string)":"7ed1ec7d","envBool(string,string)":"aaaddeaf","envBytes(string)":"4d7baf06","envBytes(string,string)":"ddc2651b","envBytes32(string)":"97949042","envBytes32(string,string)":"5af231c1","envExists(string)":"ce8365f9","envInt(string)":"892a0c61","envInt(string,string)":"42181150","envOr(string,address)":"561fe540","envOr(string,bool)":"4777f3cf","envOr(string,bytes)":"b3e47705","envOr(string,bytes32)":"b4a85892","envOr(string,int256)":"bbcb713e","envOr(string,string)":"d145736c","envOr(string,string,address[])":"c74e9deb","envOr(string,string,bool[])":"eb85e83b","envOr(string,string,bytes32[])":"2281f367","envOr(string,string,bytes[])":"64bc3e64","envOr(string,string,int256[])":"4700d74b","envOr(string,string,string[])":"859216bc","envOr(string,string,uint256[])":"74318528","envOr(string,uint256)":"5e97348f","envString(string)":"f877cb19","envString(string,string)":"14b02bc9","envUint(string)":"c1978d1f","envUint(string,string)":"f3dec099","eth_getLogs(uint256,uint256,address,bytes32[])":"35e1349b","exists(string)":"261a323e","ffi(string[])":"89160467","foundryVersionAtLeast(string)":"6248be1f","foundryVersionCmp(string)":"ca7b0a09","fsMetadata(string)":"af368a08","getArtifactPathByCode(bytes)":"eb74848c","getArtifactPathByDeployedCode(bytes)":"6d853ba5","getBlobBaseFee()":"1f6d6ef7","getBlockNumber()":"42cbb15c","getBlockTimestamp()":"796b89b9","getBroadcast(string,uint64,uint8)":"3dc90cb3","getBroadcasts(string,uint64)":"f2fa4a26","getBroadcasts(string,uint64,uint8)":"f7afe919","getChain(string)":"4cc1c2bb","getChain(uint256)":"b6791ad4","getChainId()":"3408e470","getCode(string)":"8d1cc925","getDeployedCode(string)":"3ebf73b4","getDeployment(string)":"a8091d97","getDeployment(string,uint64)":"0debd5d6","getDeployments(string,uint64)":"74e133dd","getFoundryVersion()":"ea991bb5","getLabel(address)":"28a249b0","getMappingKeyAndParentOf(address,bytes32)":"876e24e6","getMappingLength(address,bytes32)":"2f2fd63f","getMappingSlotAt(address,bytes32,uint256)":"ebc73ab4","getNonce((address,uint256,uint256,uint256))":"a5748aad","getNonce(address)":"2d0335ab","getRawBlockHeader(uint256)":"2c667606","getRecordedLogs()":"191553a4","getStateDiff()":"80df01cc","getStateDiffJson()":"f54fe009","getStorageAccesses()":"2899b1d0","getWallets()":"db7a4605","indexOf(string,string)":"8a0807b7","isContext(uint8)":"64af255d","isDir(string)":"7d15d019","isFile(string)":"e0eb04d4","keyExists(string,string)":"528a683c","keyExistsJson(string,string)":"db4235f6","keyExistsToml(string,string)":"600903ad","label(address,string)":"c657c718","lastCallGas()":"2b589b28","load(address,bytes32)":"667f9d70","parseAddress(string)":"c6ce059d","parseBool(string)":"974ef924","parseBytes(string)":"8f5d232d","parseBytes32(string)":"087e6e81","parseInt(string)":"42346c5e","parseJson(string)":"6a82600a","parseJson(string,string)":"85940ef1","parseJsonAddress(string,string)":"1e19e657","parseJsonAddressArray(string,string)":"2fce7883","parseJsonBool(string,string)":"9f86dc91","parseJsonBoolArray(string,string)":"91f3b94f","parseJsonBytes(string,string)":"fd921be8","parseJsonBytes32(string,string)":"1777e59d","parseJsonBytes32Array(string,string)":"91c75bc3","parseJsonBytesArray(string,string)":"6631aa99","parseJsonInt(string,string)":"7b048ccd","parseJsonIntArray(string,string)":"9983c28a","parseJsonKeys(string,string)":"213e4198","parseJsonString(string,string)":"49c4fac8","parseJsonStringArray(string,string)":"498fdcf4","parseJsonType(string,string)":"a9da313b","parseJsonType(string,string,string)":"e3f5ae33","parseJsonTypeArray(string,string,string)":"0175d535","parseJsonUint(string,string)":"addde2b6","parseJsonUintArray(string,string)":"522074ab","parseToml(string)":"592151f0","parseToml(string,string)":"37736e08","parseTomlAddress(string,string)":"65e7c844","parseTomlAddressArray(string,string)":"65c428e7","parseTomlBool(string,string)":"d30dced6","parseTomlBoolArray(string,string)":"127cfe9a","parseTomlBytes(string,string)":"d77bfdb9","parseTomlBytes32(string,string)":"8e214810","parseTomlBytes32Array(string,string)":"3e716f81","parseTomlBytesArray(string,string)":"b197c247","parseTomlInt(string,string)":"c1350739","parseTomlIntArray(string,string)":"d3522ae6","parseTomlKeys(string,string)":"812a44b2","parseTomlString(string,string)":"8bb8dd43","parseTomlStringArray(string,string)":"9f629281","parseTomlType(string,string)":"47fa5e11","parseTomlType(string,string,string)":"f9fa5cdb","parseTomlTypeArray(string,string,string)":"49be3743","parseTomlUint(string,string)":"cc7b0487","parseTomlUintArray(string,string)":"b5df27c8","parseUint(string)":"fa91454d","pauseGasMetering()":"d1a5b36f","pauseTracing()":"c94d1f90","projectRoot()":"d930a0e6","prompt(string)":"47eaf474","promptAddress(string)":"62ee05f4","promptSecret(string)":"1e279d41","promptSecretUint(string)":"69ca02b7","promptUint(string)":"652fd489","publicKeyP256(uint256)":"c453949e","randomAddress()":"d5bee9f5","randomBool()":"cdc126bd","randomBytes(uint256)":"6c5d32a9","randomBytes4()":"9b7cd579","randomBytes8()":"0497b0a5","randomInt()":"111f1202","randomInt(uint256)":"12845966","randomUint()":"25124730","randomUint(uint256)":"cf81e69c","randomUint(uint256,uint256)":"d61b051b","readDir(string)":"c4bc59e0","readDir(string,uint64)":"1497876c","readDir(string,uint64,bool)":"8102d70d","readFile(string)":"60f9bb11","readFileBinary(string)":"16ed7bc4","readLine(string)":"70f55728","readLink(string)":"9f5684a2","record()":"266cf109","recordLogs()":"41af2f52","rememberKey(uint256)":"22100064","rememberKeys(string,string,string,uint32)":"f8d58eaf","rememberKeys(string,string,uint32)":"97cb9189","removeDir(string,bool)":"45c62011","removeFile(string)":"f1afe04d","replace(string,string,string)":"e00ad03e","resetGasMetering()":"be367dd3","resolveEnv(string)":"ddd2128d","resumeGasMetering()":"2bcd50e0","resumeTracing()":"72a09ccb","rpc(string,string)":"1206c8a8","rpc(string,string,string)":"0199a220","rpcUrl(string)":"975a6ce9","rpcUrlStructs()":"9d2ad72a","rpcUrls()":"a85a8418","serializeAddress(string,string,address)":"972c6062","serializeAddress(string,string,address[])":"1e356e1a","serializeBool(string,string,bool)":"ac22e971","serializeBool(string,string,bool[])":"92925aa1","serializeBytes(string,string,bytes)":"f21d52c7","serializeBytes(string,string,bytes[])":"9884b232","serializeBytes32(string,string,bytes32)":"2d812b44","serializeBytes32(string,string,bytes32[])":"201e43e2","serializeInt(string,string,int256)":"3f33db60","serializeInt(string,string,int256[])":"7676e127","serializeJson(string,string)":"9b3358b0","serializeJsonType(string,bytes)":"6d4f96a6","serializeJsonType(string,string,string,bytes)":"6f93bccb","serializeString(string,string,string)":"88da6d35","serializeString(string,string,string[])":"561cd6f3","serializeUint(string,string,uint256)":"129e9002","serializeUint(string,string,uint256[])":"fee9a469","serializeUintToHex(string,string,uint256)":"ae5a2ae8","setArbitraryStorage(address)":"e1631837","setArbitraryStorage(address,bool)":"d3ec2a0b","setEnv(string,string)":"3d5923ee","setSeed(uint256)":"c32a50f9","shuffle(uint256[])":"54f1469c","sign((address,uint256,uint256,uint256),bytes32)":"b25c5a25","sign(address,bytes32)":"8c1aa205","sign(bytes32)":"799cd333","sign(uint256,bytes32)":"e341eaa4","signAndAttachDelegation(address,uint256)":"c7fa7288","signAndAttachDelegation(address,uint256,bool)":"d936e146","signAndAttachDelegation(address,uint256,uint64)":"cde3e5be","signCompact((address,uint256,uint256,uint256),bytes32)":"3d0e292f","signCompact(address,bytes32)":"8e2f97bf","signCompact(bytes32)":"a282dc4b","signCompact(uint256,bytes32)":"cc2a781f","signDelegation(address,uint256)":"5b593c7b","signDelegation(address,uint256,bool)":"cdd7563d","signDelegation(address,uint256,uint64)":"ceba2ec3","signP256(uint256,bytes32)":"83211b40","sleep(uint256)":"fa9d8713","sort(uint256[])":"9ec8b026","split(string,string)":"8bb75533","startBroadcast()":"7fb5297f","startBroadcast(address)":"7fec2a8d","startBroadcast(uint256)":"ce817d47","startDebugTraceRecording()":"419c8832","startMappingRecording()":"3e9705c0","startStateDiffRecording()":"cf22e3c9","stopAndReturnDebugTraceRecording()":"ced398a2","stopAndReturnStateDiff()":"aa5cf90e","stopBroadcast()":"76eadd36","stopMappingRecording()":"0d4aae9b","stopRecord()":"996be76d","toBase64(bytes)":"a5cbfe65","toBase64(string)":"3f8be2c8","toBase64URL(bytes)":"c8bd0e4a","toBase64URL(string)":"ae3165b3","toLowercase(string)":"50bb0884","toString(address)":"56ca623e","toString(bool)":"71dce7da","toString(bytes)":"71aad10d","toString(bytes32)":"b11a19e8","toString(int256)":"a322c40e","toString(uint256)":"6900a3ae","toUppercase(string)":"074ae3d7","trim(string)":"b2dad155","tryFfi(string[])":"f45c1ce7","unixTime()":"625387dc","writeFile(string,string)":"897e0a97","writeFileBinary(string,bytes)":"1f21fc80","writeJson(string,string)":"e23cd19f","writeJson(string,string,string)":"35d6ad46","writeLine(string,string)":"619d897f","writeToml(string,string)":"c0865ba7","writeToml(string,string,string)":"51ac6a33"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"accesses\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"readSlots\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"writeSlots\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertFalse\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assertFalse\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assertTrue\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertTrue\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assume\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"assumeNoRevert\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"partialMatch\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"internalType\":\"struct VmSafe.PotentialRevert[]\",\"name\":\"potentialReverts\",\"type\":\"tuple[]\"}],\"name\":\"assumeNoRevert\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"partialMatch\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"internalType\":\"struct VmSafe.PotentialRevert\",\"name\":\"potentialRevert\",\"type\":\"tuple\"}],\"name\":\"assumeNoRevert\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"blob\",\"type\":\"bytes\"}],\"name\":\"attachBlob\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"name\":\"attachDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"crossChain\",\"type\":\"bool\"}],\"name\":\"attachDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"current\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"min\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"max\",\"type\":\"uint256\"}],\"name\":\"bound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"current\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"min\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"max\",\"type\":\"int256\"}],\"name\":\"bound\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"char\",\"type\":\"string\"}],\"name\":\"breakpoint\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"char\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"breakpoint\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"broadcastRawTransaction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"closeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"initCodeHash\",\"type\":\"bytes32\"}],\"name\":\"computeCreate2Address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"initCodeHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"}],\"name\":\"computeCreate2Address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"computeCreateAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"subject\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"search\",\"type\":\"string\"}],\"name\":\"contains\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"from\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"to\",\"type\":\"string\"}],\"name\":\"copyFile\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"copied\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"copyStorage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"recursive\",\"type\":\"bool\"}],\"name\":\"createDir\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"walletLabel\",\"type\":\"string\"}],\"name\":\"createWallet\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"createWallet\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"walletLabel\",\"type\":\"string\"}],\"name\":\"createWallet\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"constructorArgs\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"constructorArgs\",\"type\":\"bytes\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"constructorArgs\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"constructorArgs\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"string\",\"name\":\"language\",\"type\":\"string\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"string\",\"name\":\"language\",\"type\":\"string\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"bindingsPath\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeName\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"name\":\"eip712HashStruct\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"typeHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"typeNameOrDefinition\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"name\":\"eip712HashStruct\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"typeHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"bindingsPath\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeName\",\"type\":\"string\"}],\"name\":\"eip712HashType\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"typeHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"typeNameOrDefinition\",\"type\":\"string\"}],\"name\":\"eip712HashType\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"typeHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"jsonData\",\"type\":\"string\"}],\"name\":\"eip712HashTypedData\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"ensNamehash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"defaultValue\",\"type\":\"bytes32[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"defaultValue\",\"type\":\"int256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"defaultValue\",\"type\":\"bool\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"defaultValue\",\"type\":\"address\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"defaultValue\",\"type\":\"uint256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"defaultValue\",\"type\":\"bytes[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"defaultValue\",\"type\":\"uint256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"defaultValue\",\"type\":\"string[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"defaultValue\",\"type\":\"bytes\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"defaultValue\",\"type\":\"bytes32\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"defaultValue\",\"type\":\"int256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"defaultValue\",\"type\":\"address[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"defaultValue\",\"type\":\"string\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"defaultValue\",\"type\":\"bool[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"fromBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"toBlock\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"}],\"name\":\"eth_getLogs\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"transactionHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"transactionIndex\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"logIndex\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"removed\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.EthGetLogs[]\",\"name\":\"logs\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"exists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"commandInput\",\"type\":\"string[]\"}],\"name\":\"ffi\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"}],\"name\":\"foundryVersionAtLeast\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"}],\"name\":\"foundryVersionCmp\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"fsMetadata\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"readOnly\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"modified\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"created\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.FsMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"code\",\"type\":\"bytes\"}],\"name\":\"getArtifactPathByCode\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"deployedCode\",\"type\":\"bytes\"}],\"name\":\"getArtifactPathByDeployedCode\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlobBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blobBaseFee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"height\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"}],\"name\":\"getBroadcast\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.BroadcastTxSummary\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"}],\"name\":\"getBroadcasts\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.BroadcastTxSummary[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"}],\"name\":\"getBroadcasts\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.BroadcastTxSummary[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"chainAlias\",\"type\":\"string\"}],\"name\":\"getChain\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"chainAlias\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"rpcUrl\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Chain\",\"name\":\"chain\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"}],\"name\":\"getChain\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"chainAlias\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"rpcUrl\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Chain\",\"name\":\"chain\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockChainId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"creationBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getDeployedCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"runtimeBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"}],\"name\":\"getDeployment\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"}],\"name\":\"getDeployment\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"}],\"name\":\"getDeployments\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"deployedAddresses\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFoundryVersion\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getLabel\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"currentLabel\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"elementSlot\",\"type\":\"bytes32\"}],\"name\":\"getMappingKeyAndParentOf\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"found\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"parent\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"mappingSlot\",\"type\":\"bytes32\"}],\"name\":\"getMappingLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"mappingSlot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"idx\",\"type\":\"uint256\"}],\"name\":\"getMappingSlotAt\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getRawBlockHeader\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"rlpHeader\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRecordedLogs\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.Log[]\",\"name\":\"logs\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStateDiff\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"diff\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStateDiffJson\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"diff\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStorageAccesses\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"isWrite\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"previousValue\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"newValue\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"reverted\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.StorageAccess[]\",\"name\":\"storageAccesses\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWallets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"wallets\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"indexOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum VmSafe.ForgeContext\",\"name\":\"context\",\"type\":\"uint8\"}],\"name\":\"isContext\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"isDir\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"isFile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"keyExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"keyExistsJson\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"keyExistsToml\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"newLabel\",\"type\":\"string\"}],\"name\":\"label\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastCallGas\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"gasLimit\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"gasTotalUsed\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"gasMemoryUsed\",\"type\":\"uint64\"},{\"internalType\":\"int64\",\"name\":\"gasRefunded\",\"type\":\"int64\"},{\"internalType\":\"uint64\",\"name\":\"gasRemaining\",\"type\":\"uint64\"}],\"internalType\":\"struct VmSafe.Gas\",\"name\":\"gas\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"load\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"parsedValue\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"parsedValue\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"parsedValue\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"parsedValue\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"parsedValue\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonAddressArray\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBoolArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32Array\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytesArray\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonIntArray\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonKeys\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"keys\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseJsonType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseJsonType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseJsonTypeArray\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonUintArray\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseToml\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"}],\"name\":\"parseToml\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlAddressArray\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBoolArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytes32Array\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytesArray\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlIntArray\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlKeys\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"keys\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseTomlType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseTomlType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseTomlTypeArray\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlUintArray\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"parsedValue\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauseGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauseTracing\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projectRoot\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"prompt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptSecret\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptSecretUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"publicKeyP256\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"len\",\"type\":\"uint256\"}],\"name\":\"randomBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomBytes4\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomBytes8\",\"outputs\":[{\"internalType\":\"bytes8\",\"name\":\"\",\"type\":\"bytes8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"bits\",\"type\":\"uint256\"}],\"name\":\"randomInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"bits\",\"type\":\"uint256\"}],\"name\":\"randomUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"min\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"max\",\"type\":\"uint256\"}],\"name\":\"randomUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"maxDepth\",\"type\":\"uint64\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"maxDepth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"followLinks\",\"type\":\"bool\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFile\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFileBinary\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readLine\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"line\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"linkPath\",\"type\":\"string\"}],\"name\":\"readLink\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"targetPath\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"record\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recordLogs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"rememberKey\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"count\",\"type\":\"uint32\"}],\"name\":\"rememberKeys\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"keyAddrs\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"language\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"count\",\"type\":\"uint32\"}],\"name\":\"rememberKeys\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"keyAddrs\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"recursive\",\"type\":\"bool\"}],\"name\":\"removeDir\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"removeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"from\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"to\",\"type\":\"string\"}],\"name\":\"replace\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resetGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"resolveEnv\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resumeGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resumeTracing\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"method\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"params\",\"type\":\"string\"}],\"name\":\"rpc\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"method\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"params\",\"type\":\"string\"}],\"name\":\"rpc\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"rpcAlias\",\"type\":\"string\"}],\"name\":\"rpcUrl\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrlStructs\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Rpc[]\",\"name\":\"urls\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrls\",\"outputs\":[{\"internalType\":\"string[2][]\",\"name\":\"urls\",\"type\":\"string[2][]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"values\",\"type\":\"address[]\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"values\",\"type\":\"bool[]\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"values\",\"type\":\"bytes[]\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"values\",\"type\":\"bytes32[]\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"values\",\"type\":\"int256[]\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"serializeJson\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeJsonType\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeJsonType\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"values\",\"type\":\"string[]\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"serializeUintToHex\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"overwrite\",\"type\":\"bool\"}],\"name\":\"setArbitraryStorage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"setArbitraryStorage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"setEnv\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"seed\",\"type\":\"uint256\"}],\"name\":\"setSeed\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"array\",\"type\":\"uint256[]\"}],\"name\":\"shuffle\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"signAndAttachDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"name\":\"signAndAttachDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"crossChain\",\"type\":\"bool\"}],\"name\":\"signAndAttachDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signCompact\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"vs\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signCompact\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"vs\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signCompact\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"vs\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signCompact\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"vs\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"signDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"crossChain\",\"type\":\"bool\"}],\"name\":\"signDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"name\":\"signDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signP256\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"}],\"name\":\"sleep\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"array\",\"type\":\"uint256[]\"}],\"name\":\"sort\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delimiter\",\"type\":\"string\"}],\"name\":\"split\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"outputs\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startDebugTraceRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startMappingRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startStateDiffRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopAndReturnDebugTraceRecording\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"stack\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"memoryInput\",\"type\":\"bytes\"},{\"internalType\":\"uint8\",\"name\":\"opcode\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isOutOfGas\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"contractAddr\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.DebugStep[]\",\"name\":\"step\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopAndReturnStateDiff\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.ChainInfo\",\"name\":\"chainInfo\",\"type\":\"tuple\"},{\"internalType\":\"enum VmSafe.AccountAccessKind\",\"name\":\"kind\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"accessor\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"initialized\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"oldBalance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"deployedCode\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"reverted\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"isWrite\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"previousValue\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"newValue\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"reverted\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.StorageAccess[]\",\"name\":\"storageAccesses\",\"type\":\"tuple[]\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"oldNonce\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"newNonce\",\"type\":\"uint64\"}],\"internalType\":\"struct VmSafe.AccountAccess[]\",\"name\":\"accountAccesses\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopMappingRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"toBase64\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"toBase64\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"toBase64URL\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"toBase64URL\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"toLowercase\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"toUppercase\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"trim\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"commandInput\",\"type\":\"string[]\"}],\"name\":\"tryFfi\",\"outputs\":[{\"components\":[{\"internalType\":\"int32\",\"name\":\"exitCode\",\"type\":\"int32\"},{\"internalType\":\"bytes\",\"name\":\"stdout\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"stderr\",\"type\":\"bytes\"}],\"internalType\":\"struct VmSafe.FfiResult\",\"name\":\"result\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unixTime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"milliseconds\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"writeFileBinary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeLine\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"}],\"name\":\"writeToml\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"writeToml\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"accesses(address)\":{\"notice\":\"Gets all accessed reads and write slot from a `vm.record` session, for a given address.\"},\"addr(uint256)\":{\"notice\":\"Gets the address for a given private key.\"},\"assertApproxEqAbs(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`.\"},\"assertApproxEqAbs(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Includes error message into revert string on failure.\"},\"assertApproxEqAbs(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`.\"},\"assertApproxEqAbs(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Includes error message into revert string on failure.\"},\"assertApproxEqAbsDecimal(int256,int256,uint256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message.\"},\"assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message.\"},\"assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertApproxEqRel(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\"},\"assertApproxEqRel(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Includes error message into revert string on failure.\"},\"assertApproxEqRel(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\"},\"assertApproxEqRel(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Includes error message into revert string on failure.\"},\"assertApproxEqRelDecimal(int256,int256,uint256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message.\"},\"assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message.\"},\"assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertEq(address,address)\":{\"notice\":\"Asserts that two `address` values are equal.\"},\"assertEq(address,address,string)\":{\"notice\":\"Asserts that two `address` values are equal and includes error message into revert string on failure.\"},\"assertEq(address[],address[])\":{\"notice\":\"Asserts that two arrays of `address` values are equal.\"},\"assertEq(address[],address[],string)\":{\"notice\":\"Asserts that two arrays of `address` values are equal and includes error message into revert string on failure.\"},\"assertEq(bool,bool)\":{\"notice\":\"Asserts that two `bool` values are equal.\"},\"assertEq(bool,bool,string)\":{\"notice\":\"Asserts that two `bool` values are equal and includes error message into revert string on failure.\"},\"assertEq(bool[],bool[])\":{\"notice\":\"Asserts that two arrays of `bool` values are equal.\"},\"assertEq(bool[],bool[],string)\":{\"notice\":\"Asserts that two arrays of `bool` values are equal and includes error message into revert string on failure.\"},\"assertEq(bytes,bytes)\":{\"notice\":\"Asserts that two `bytes` values are equal.\"},\"assertEq(bytes,bytes,string)\":{\"notice\":\"Asserts that two `bytes` values are equal and includes error message into revert string on failure.\"},\"assertEq(bytes32,bytes32)\":{\"notice\":\"Asserts that two `bytes32` values are equal.\"},\"assertEq(bytes32,bytes32,string)\":{\"notice\":\"Asserts that two `bytes32` values are equal and includes error message into revert string on failure.\"},\"assertEq(bytes32[],bytes32[])\":{\"notice\":\"Asserts that two arrays of `bytes32` values are equal.\"},\"assertEq(bytes32[],bytes32[],string)\":{\"notice\":\"Asserts that two arrays of `bytes32` values are equal and includes error message into revert string on failure.\"},\"assertEq(bytes[],bytes[])\":{\"notice\":\"Asserts that two arrays of `bytes` values are equal.\"},\"assertEq(bytes[],bytes[],string)\":{\"notice\":\"Asserts that two arrays of `bytes` values are equal and includes error message into revert string on failure.\"},\"assertEq(int256,int256)\":{\"notice\":\"Asserts that two `int256` values are equal.\"},\"assertEq(int256,int256,string)\":{\"notice\":\"Asserts that two `int256` values are equal and includes error message into revert string on failure.\"},\"assertEq(int256[],int256[])\":{\"notice\":\"Asserts that two arrays of `int256` values are equal.\"},\"assertEq(int256[],int256[],string)\":{\"notice\":\"Asserts that two arrays of `int256` values are equal and includes error message into revert string on failure.\"},\"assertEq(string,string)\":{\"notice\":\"Asserts that two `string` values are equal.\"},\"assertEq(string,string,string)\":{\"notice\":\"Asserts that two `string` values are equal and includes error message into revert string on failure.\"},\"assertEq(string[],string[])\":{\"notice\":\"Asserts that two arrays of `string` values are equal.\"},\"assertEq(string[],string[],string)\":{\"notice\":\"Asserts that two arrays of `string` values are equal and includes error message into revert string on failure.\"},\"assertEq(uint256,uint256)\":{\"notice\":\"Asserts that two `uint256` values are equal.\"},\"assertEq(uint256,uint256,string)\":{\"notice\":\"Asserts that two `uint256` values are equal and includes error message into revert string on failure.\"},\"assertEq(uint256[],uint256[])\":{\"notice\":\"Asserts that two arrays of `uint256 values are equal.\"},\"assertEq(uint256[],uint256[],string)\":{\"notice\":\"Asserts that two arrays of `uint256` values are equal and includes error message into revert string on failure.\"},\"assertEqDecimal(int256,int256,uint256)\":{\"notice\":\"Asserts that two `int256` values are equal, formatting them with decimals in failure message.\"},\"assertEqDecimal(int256,int256,uint256,string)\":{\"notice\":\"Asserts that two `int256` values are equal, formatting them with decimals in failure message. Includes error message into revert string on failure.\"},\"assertEqDecimal(uint256,uint256,uint256)\":{\"notice\":\"Asserts that two `uint256` values are equal, formatting them with decimals in failure message.\"},\"assertEqDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Asserts that two `uint256` values are equal, formatting them with decimals in failure message. Includes error message into revert string on failure.\"},\"assertFalse(bool)\":{\"notice\":\"Asserts that the given condition is false.\"},\"assertFalse(bool,string)\":{\"notice\":\"Asserts that the given condition is false and includes error message into revert string on failure.\"},\"assertGe(int256,int256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than or equal to second.\"},\"assertGe(int256,int256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than or equal to second. Includes error message into revert string on failure.\"},\"assertGe(uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than or equal to second.\"},\"assertGe(uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than or equal to second. Includes error message into revert string on failure.\"},\"assertGeDecimal(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message.\"},\"assertGeDecimal(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertGeDecimal(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message.\"},\"assertGeDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertGt(int256,int256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than second.\"},\"assertGt(int256,int256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than second. Includes error message into revert string on failure.\"},\"assertGt(uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than second.\"},\"assertGt(uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than second. Includes error message into revert string on failure.\"},\"assertGtDecimal(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than second. Formats values with decimals in failure message.\"},\"assertGtDecimal(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertGtDecimal(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than second. Formats values with decimals in failure message.\"},\"assertGtDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertLe(int256,int256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than or equal to second.\"},\"assertLe(int256,int256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than or equal to second. Includes error message into revert string on failure.\"},\"assertLe(uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than or equal to second.\"},\"assertLe(uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than or equal to second. Includes error message into revert string on failure.\"},\"assertLeDecimal(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message.\"},\"assertLeDecimal(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertLeDecimal(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message.\"},\"assertLeDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertLt(int256,int256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than second.\"},\"assertLt(int256,int256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than second. Includes error message into revert string on failure.\"},\"assertLt(uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than second.\"},\"assertLt(uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than second. Includes error message into revert string on failure.\"},\"assertLtDecimal(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than second. Formats values with decimals in failure message.\"},\"assertLtDecimal(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertLtDecimal(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than second. Formats values with decimals in failure message.\"},\"assertLtDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertNotEq(address,address)\":{\"notice\":\"Asserts that two `address` values are not equal.\"},\"assertNotEq(address,address,string)\":{\"notice\":\"Asserts that two `address` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(address[],address[])\":{\"notice\":\"Asserts that two arrays of `address` values are not equal.\"},\"assertNotEq(address[],address[],string)\":{\"notice\":\"Asserts that two arrays of `address` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bool,bool)\":{\"notice\":\"Asserts that two `bool` values are not equal.\"},\"assertNotEq(bool,bool,string)\":{\"notice\":\"Asserts that two `bool` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bool[],bool[])\":{\"notice\":\"Asserts that two arrays of `bool` values are not equal.\"},\"assertNotEq(bool[],bool[],string)\":{\"notice\":\"Asserts that two arrays of `bool` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bytes,bytes)\":{\"notice\":\"Asserts that two `bytes` values are not equal.\"},\"assertNotEq(bytes,bytes,string)\":{\"notice\":\"Asserts that two `bytes` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bytes32,bytes32)\":{\"notice\":\"Asserts that two `bytes32` values are not equal.\"},\"assertNotEq(bytes32,bytes32,string)\":{\"notice\":\"Asserts that two `bytes32` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bytes32[],bytes32[])\":{\"notice\":\"Asserts that two arrays of `bytes32` values are not equal.\"},\"assertNotEq(bytes32[],bytes32[],string)\":{\"notice\":\"Asserts that two arrays of `bytes32` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bytes[],bytes[])\":{\"notice\":\"Asserts that two arrays of `bytes` values are not equal.\"},\"assertNotEq(bytes[],bytes[],string)\":{\"notice\":\"Asserts that two arrays of `bytes` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(int256,int256)\":{\"notice\":\"Asserts that two `int256` values are not equal.\"},\"assertNotEq(int256,int256,string)\":{\"notice\":\"Asserts that two `int256` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(int256[],int256[])\":{\"notice\":\"Asserts that two arrays of `int256` values are not equal.\"},\"assertNotEq(int256[],int256[],string)\":{\"notice\":\"Asserts that two arrays of `int256` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(string,string)\":{\"notice\":\"Asserts that two `string` values are not equal.\"},\"assertNotEq(string,string,string)\":{\"notice\":\"Asserts that two `string` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(string[],string[])\":{\"notice\":\"Asserts that two arrays of `string` values are not equal.\"},\"assertNotEq(string[],string[],string)\":{\"notice\":\"Asserts that two arrays of `string` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(uint256,uint256)\":{\"notice\":\"Asserts that two `uint256` values are not equal.\"},\"assertNotEq(uint256,uint256,string)\":{\"notice\":\"Asserts that two `uint256` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(uint256[],uint256[])\":{\"notice\":\"Asserts that two arrays of `uint256` values are not equal.\"},\"assertNotEq(uint256[],uint256[],string)\":{\"notice\":\"Asserts that two arrays of `uint256` values are not equal and includes error message into revert string on failure.\"},\"assertNotEqDecimal(int256,int256,uint256)\":{\"notice\":\"Asserts that two `int256` values are not equal, formatting them with decimals in failure message.\"},\"assertNotEqDecimal(int256,int256,uint256,string)\":{\"notice\":\"Asserts that two `int256` values are not equal, formatting them with decimals in failure message. Includes error message into revert string on failure.\"},\"assertNotEqDecimal(uint256,uint256,uint256)\":{\"notice\":\"Asserts that two `uint256` values are not equal, formatting them with decimals in failure message.\"},\"assertNotEqDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Asserts that two `uint256` values are not equal, formatting them with decimals in failure message. Includes error message into revert string on failure.\"},\"assertTrue(bool)\":{\"notice\":\"Asserts that the given condition is true.\"},\"assertTrue(bool,string)\":{\"notice\":\"Asserts that the given condition is true and includes error message into revert string on failure.\"},\"assume(bool)\":{\"notice\":\"If the condition is false, discard this run's fuzz inputs and generate new ones.\"},\"assumeNoRevert((address,bool,bytes))\":{\"notice\":\"Discard this run's fuzz inputs and generate new ones if next call reverts with the potential revert parameters.\"},\"assumeNoRevert((address,bool,bytes)[])\":{\"notice\":\"Discard this run's fuzz inputs and generate new ones if next call reverts with the any of the potential revert parameters.\"},\"assumeNoRevert()\":{\"notice\":\"Discard this run's fuzz inputs and generate new ones if next call reverted.\"},\"attachBlob(bytes)\":{\"notice\":\"Attach an EIP-4844 blob to the next call\"},\"attachDelegation((uint8,bytes32,bytes32,uint64,address))\":{\"notice\":\"Designate the next call as an EIP-7702 transaction\"},\"attachDelegation((uint8,bytes32,bytes32,uint64,address),bool)\":{\"notice\":\"Designate the next call as an EIP-7702 transaction, with optional cross-chain validity.\"},\"bound(int256,int256,int256)\":{\"notice\":\"Returns an int256 value bounded in given range and different from the current one.\"},\"bound(uint256,uint256,uint256)\":{\"notice\":\"Returns an uint256 value bounded in given range and different from the current one.\"},\"breakpoint(string)\":{\"notice\":\"Writes a breakpoint to jump to in the debugger.\"},\"breakpoint(string,bool)\":{\"notice\":\"Writes a conditional breakpoint to jump to in the debugger.\"},\"broadcast()\":{\"notice\":\"Has the next call (at this call depth only) create transactions that can later be signed and sent onchain. Broadcasting address is determined by checking the following in order: 1. If `--sender` argument was provided, that address is used. 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used. 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used.\"},\"broadcast(address)\":{\"notice\":\"Has the next call (at this call depth only) create a transaction with the address provided as the sender that can later be signed and sent onchain.\"},\"broadcast(uint256)\":{\"notice\":\"Has the next call (at this call depth only) create a transaction with the private key provided as the sender that can later be signed and sent onchain.\"},\"broadcastRawTransaction(bytes)\":{\"notice\":\"Takes a signed transaction and broadcasts it to the network.\"},\"closeFile(string)\":{\"notice\":\"Closes file for reading, resetting the offset and allowing to read it from beginning with readLine. `path` is relative to the project root.\"},\"computeCreate2Address(bytes32,bytes32)\":{\"notice\":\"Compute the address of a contract created with CREATE2 using the default CREATE2 deployer.\"},\"computeCreate2Address(bytes32,bytes32,address)\":{\"notice\":\"Compute the address of a contract created with CREATE2 using the given CREATE2 deployer.\"},\"computeCreateAddress(address,uint256)\":{\"notice\":\"Compute the address a contract will be deployed at for a given deployer address and nonce.\"},\"contains(string,string)\":{\"notice\":\"Returns true if `search` is found in `subject`, false otherwise.\"},\"copyFile(string,string)\":{\"notice\":\"Copies the contents of one file to another. This function will **overwrite** the contents of `to`. On success, the total number of bytes copied is returned and it is equal to the length of the `to` file as reported by `metadata`. Both `from` and `to` are relative to the project root.\"},\"copyStorage(address,address)\":{\"notice\":\"Utility cheatcode to copy storage of `from` contract to another `to` contract.\"},\"createDir(string,bool)\":{\"notice\":\"Creates a new, empty directory at the provided path. This cheatcode will revert in the following situations, but is not limited to just these cases: - User lacks permissions to modify `path`. - A parent of the given path doesn't exist and `recursive` is false. - `path` already exists and `recursive` is false. `path` is relative to the project root.\"},\"createWallet(string)\":{\"notice\":\"Derives a private key from the name, labels the account with that name, and returns the wallet.\"},\"createWallet(uint256)\":{\"notice\":\"Generates a wallet from the private key and returns the wallet.\"},\"createWallet(uint256,string)\":{\"notice\":\"Generates a wallet from the private key, labels the account with that name, and returns the wallet.\"},\"deployCode(string)\":{\"notice\":\"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional.\"},\"deployCode(string,bytes)\":{\"notice\":\"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments.\"},\"deployCode(string,bytes,bytes32)\":{\"notice\":\"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments.\"},\"deployCode(string,bytes,uint256)\":{\"notice\":\"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments and `msg.value`.\"},\"deployCode(string,bytes,uint256,bytes32)\":{\"notice\":\"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments and `msg.value`.\"},\"deployCode(string,bytes32)\":{\"notice\":\"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional.\"},\"deployCode(string,uint256)\":{\"notice\":\"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts `msg.value`.\"},\"deployCode(string,uint256,bytes32)\":{\"notice\":\"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts `msg.value`.\"},\"deriveKey(string,string,uint32)\":{\"notice\":\"Derive a private key from a provided mnemonic string (or mnemonic file path) at `{derivationPath}{index}`.\"},\"deriveKey(string,string,uint32,string)\":{\"notice\":\"Derive a private key from a provided mnemonic string (or mnemonic file path) in the specified language at `{derivationPath}{index}`.\"},\"deriveKey(string,uint32)\":{\"notice\":\"Derive a private key from a provided mnemonic string (or mnemonic file path) at the derivation path `m/44'/60'/0'/0/{index}`.\"},\"deriveKey(string,uint32,string)\":{\"notice\":\"Derive a private key from a provided mnemonic string (or mnemonic file path) in the specified language at the derivation path `m/44'/60'/0'/0/{index}`.\"},\"eip712HashStruct(string,bytes)\":{\"notice\":\"Generates the struct hash of the canonical EIP-712 type representation and its abi-encoded data. Supports 2 different inputs: 1. Name of the type (i.e. \\\"PermitSingle\\\"): * requires previous binding generation with `forge bind-json`. * bindings will be retrieved from the path configured in `foundry.toml`. 2. String representation of the type (i.e. \\\"Foo(Bar bar) Bar(uint256 baz)\\\"). * Note: the cheatcode will use the canonical type even if the input is malformated with the wrong order of elements or with extra whitespaces.\"},\"eip712HashStruct(string,string,bytes)\":{\"notice\":\"Generates the struct hash of the canonical EIP-712 type representation and its abi-encoded data. Requires previous binding generation with `forge bind-json`. Params: * `bindingsPath`: path where the output of `forge bind-json` is stored. * `typeName`: Name of the type (i.e. \\\"PermitSingle\\\"). * `abiEncodedData`: ABI-encoded data for the struct that is being hashed.\"},\"eip712HashType(string)\":{\"notice\":\"Generates the hash of the canonical EIP-712 type representation. Supports 2 different inputs: 1. Name of the type (i.e. \\\"Transaction\\\"): * requires previous binding generation with `forge bind-json`. * bindings will be retrieved from the path configured in `foundry.toml`. 2. String representation of the type (i.e. \\\"Foo(Bar bar) Bar(uint256 baz)\\\"). * Note: the cheatcode will output the canonical type even if the input is malformated with the wrong order of elements or with extra whitespaces.\"},\"eip712HashType(string,string)\":{\"notice\":\"Generates the hash of the canonical EIP-712 type representation. Requires previous binding generation with `forge bind-json`. Params: * `bindingsPath`: path where the output of `forge bind-json` is stored. * `typeName`: Name of the type (i.e. \\\"Transaction\\\").\"},\"eip712HashTypedData(string)\":{\"notice\":\"Generates a ready-to-sign digest of human-readable typed data following the EIP-712 standard.\"},\"ensNamehash(string)\":{\"notice\":\"Returns ENS namehash for provided string.\"},\"envAddress(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `address`. Reverts if the variable was not found or could not be parsed.\"},\"envAddress(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envBool(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bool`. Reverts if the variable was not found or could not be parsed.\"},\"envBool(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envBytes(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bytes`. Reverts if the variable was not found or could not be parsed.\"},\"envBytes(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envBytes32(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bytes32`. Reverts if the variable was not found or could not be parsed.\"},\"envBytes32(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envExists(string)\":{\"notice\":\"Gets the environment variable `name` and returns true if it exists, else returns false.\"},\"envInt(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `int256`. Reverts if the variable was not found or could not be parsed.\"},\"envInt(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envOr(string,address)\":{\"notice\":\"Gets the environment variable `name` and parses it as `address`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,bool)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bool`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,bytes)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bytes`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,bytes32)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bytes32`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,int256)\":{\"notice\":\"Gets the environment variable `name` and parses it as `int256`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `string`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,address[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,bool[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,bytes32[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,bytes[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,int256[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,string[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,uint256[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,uint256)\":{\"notice\":\"Gets the environment variable `name` and parses it as `uint256`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envString(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `string`. Reverts if the variable was not found or could not be parsed.\"},\"envString(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envUint(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `uint256`. Reverts if the variable was not found or could not be parsed.\"},\"envUint(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"eth_getLogs(uint256,uint256,address,bytes32[])\":{\"notice\":\"Gets all the logs according to specified filter.\"},\"exists(string)\":{\"notice\":\"Returns true if the given path points to an existing entity, else returns false.\"},\"ffi(string[])\":{\"notice\":\"Performs a foreign function call via the terminal.\"},\"foundryVersionAtLeast(string)\":{\"notice\":\"Returns true if the current Foundry version is greater than or equal to the given version. The given version string must be in the format `major.minor.patch`. This is equivalent to `foundryVersionCmp(version) >= 0`.\"},\"foundryVersionCmp(string)\":{\"notice\":\"Compares the current Foundry version with the given version string. The given version string must be in the format `major.minor.patch`. Returns: -1 if current Foundry version is less than the given version 0 if current Foundry version equals the given version 1 if current Foundry version is greater than the given version This result can then be used with a comparison operator against `0`. For example, to check if the current Foundry version is greater than or equal to `1.0.0`: `if (foundryVersionCmp(\\\"1.0.0\\\") >= 0) { ... }`\"},\"fsMetadata(string)\":{\"notice\":\"Given a path, query the file system to get information about a file, directory, etc.\"},\"getArtifactPathByCode(bytes)\":{\"notice\":\"Gets the artifact path from code (aka. creation code).\"},\"getArtifactPathByDeployedCode(bytes)\":{\"notice\":\"Gets the artifact path from deployed code (aka. runtime code).\"},\"getBlobBaseFee()\":{\"notice\":\"Gets the current `block.blobbasefee`. You should use this instead of `block.blobbasefee` if you use `vm.blobBaseFee`, as `block.blobbasefee` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180\"},\"getBlockNumber()\":{\"notice\":\"Gets the current `block.number`. You should use this instead of `block.number` if you use `vm.roll`, as `block.number` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180\"},\"getBlockTimestamp()\":{\"notice\":\"Gets the current `block.timestamp`. You should use this instead of `block.timestamp` if you use `vm.warp`, as `block.timestamp` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180\"},\"getBroadcast(string,uint64,uint8)\":{\"notice\":\"Returns the most recent broadcast for the given contract on `chainId` matching `txType`. For example: The most recent deployment can be fetched by passing `txType` as `CREATE` or `CREATE2`. The most recent call can be fetched by passing `txType` as `CALL`.\"},\"getBroadcasts(string,uint64)\":{\"notice\":\"Returns all broadcasts for the given contract on `chainId`. Sorted such that the most recent broadcast is the first element, and the oldest is the last. i.e descending order of BroadcastTxSummary.blockNumber.\"},\"getBroadcasts(string,uint64,uint8)\":{\"notice\":\"Returns all broadcasts for the given contract on `chainId` with the specified `txType`. Sorted such that the most recent broadcast is the first element, and the oldest is the last. i.e descending order of BroadcastTxSummary.blockNumber.\"},\"getChain(string)\":{\"notice\":\"Returns a Chain struct for specific alias\"},\"getChain(uint256)\":{\"notice\":\"Returns a Chain struct for specific chainId\"},\"getChainId()\":{\"notice\":\"Gets the current `block.chainid` of the currently selected environment. You should use this instead of `block.chainid` if you use `vm.selectFork` or `vm.createSelectFork`, as `block.chainid` could be assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180\"},\"getCode(string)\":{\"notice\":\"Gets the creation bytecode from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional.\"},\"getDeployedCode(string)\":{\"notice\":\"Gets the deployed bytecode from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional.\"},\"getDeployment(string)\":{\"notice\":\"Returns the most recent deployment for the current `chainId`.\"},\"getDeployment(string,uint64)\":{\"notice\":\"Returns the most recent deployment for the given contract on `chainId`\"},\"getDeployments(string,uint64)\":{\"notice\":\"Returns all deployments for the given contract on `chainId` Sorted in descending order of deployment time i.e descending order of BroadcastTxSummary.blockNumber. The most recent deployment is the first element, and the oldest is the last.\"},\"getFoundryVersion()\":{\"notice\":\"Returns the Foundry version. Format: -+.. Sample output: 0.3.0-nightly+3cb96bde9b.1737036656.debug Note: Build timestamps may vary slightly across platforms due to separate CI jobs. For reliable version comparisons, use UNIX format (e.g., >= 1700000000) to compare timestamps while ignoring minor time differences.\"},\"getLabel(address)\":{\"notice\":\"Gets the label for the specified address.\"},\"getMappingKeyAndParentOf(address,bytes32)\":{\"notice\":\"Gets the map key and parent of a mapping at a given slot, for a given address.\"},\"getMappingLength(address,bytes32)\":{\"notice\":\"Gets the number of elements in the mapping at the given slot, for a given address.\"},\"getMappingSlotAt(address,bytes32,uint256)\":{\"notice\":\"Gets the elements at index idx of the mapping at the given slot, for a given address. The index must be less than the length of the mapping (i.e. the number of keys in the mapping).\"},\"getNonce((address,uint256,uint256,uint256))\":{\"notice\":\"Get the nonce of a `Wallet`.\"},\"getNonce(address)\":{\"notice\":\"Gets the nonce of an account.\"},\"getRawBlockHeader(uint256)\":{\"notice\":\"Gets the RLP encoded block header for a given block number. Returns the block header in the same format as `cast block --raw`.\"},\"getRecordedLogs()\":{\"notice\":\"Gets all the recorded logs.\"},\"getStateDiff()\":{\"notice\":\"Returns state diffs from current `vm.startStateDiffRecording` session.\"},\"getStateDiffJson()\":{\"notice\":\"Returns state diffs from current `vm.startStateDiffRecording` session, in json format.\"},\"getStorageAccesses()\":{\"notice\":\"Returns an array of `StorageAccess` from current `vm.stateStateDiffRecording` session\"},\"getWallets()\":{\"notice\":\"Returns addresses of available unlocked wallets in the script environment.\"},\"indexOf(string,string)\":{\"notice\":\"Returns the index of the first occurrence of a `key` in an `input` string. Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `key` is not found. Returns 0 in case of an empty `key`.\"},\"isContext(uint8)\":{\"notice\":\"Returns true if `forge` command was executed in given context.\"},\"isDir(string)\":{\"notice\":\"Returns true if the path exists on disk and is pointing at a directory, else returns false.\"},\"isFile(string)\":{\"notice\":\"Returns true if the path exists on disk and is pointing at a regular file, else returns false.\"},\"keyExists(string,string)\":{\"notice\":\"Checks if `key` exists in a JSON object `keyExists` is being deprecated in favor of `keyExistsJson`. It will be removed in future versions.\"},\"keyExistsJson(string,string)\":{\"notice\":\"Checks if `key` exists in a JSON object.\"},\"keyExistsToml(string,string)\":{\"notice\":\"Checks if `key` exists in a TOML table.\"},\"label(address,string)\":{\"notice\":\"Labels an address in call traces.\"},\"lastCallGas()\":{\"notice\":\"Gets the gas used in the last call from the callee perspective.\"},\"load(address,bytes32)\":{\"notice\":\"Loads a storage slot from an address.\"},\"parseAddress(string)\":{\"notice\":\"Parses the given `string` into an `address`.\"},\"parseBool(string)\":{\"notice\":\"Parses the given `string` into a `bool`.\"},\"parseBytes(string)\":{\"notice\":\"Parses the given `string` into `bytes`.\"},\"parseBytes32(string)\":{\"notice\":\"Parses the given `string` into a `bytes32`.\"},\"parseInt(string)\":{\"notice\":\"Parses the given `string` into a `int256`.\"},\"parseJson(string)\":{\"notice\":\"ABI-encodes a JSON object.\"},\"parseJson(string,string)\":{\"notice\":\"ABI-encodes a JSON object at `key`.\"},\"parseJsonAddress(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `address`.\"},\"parseJsonAddressArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `address[]`.\"},\"parseJsonBool(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bool`.\"},\"parseJsonBoolArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bool[]`.\"},\"parseJsonBytes(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bytes`.\"},\"parseJsonBytes32(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bytes32`.\"},\"parseJsonBytes32Array(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bytes32[]`.\"},\"parseJsonBytesArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bytes[]`.\"},\"parseJsonInt(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `int256`.\"},\"parseJsonIntArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `int256[]`.\"},\"parseJsonKeys(string,string)\":{\"notice\":\"Returns an array of all the keys in a JSON object.\"},\"parseJsonString(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `string`.\"},\"parseJsonStringArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `string[]`.\"},\"parseJsonType(string,string)\":{\"notice\":\"Parses a string of JSON data and coerces it to type corresponding to `typeDescription`.\"},\"parseJsonType(string,string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to type corresponding to `typeDescription`.\"},\"parseJsonTypeArray(string,string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to type array corresponding to `typeDescription`.\"},\"parseJsonUint(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `uint256`.\"},\"parseJsonUintArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `uint256[]`.\"},\"parseToml(string)\":{\"notice\":\"ABI-encodes a TOML table.\"},\"parseToml(string,string)\":{\"notice\":\"ABI-encodes a TOML table at `key`.\"},\"parseTomlAddress(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `address`.\"},\"parseTomlAddressArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `address[]`.\"},\"parseTomlBool(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bool`.\"},\"parseTomlBoolArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bool[]`.\"},\"parseTomlBytes(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bytes`.\"},\"parseTomlBytes32(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bytes32`.\"},\"parseTomlBytes32Array(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bytes32[]`.\"},\"parseTomlBytesArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bytes[]`.\"},\"parseTomlInt(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `int256`.\"},\"parseTomlIntArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `int256[]`.\"},\"parseTomlKeys(string,string)\":{\"notice\":\"Returns an array of all the keys in a TOML table.\"},\"parseTomlString(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `string`.\"},\"parseTomlStringArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `string[]`.\"},\"parseTomlType(string,string)\":{\"notice\":\"Parses a string of TOML data and coerces it to type corresponding to `typeDescription`.\"},\"parseTomlType(string,string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to type corresponding to `typeDescription`.\"},\"parseTomlTypeArray(string,string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to type array corresponding to `typeDescription`.\"},\"parseTomlUint(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `uint256`.\"},\"parseTomlUintArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `uint256[]`.\"},\"parseUint(string)\":{\"notice\":\"Parses the given `string` into a `uint256`.\"},\"pauseGasMetering()\":{\"notice\":\"Pauses gas metering (i.e. gas usage is not counted). Noop if already paused.\"},\"pauseTracing()\":{\"notice\":\"Pauses collection of call traces. Useful in cases when you want to skip tracing of complex calls which are not useful for debugging.\"},\"projectRoot()\":{\"notice\":\"Get the path of the current project root.\"},\"prompt(string)\":{\"notice\":\"Prompts the user for a string value in the terminal.\"},\"promptAddress(string)\":{\"notice\":\"Prompts the user for an address in the terminal.\"},\"promptSecret(string)\":{\"notice\":\"Prompts the user for a hidden string value in the terminal.\"},\"promptSecretUint(string)\":{\"notice\":\"Prompts the user for hidden uint256 in the terminal (usually pk).\"},\"promptUint(string)\":{\"notice\":\"Prompts the user for uint256 in the terminal.\"},\"publicKeyP256(uint256)\":{\"notice\":\"Derives secp256r1 public key from the provided `privateKey`.\"},\"randomAddress()\":{\"notice\":\"Returns a random `address`.\"},\"randomBool()\":{\"notice\":\"Returns a random `bool`.\"},\"randomBytes(uint256)\":{\"notice\":\"Returns a random byte array value of the given length.\"},\"randomBytes4()\":{\"notice\":\"Returns a random fixed-size byte array of length 4.\"},\"randomBytes8()\":{\"notice\":\"Returns a random fixed-size byte array of length 8.\"},\"randomInt()\":{\"notice\":\"Returns a random `int256` value.\"},\"randomInt(uint256)\":{\"notice\":\"Returns a random `int256` value of given bits.\"},\"randomUint()\":{\"notice\":\"Returns a random uint256 value.\"},\"randomUint(uint256)\":{\"notice\":\"Returns a random `uint256` value of given bits.\"},\"randomUint(uint256,uint256)\":{\"notice\":\"Returns random uint256 value between the provided range (=min..=max).\"},\"readDir(string)\":{\"notice\":\"Reads the directory at the given path recursively, up to `maxDepth`. `maxDepth` defaults to 1, meaning only the direct children of the given directory will be returned. Follows symbolic links if `followLinks` is true.\"},\"readDir(string,uint64)\":{\"notice\":\"See `readDir(string)`.\"},\"readDir(string,uint64,bool)\":{\"notice\":\"See `readDir(string)`.\"},\"readFile(string)\":{\"notice\":\"Reads the entire content of file to string. `path` is relative to the project root.\"},\"readFileBinary(string)\":{\"notice\":\"Reads the entire content of file as binary. `path` is relative to the project root.\"},\"readLine(string)\":{\"notice\":\"Reads next line of file to string.\"},\"readLink(string)\":{\"notice\":\"Reads a symbolic link, returning the path that the link points to. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` is not a symbolic link. - `path` does not exist.\"},\"record()\":{\"notice\":\"Records all storage reads and writes. Use `accesses` to get the recorded data. Subsequent calls to `record` will clear the previous data.\"},\"recordLogs()\":{\"notice\":\"Record all the transaction logs.\"},\"rememberKey(uint256)\":{\"notice\":\"Adds a private key to the local forge wallet and returns the address.\"},\"rememberKeys(string,string,string,uint32)\":{\"notice\":\"Derive a set number of wallets from a mnemonic in the specified language at the derivation path `m/44'/60'/0'/0/{0..count}`. The respective private keys are saved to the local forge wallet for later use and their addresses are returned.\"},\"rememberKeys(string,string,uint32)\":{\"notice\":\"Derive a set number of wallets from a mnemonic at the derivation path `m/44'/60'/0'/0/{0..count}`. The respective private keys are saved to the local forge wallet for later use and their addresses are returned.\"},\"removeDir(string,bool)\":{\"notice\":\"Removes a directory at the provided path. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` doesn't exist. - `path` isn't a directory. - User lacks permissions to modify `path`. - The directory is not empty and `recursive` is false. `path` is relative to the project root.\"},\"removeFile(string)\":{\"notice\":\"Removes a file from the filesystem. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` points to a directory. - The file doesn't exist. - The user lacks permissions to remove the file. `path` is relative to the project root.\"},\"replace(string,string,string)\":{\"notice\":\"Replaces occurrences of `from` in the given `string` with `to`.\"},\"resetGasMetering()\":{\"notice\":\"Reset gas metering (i.e. gas usage is set to gas limit).\"},\"resolveEnv(string)\":{\"notice\":\"Resolves the env variable placeholders of a given input string.\"},\"resumeGasMetering()\":{\"notice\":\"Resumes gas metering (i.e. gas usage is counted again). Noop if already on.\"},\"resumeTracing()\":{\"notice\":\"Unpauses collection of call traces.\"},\"rpc(string,string)\":{\"notice\":\"Performs an Ethereum JSON-RPC request to the current fork URL.\"},\"rpc(string,string,string)\":{\"notice\":\"Performs an Ethereum JSON-RPC request to the given endpoint.\"},\"rpcUrl(string)\":{\"notice\":\"Returns the RPC url for the given alias.\"},\"rpcUrlStructs()\":{\"notice\":\"Returns all rpc urls and their aliases as structs.\"},\"rpcUrls()\":{\"notice\":\"Returns all rpc urls and their aliases `[alias, url][]`.\"},\"serializeAddress(string,string,address)\":{\"notice\":\"See `serializeJson`.\"},\"serializeAddress(string,string,address[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeBool(string,string,bool)\":{\"notice\":\"See `serializeJson`.\"},\"serializeBool(string,string,bool[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeBytes(string,string,bytes)\":{\"notice\":\"See `serializeJson`.\"},\"serializeBytes(string,string,bytes[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeBytes32(string,string,bytes32)\":{\"notice\":\"See `serializeJson`.\"},\"serializeBytes32(string,string,bytes32[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeInt(string,string,int256)\":{\"notice\":\"See `serializeJson`.\"},\"serializeInt(string,string,int256[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeJson(string,string)\":{\"notice\":\"Serializes a key and value to a JSON object stored in-memory that can be later written to a file. Returns the stringified version of the specific JSON file up to that moment.\"},\"serializeJsonType(string,bytes)\":{\"notice\":\"See `serializeJson`.\"},\"serializeJsonType(string,string,string,bytes)\":{\"notice\":\"See `serializeJson`.\"},\"serializeString(string,string,string)\":{\"notice\":\"See `serializeJson`.\"},\"serializeString(string,string,string[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeUint(string,string,uint256)\":{\"notice\":\"See `serializeJson`.\"},\"serializeUint(string,string,uint256[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeUintToHex(string,string,uint256)\":{\"notice\":\"See `serializeJson`.\"},\"setArbitraryStorage(address)\":{\"notice\":\"Utility cheatcode to set arbitrary storage for given target address.\"},\"setArbitraryStorage(address,bool)\":{\"notice\":\"Utility cheatcode to set arbitrary storage for given target address and overwrite any storage slots that have been previously set.\"},\"setEnv(string,string)\":{\"notice\":\"Sets environment variables.\"},\"setSeed(uint256)\":{\"notice\":\"Set RNG seed.\"},\"shuffle(uint256[])\":{\"notice\":\"Randomly shuffles an array.\"},\"sign((address,uint256,uint256,uint256),bytes32)\":{\"notice\":\"Signs data with a `Wallet`.\"},\"sign(address,bytes32)\":{\"notice\":\"Signs `digest` with signer provided to script using the secp256k1 curve. Raises error if none of the signers passed into the script have provided address.\"},\"sign(bytes32)\":{\"notice\":\"Signs `digest` with signer provided to script using the secp256k1 curve. If `--sender` is provided, the signer with provided address is used, otherwise, if exactly one signer is provided to the script, that signer is used. Raises error if signer passed through `--sender` does not match any unlocked signers or if `--sender` is not provided and not exactly one signer is passed to the script.\"},\"sign(uint256,bytes32)\":{\"notice\":\"Signs `digest` with `privateKey` using the secp256k1 curve.\"},\"signAndAttachDelegation(address,uint256)\":{\"notice\":\"Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction\"},\"signAndAttachDelegation(address,uint256,bool)\":{\"notice\":\"Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction, with optional cross-chain validity.\"},\"signAndAttachDelegation(address,uint256,uint64)\":{\"notice\":\"Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction for specific nonce\"},\"signCompact((address,uint256,uint256,uint256),bytes32)\":{\"notice\":\"Signs data with a `Wallet`. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes.\"},\"signCompact(address,bytes32)\":{\"notice\":\"Signs `digest` with signer provided to script using the secp256k1 curve. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes. Raises error if none of the signers passed into the script have provided address.\"},\"signCompact(bytes32)\":{\"notice\":\"Signs `digest` with signer provided to script using the secp256k1 curve. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes. If `--sender` is provided, the signer with provided address is used, otherwise, if exactly one signer is provided to the script, that signer is used. Raises error if signer passed through `--sender` does not match any unlocked signers or if `--sender` is not provided and not exactly one signer is passed to the script.\"},\"signCompact(uint256,bytes32)\":{\"notice\":\"Signs `digest` with `privateKey` using the secp256k1 curve. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes.\"},\"signDelegation(address,uint256)\":{\"notice\":\"Sign an EIP-7702 authorization for delegation\"},\"signDelegation(address,uint256,bool)\":{\"notice\":\"Sign an EIP-7702 authorization for delegation, with optional cross-chain validity.\"},\"signDelegation(address,uint256,uint64)\":{\"notice\":\"Sign an EIP-7702 authorization for delegation for specific nonce\"},\"signP256(uint256,bytes32)\":{\"notice\":\"Signs `digest` with `privateKey` using the secp256r1 curve.\"},\"sleep(uint256)\":{\"notice\":\"Suspends execution of the main thread for `duration` milliseconds.\"},\"sort(uint256[])\":{\"notice\":\"Sorts an array in ascending order.\"},\"split(string,string)\":{\"notice\":\"Splits the given `string` into an array of strings divided by the `delimiter`.\"},\"startBroadcast()\":{\"notice\":\"Has all subsequent calls (at this call depth only) create transactions that can later be signed and sent onchain. Broadcasting address is determined by checking the following in order: 1. If `--sender` argument was provided, that address is used. 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used. 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used.\"},\"startBroadcast(address)\":{\"notice\":\"Has all subsequent calls (at this call depth only) create transactions with the address provided that can later be signed and sent onchain.\"},\"startBroadcast(uint256)\":{\"notice\":\"Has all subsequent calls (at this call depth only) create transactions with the private key provided that can later be signed and sent onchain.\"},\"startDebugTraceRecording()\":{\"notice\":\"Records the debug trace during the run.\"},\"startMappingRecording()\":{\"notice\":\"Starts recording all map SSTOREs for later retrieval.\"},\"startStateDiffRecording()\":{\"notice\":\"Record all account accesses as part of CREATE, CALL or SELFDESTRUCT opcodes in order, along with the context of the calls\"},\"stopAndReturnDebugTraceRecording()\":{\"notice\":\"Stop debug trace recording and returns the recorded debug trace.\"},\"stopAndReturnStateDiff()\":{\"notice\":\"Returns an ordered array of all account accesses from a `vm.startStateDiffRecording` session.\"},\"stopBroadcast()\":{\"notice\":\"Stops collecting onchain transactions.\"},\"stopMappingRecording()\":{\"notice\":\"Stops recording all map SSTOREs for later retrieval and clears the recorded data.\"},\"stopRecord()\":{\"notice\":\"Stops recording storage reads and writes.\"},\"toBase64(bytes)\":{\"notice\":\"Encodes a `bytes` value to a base64 string.\"},\"toBase64(string)\":{\"notice\":\"Encodes a `string` value to a base64 string.\"},\"toBase64URL(bytes)\":{\"notice\":\"Encodes a `bytes` value to a base64url string.\"},\"toBase64URL(string)\":{\"notice\":\"Encodes a `string` value to a base64url string.\"},\"toLowercase(string)\":{\"notice\":\"Converts the given `string` value to Lowercase.\"},\"toString(address)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(bool)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(bytes)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(bytes32)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(int256)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(uint256)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toUppercase(string)\":{\"notice\":\"Converts the given `string` value to Uppercase.\"},\"trim(string)\":{\"notice\":\"Trims leading and trailing whitespace from the given `string` value.\"},\"tryFfi(string[])\":{\"notice\":\"Performs a foreign function call via terminal and returns the exit code, stdout, and stderr.\"},\"unixTime()\":{\"notice\":\"Returns the time since unix epoch in milliseconds.\"},\"writeFile(string,string)\":{\"notice\":\"Writes data to file, creating a file if it does not exist, and entirely replacing its contents if it does. `path` is relative to the project root.\"},\"writeFileBinary(string,bytes)\":{\"notice\":\"Writes binary data to a file, creating a file if it does not exist, and entirely replacing its contents if it does. `path` is relative to the project root.\"},\"writeJson(string,string)\":{\"notice\":\"Write a serialized JSON object to a file. If the file exists, it will be overwritten.\"},\"writeJson(string,string,string)\":{\"notice\":\"Write a serialized JSON object to an **existing** JSON file, replacing a value with key = This is useful to replace a specific value of a JSON file, without having to parse the entire thing. This cheatcode will create new keys if they didn't previously exist.\"},\"writeLine(string,string)\":{\"notice\":\"Writes line to file, creating a file if it does not exist. `path` is relative to the project root.\"},\"writeToml(string,string)\":{\"notice\":\"Takes serialized JSON, converts to TOML and write a serialized TOML to a file.\"},\"writeToml(string,string,string)\":{\"notice\":\"Takes serialized JSON, converts to TOML and write a serialized TOML table to an **existing** TOML file, replacing a value with key = This is useful to replace a specific value of a TOML file, without having to parse the entire thing. This cheatcode will create new keys if they didn't previously exist.\"}},\"notice\":\"The `VmSafe` interface does not allow manipulation of the EVM state or other actions that may result in Script simulations differing from on-chain execution. It is recommended to only use these cheats in scripts.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Vm.sol\":\"VmSafe\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9\",\"dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"target","type":"address"}],"stateMutability":"view","type":"function","name":"accesses","outputs":[{"internalType":"bytes32[]","name":"readSlots","type":"bytes32[]"},{"internalType":"bytes32[]","name":"writeSlots","type":"bytes32[]"}]},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}],"stateMutability":"pure","type":"function","name":"addr","outputs":[{"internalType":"address","name":"keyAddr","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"maxDelta","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertApproxEqAbs"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"maxDelta","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertApproxEqAbs"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"maxDelta","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertApproxEqAbs"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"maxDelta","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertApproxEqAbs"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"maxDelta","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertApproxEqAbsDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"maxDelta","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertApproxEqAbsDecimal"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"maxDelta","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertApproxEqAbsDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"maxDelta","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertApproxEqAbsDecimal"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"maxPercentDelta","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertApproxEqRel"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"maxPercentDelta","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertApproxEqRel"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"maxPercentDelta","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertApproxEqRel"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"maxPercentDelta","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertApproxEqRel"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"maxPercentDelta","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertApproxEqRelDecimal"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"maxPercentDelta","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertApproxEqRelDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"maxPercentDelta","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertApproxEqRelDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"maxPercentDelta","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertApproxEqRelDecimal"},{"inputs":[{"internalType":"bytes32[]","name":"left","type":"bytes32[]"},{"internalType":"bytes32[]","name":"right","type":"bytes32[]"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"int256[]","name":"left","type":"int256[]"},{"internalType":"int256[]","name":"right","type":"int256[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"address","name":"left","type":"address"},{"internalType":"address","name":"right","type":"address"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"string","name":"left","type":"string"},{"internalType":"string","name":"right","type":"string"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"address[]","name":"left","type":"address[]"},{"internalType":"address[]","name":"right","type":"address[]"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"address[]","name":"left","type":"address[]"},{"internalType":"address[]","name":"right","type":"address[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"bool","name":"left","type":"bool"},{"internalType":"bool","name":"right","type":"bool"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"address","name":"left","type":"address"},{"internalType":"address","name":"right","type":"address"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"uint256[]","name":"left","type":"uint256[]"},{"internalType":"uint256[]","name":"right","type":"uint256[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"bool[]","name":"left","type":"bool[]"},{"internalType":"bool[]","name":"right","type":"bool[]"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"int256[]","name":"left","type":"int256[]"},{"internalType":"int256[]","name":"right","type":"int256[]"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"bytes32","name":"left","type":"bytes32"},{"internalType":"bytes32","name":"right","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"uint256[]","name":"left","type":"uint256[]"},{"internalType":"uint256[]","name":"right","type":"uint256[]"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"bytes","name":"left","type":"bytes"},{"internalType":"bytes","name":"right","type":"bytes"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"bytes32","name":"left","type":"bytes32"},{"internalType":"bytes32","name":"right","type":"bytes32"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"string[]","name":"left","type":"string[]"},{"internalType":"string[]","name":"right","type":"string[]"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"bytes32[]","name":"left","type":"bytes32[]"},{"internalType":"bytes32[]","name":"right","type":"bytes32[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"bytes","name":"left","type":"bytes"},{"internalType":"bytes","name":"right","type":"bytes"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"bool[]","name":"left","type":"bool[]"},{"internalType":"bool[]","name":"right","type":"bool[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"bytes[]","name":"left","type":"bytes[]"},{"internalType":"bytes[]","name":"right","type":"bytes[]"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"string[]","name":"left","type":"string[]"},{"internalType":"string[]","name":"right","type":"string[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"string","name":"left","type":"string"},{"internalType":"string","name":"right","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"bytes[]","name":"left","type":"bytes[]"},{"internalType":"bytes[]","name":"right","type":"bytes[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"bool","name":"left","type":"bool"},{"internalType":"bool","name":"right","type":"bool"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertEqDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertEqDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEqDecimal"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEqDecimal"},{"inputs":[{"internalType":"bool","name":"condition","type":"bool"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertFalse"},{"inputs":[{"internalType":"bool","name":"condition","type":"bool"}],"stateMutability":"pure","type":"function","name":"assertFalse"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"}],"stateMutability":"pure","type":"function","name":"assertGe"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertGe"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertGe"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertGe"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertGeDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertGeDecimal"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertGeDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertGeDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"}],"stateMutability":"pure","type":"function","name":"assertGt"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertGt"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertGt"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertGt"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertGtDecimal"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertGtDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertGtDecimal"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertGtDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertLe"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertLe"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"}],"stateMutability":"pure","type":"function","name":"assertLe"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertLe"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertLeDecimal"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertLeDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertLeDecimal"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertLeDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"}],"stateMutability":"pure","type":"function","name":"assertLt"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertLt"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertLt"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertLt"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertLtDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertLtDecimal"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertLtDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertLtDecimal"},{"inputs":[{"internalType":"bytes32[]","name":"left","type":"bytes32[]"},{"internalType":"bytes32[]","name":"right","type":"bytes32[]"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"int256[]","name":"left","type":"int256[]"},{"internalType":"int256[]","name":"right","type":"int256[]"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"bool","name":"left","type":"bool"},{"internalType":"bool","name":"right","type":"bool"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"bytes[]","name":"left","type":"bytes[]"},{"internalType":"bytes[]","name":"right","type":"bytes[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"bool","name":"left","type":"bool"},{"internalType":"bool","name":"right","type":"bool"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"bool[]","name":"left","type":"bool[]"},{"internalType":"bool[]","name":"right","type":"bool[]"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"bytes","name":"left","type":"bytes"},{"internalType":"bytes","name":"right","type":"bytes"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"address[]","name":"left","type":"address[]"},{"internalType":"address[]","name":"right","type":"address[]"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"uint256[]","name":"left","type":"uint256[]"},{"internalType":"uint256[]","name":"right","type":"uint256[]"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"bool[]","name":"left","type":"bool[]"},{"internalType":"bool[]","name":"right","type":"bool[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"string","name":"left","type":"string"},{"internalType":"string","name":"right","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"address[]","name":"left","type":"address[]"},{"internalType":"address[]","name":"right","type":"address[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"string","name":"left","type":"string"},{"internalType":"string","name":"right","type":"string"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"address","name":"left","type":"address"},{"internalType":"address","name":"right","type":"address"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"bytes32","name":"left","type":"bytes32"},{"internalType":"bytes32","name":"right","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"bytes","name":"left","type":"bytes"},{"internalType":"bytes","name":"right","type":"bytes"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"uint256[]","name":"left","type":"uint256[]"},{"internalType":"uint256[]","name":"right","type":"uint256[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"address","name":"left","type":"address"},{"internalType":"address","name":"right","type":"address"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"bytes32","name":"left","type":"bytes32"},{"internalType":"bytes32","name":"right","type":"bytes32"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"string[]","name":"left","type":"string[]"},{"internalType":"string[]","name":"right","type":"string[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"bytes32[]","name":"left","type":"bytes32[]"},{"internalType":"bytes32[]","name":"right","type":"bytes32[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"string[]","name":"left","type":"string[]"},{"internalType":"string[]","name":"right","type":"string[]"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"int256[]","name":"left","type":"int256[]"},{"internalType":"int256[]","name":"right","type":"int256[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"bytes[]","name":"left","type":"bytes[]"},{"internalType":"bytes[]","name":"right","type":"bytes[]"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertNotEqDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEqDecimal"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertNotEqDecimal"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEqDecimal"},{"inputs":[{"internalType":"bool","name":"condition","type":"bool"}],"stateMutability":"pure","type":"function","name":"assertTrue"},{"inputs":[{"internalType":"bool","name":"condition","type":"bool"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertTrue"},{"inputs":[{"internalType":"bool","name":"condition","type":"bool"}],"stateMutability":"pure","type":"function","name":"assume"},{"inputs":[],"stateMutability":"pure","type":"function","name":"assumeNoRevert"},{"inputs":[{"internalType":"struct VmSafe.PotentialRevert[]","name":"potentialReverts","type":"tuple[]","components":[{"internalType":"address","name":"reverter","type":"address"},{"internalType":"bool","name":"partialMatch","type":"bool"},{"internalType":"bytes","name":"revertData","type":"bytes"}]}],"stateMutability":"pure","type":"function","name":"assumeNoRevert"},{"inputs":[{"internalType":"struct VmSafe.PotentialRevert","name":"potentialRevert","type":"tuple","components":[{"internalType":"address","name":"reverter","type":"address"},{"internalType":"bool","name":"partialMatch","type":"bool"},{"internalType":"bytes","name":"revertData","type":"bytes"}]}],"stateMutability":"pure","type":"function","name":"assumeNoRevert"},{"inputs":[{"internalType":"bytes","name":"blob","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"attachBlob"},{"inputs":[{"internalType":"struct VmSafe.SignedDelegation","name":"signedDelegation","type":"tuple","components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"address","name":"implementation","type":"address"}]}],"stateMutability":"nonpayable","type":"function","name":"attachDelegation"},{"inputs":[{"internalType":"struct VmSafe.SignedDelegation","name":"signedDelegation","type":"tuple","components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"address","name":"implementation","type":"address"}]},{"internalType":"bool","name":"crossChain","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"attachDelegation"},{"inputs":[{"internalType":"uint256","name":"current","type":"uint256"},{"internalType":"uint256","name":"min","type":"uint256"},{"internalType":"uint256","name":"max","type":"uint256"}],"stateMutability":"view","type":"function","name":"bound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"int256","name":"current","type":"int256"},{"internalType":"int256","name":"min","type":"int256"},{"internalType":"int256","name":"max","type":"int256"}],"stateMutability":"view","type":"function","name":"bound","outputs":[{"internalType":"int256","name":"","type":"int256"}]},{"inputs":[{"internalType":"string","name":"char","type":"string"}],"stateMutability":"pure","type":"function","name":"breakpoint"},{"inputs":[{"internalType":"string","name":"char","type":"string"},{"internalType":"bool","name":"value","type":"bool"}],"stateMutability":"pure","type":"function","name":"breakpoint"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"broadcast"},{"inputs":[{"internalType":"address","name":"signer","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"broadcast"},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"broadcast"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"broadcastRawTransaction"},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"closeFile"},{"inputs":[{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"bytes32","name":"initCodeHash","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"computeCreate2Address","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"bytes32","name":"initCodeHash","type":"bytes32"},{"internalType":"address","name":"deployer","type":"address"}],"stateMutability":"pure","type":"function","name":"computeCreate2Address","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"deployer","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"}],"stateMutability":"pure","type":"function","name":"computeCreateAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"subject","type":"string"},{"internalType":"string","name":"search","type":"string"}],"stateMutability":"pure","type":"function","name":"contains","outputs":[{"internalType":"bool","name":"result","type":"bool"}]},{"inputs":[{"internalType":"string","name":"from","type":"string"},{"internalType":"string","name":"to","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"copyFile","outputs":[{"internalType":"uint64","name":"copied","type":"uint64"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"copyStorage"},{"inputs":[{"internalType":"string","name":"path","type":"string"},{"internalType":"bool","name":"recursive","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"createDir"},{"inputs":[{"internalType":"string","name":"walletLabel","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"createWallet","outputs":[{"internalType":"struct VmSafe.Wallet","name":"wallet","type":"tuple","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"publicKeyX","type":"uint256"},{"internalType":"uint256","name":"publicKeyY","type":"uint256"},{"internalType":"uint256","name":"privateKey","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"createWallet","outputs":[{"internalType":"struct VmSafe.Wallet","name":"wallet","type":"tuple","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"publicKeyX","type":"uint256"},{"internalType":"uint256","name":"publicKeyY","type":"uint256"},{"internalType":"uint256","name":"privateKey","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"},{"internalType":"string","name":"walletLabel","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"createWallet","outputs":[{"internalType":"struct VmSafe.Wallet","name":"wallet","type":"tuple","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"publicKeyX","type":"uint256"},{"internalType":"uint256","name":"publicKeyY","type":"uint256"},{"internalType":"uint256","name":"privateKey","type":"uint256"}]}]},{"inputs":[{"internalType":"string","name":"artifactPath","type":"string"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"deployCode","outputs":[{"internalType":"address","name":"deployedAddress","type":"address"}]},{"inputs":[{"internalType":"string","name":"artifactPath","type":"string"},{"internalType":"bytes","name":"constructorArgs","type":"bytes"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"deployCode","outputs":[{"internalType":"address","name":"deployedAddress","type":"address"}]},{"inputs":[{"internalType":"string","name":"artifactPath","type":"string"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deployCode","outputs":[{"internalType":"address","name":"deployedAddress","type":"address"}]},{"inputs":[{"internalType":"string","name":"artifactPath","type":"string"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"deployCode","outputs":[{"internalType":"address","name":"deployedAddress","type":"address"}]},{"inputs":[{"internalType":"string","name":"artifactPath","type":"string"},{"internalType":"bytes","name":"constructorArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"deployCode","outputs":[{"internalType":"address","name":"deployedAddress","type":"address"}]},{"inputs":[{"internalType":"string","name":"artifactPath","type":"string"},{"internalType":"bytes","name":"constructorArgs","type":"bytes"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"deployCode","outputs":[{"internalType":"address","name":"deployedAddress","type":"address"}]},{"inputs":[{"internalType":"string","name":"artifactPath","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"deployCode","outputs":[{"internalType":"address","name":"deployedAddress","type":"address"}]},{"inputs":[{"internalType":"string","name":"artifactPath","type":"string"},{"internalType":"bytes","name":"constructorArgs","type":"bytes"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deployCode","outputs":[{"internalType":"address","name":"deployedAddress","type":"address"}]},{"inputs":[{"internalType":"string","name":"mnemonic","type":"string"},{"internalType":"string","name":"derivationPath","type":"string"},{"internalType":"uint32","name":"index","type":"uint32"},{"internalType":"string","name":"language","type":"string"}],"stateMutability":"pure","type":"function","name":"deriveKey","outputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"mnemonic","type":"string"},{"internalType":"uint32","name":"index","type":"uint32"},{"internalType":"string","name":"language","type":"string"}],"stateMutability":"pure","type":"function","name":"deriveKey","outputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"mnemonic","type":"string"},{"internalType":"uint32","name":"index","type":"uint32"}],"stateMutability":"pure","type":"function","name":"deriveKey","outputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"mnemonic","type":"string"},{"internalType":"string","name":"derivationPath","type":"string"},{"internalType":"uint32","name":"index","type":"uint32"}],"stateMutability":"pure","type":"function","name":"deriveKey","outputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"bindingsPath","type":"string"},{"internalType":"string","name":"typeName","type":"string"},{"internalType":"bytes","name":"abiEncodedData","type":"bytes"}],"stateMutability":"pure","type":"function","name":"eip712HashStruct","outputs":[{"internalType":"bytes32","name":"typeHash","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"typeNameOrDefinition","type":"string"},{"internalType":"bytes","name":"abiEncodedData","type":"bytes"}],"stateMutability":"pure","type":"function","name":"eip712HashStruct","outputs":[{"internalType":"bytes32","name":"typeHash","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"bindingsPath","type":"string"},{"internalType":"string","name":"typeName","type":"string"}],"stateMutability":"pure","type":"function","name":"eip712HashType","outputs":[{"internalType":"bytes32","name":"typeHash","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"typeNameOrDefinition","type":"string"}],"stateMutability":"pure","type":"function","name":"eip712HashType","outputs":[{"internalType":"bytes32","name":"typeHash","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"jsonData","type":"string"}],"stateMutability":"pure","type":"function","name":"eip712HashTypedData","outputs":[{"internalType":"bytes32","name":"digest","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"pure","type":"function","name":"ensNamehash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envAddress","outputs":[{"internalType":"address","name":"value","type":"address"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"}],"stateMutability":"view","type":"function","name":"envAddress","outputs":[{"internalType":"address[]","name":"value","type":"address[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envBool","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"}],"stateMutability":"view","type":"function","name":"envBool","outputs":[{"internalType":"bool[]","name":"value","type":"bool[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envBytes","outputs":[{"internalType":"bytes","name":"value","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"}],"stateMutability":"view","type":"function","name":"envBytes","outputs":[{"internalType":"bytes[]","name":"value","type":"bytes[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"}],"stateMutability":"view","type":"function","name":"envBytes32","outputs":[{"internalType":"bytes32[]","name":"value","type":"bytes32[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envBytes32","outputs":[{"internalType":"bytes32","name":"value","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envExists","outputs":[{"internalType":"bool","name":"result","type":"bool"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"}],"stateMutability":"view","type":"function","name":"envInt","outputs":[{"internalType":"int256[]","name":"value","type":"int256[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envInt","outputs":[{"internalType":"int256","name":"value","type":"int256"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"},{"internalType":"bytes32[]","name":"defaultValue","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"bytes32[]","name":"value","type":"bytes32[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"},{"internalType":"int256[]","name":"defaultValue","type":"int256[]"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"int256[]","name":"value","type":"int256[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bool","name":"defaultValue","type":"bool"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"address","name":"defaultValue","type":"address"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"address","name":"value","type":"address"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256","name":"defaultValue","type":"uint256"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"},{"internalType":"bytes[]","name":"defaultValue","type":"bytes[]"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"bytes[]","name":"value","type":"bytes[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"},{"internalType":"uint256[]","name":"defaultValue","type":"uint256[]"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"uint256[]","name":"value","type":"uint256[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"},{"internalType":"string[]","name":"defaultValue","type":"string[]"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"string[]","name":"value","type":"string[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes","name":"defaultValue","type":"bytes"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"bytes","name":"value","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32","name":"defaultValue","type":"bytes32"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"bytes32","name":"value","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"int256","name":"defaultValue","type":"int256"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"int256","name":"value","type":"int256"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"},{"internalType":"address[]","name":"defaultValue","type":"address[]"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"address[]","name":"value","type":"address[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"defaultValue","type":"string"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"string","name":"value","type":"string"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"},{"internalType":"bool[]","name":"defaultValue","type":"bool[]"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"bool[]","name":"value","type":"bool[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"}],"stateMutability":"view","type":"function","name":"envString","outputs":[{"internalType":"string[]","name":"value","type":"string[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envString","outputs":[{"internalType":"string","name":"value","type":"string"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envUint","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"}],"stateMutability":"view","type":"function","name":"envUint","outputs":[{"internalType":"uint256[]","name":"value","type":"uint256[]"}]},{"inputs":[{"internalType":"uint256","name":"fromBlock","type":"uint256"},{"internalType":"uint256","name":"toBlock","type":"uint256"},{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes32[]","name":"topics","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"eth_getLogs","outputs":[{"internalType":"struct VmSafe.EthGetLogs[]","name":"logs","type":"tuple[]","components":[{"internalType":"address","name":"emitter","type":"address"},{"internalType":"bytes32[]","name":"topics","type":"bytes32[]"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes32","name":"blockHash","type":"bytes32"},{"internalType":"uint64","name":"blockNumber","type":"uint64"},{"internalType":"bytes32","name":"transactionHash","type":"bytes32"},{"internalType":"uint64","name":"transactionIndex","type":"uint64"},{"internalType":"uint256","name":"logIndex","type":"uint256"},{"internalType":"bool","name":"removed","type":"bool"}]}]},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"view","type":"function","name":"exists","outputs":[{"internalType":"bool","name":"result","type":"bool"}]},{"inputs":[{"internalType":"string[]","name":"commandInput","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"ffi","outputs":[{"internalType":"bytes","name":"result","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"version","type":"string"}],"stateMutability":"view","type":"function","name":"foundryVersionAtLeast","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"string","name":"version","type":"string"}],"stateMutability":"view","type":"function","name":"foundryVersionCmp","outputs":[{"internalType":"int256","name":"","type":"int256"}]},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"view","type":"function","name":"fsMetadata","outputs":[{"internalType":"struct VmSafe.FsMetadata","name":"metadata","type":"tuple","components":[{"internalType":"bool","name":"isDir","type":"bool"},{"internalType":"bool","name":"isSymlink","type":"bool"},{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"bool","name":"readOnly","type":"bool"},{"internalType":"uint256","name":"modified","type":"uint256"},{"internalType":"uint256","name":"accessed","type":"uint256"},{"internalType":"uint256","name":"created","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes","name":"code","type":"bytes"}],"stateMutability":"view","type":"function","name":"getArtifactPathByCode","outputs":[{"internalType":"string","name":"path","type":"string"}]},{"inputs":[{"internalType":"bytes","name":"deployedCode","type":"bytes"}],"stateMutability":"view","type":"function","name":"getArtifactPathByDeployedCode","outputs":[{"internalType":"string","name":"path","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBlobBaseFee","outputs":[{"internalType":"uint256","name":"blobBaseFee","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBlockNumber","outputs":[{"internalType":"uint256","name":"height","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBlockTimestamp","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"contractName","type":"string"},{"internalType":"uint64","name":"chainId","type":"uint64"},{"internalType":"enum VmSafe.BroadcastTxType","name":"txType","type":"uint8"}],"stateMutability":"view","type":"function","name":"getBroadcast","outputs":[{"internalType":"struct VmSafe.BroadcastTxSummary","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"txHash","type":"bytes32"},{"internalType":"enum VmSafe.BroadcastTxType","name":"txType","type":"uint8"},{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"uint64","name":"blockNumber","type":"uint64"},{"internalType":"bool","name":"success","type":"bool"}]}]},{"inputs":[{"internalType":"string","name":"contractName","type":"string"},{"internalType":"uint64","name":"chainId","type":"uint64"}],"stateMutability":"view","type":"function","name":"getBroadcasts","outputs":[{"internalType":"struct VmSafe.BroadcastTxSummary[]","name":"","type":"tuple[]","components":[{"internalType":"bytes32","name":"txHash","type":"bytes32"},{"internalType":"enum VmSafe.BroadcastTxType","name":"txType","type":"uint8"},{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"uint64","name":"blockNumber","type":"uint64"},{"internalType":"bool","name":"success","type":"bool"}]}]},{"inputs":[{"internalType":"string","name":"contractName","type":"string"},{"internalType":"uint64","name":"chainId","type":"uint64"},{"internalType":"enum VmSafe.BroadcastTxType","name":"txType","type":"uint8"}],"stateMutability":"view","type":"function","name":"getBroadcasts","outputs":[{"internalType":"struct VmSafe.BroadcastTxSummary[]","name":"","type":"tuple[]","components":[{"internalType":"bytes32","name":"txHash","type":"bytes32"},{"internalType":"enum VmSafe.BroadcastTxType","name":"txType","type":"uint8"},{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"uint64","name":"blockNumber","type":"uint64"},{"internalType":"bool","name":"success","type":"bool"}]}]},{"inputs":[{"internalType":"string","name":"chainAlias","type":"string"}],"stateMutability":"view","type":"function","name":"getChain","outputs":[{"internalType":"struct VmSafe.Chain","name":"chain","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"string","name":"chainAlias","type":"string"},{"internalType":"string","name":"rpcUrl","type":"string"}]}]},{"inputs":[{"internalType":"uint256","name":"chainId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getChain","outputs":[{"internalType":"struct VmSafe.Chain","name":"chain","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"string","name":"chainAlias","type":"string"},{"internalType":"string","name":"rpcUrl","type":"string"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getChainId","outputs":[{"internalType":"uint256","name":"blockChainId","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"artifactPath","type":"string"}],"stateMutability":"view","type":"function","name":"getCode","outputs":[{"internalType":"bytes","name":"creationBytecode","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"artifactPath","type":"string"}],"stateMutability":"view","type":"function","name":"getDeployedCode","outputs":[{"internalType":"bytes","name":"runtimeBytecode","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"contractName","type":"string"},{"internalType":"uint64","name":"chainId","type":"uint64"}],"stateMutability":"view","type":"function","name":"getDeployment","outputs":[{"internalType":"address","name":"deployedAddress","type":"address"}]},{"inputs":[{"internalType":"string","name":"contractName","type":"string"}],"stateMutability":"view","type":"function","name":"getDeployment","outputs":[{"internalType":"address","name":"deployedAddress","type":"address"}]},{"inputs":[{"internalType":"string","name":"contractName","type":"string"},{"internalType":"uint64","name":"chainId","type":"uint64"}],"stateMutability":"view","type":"function","name":"getDeployments","outputs":[{"internalType":"address[]","name":"deployedAddresses","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getFoundryVersion","outputs":[{"internalType":"string","name":"version","type":"string"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getLabel","outputs":[{"internalType":"string","name":"currentLabel","type":"string"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes32","name":"elementSlot","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getMappingKeyAndParentOf","outputs":[{"internalType":"bool","name":"found","type":"bool"},{"internalType":"bytes32","name":"key","type":"bytes32"},{"internalType":"bytes32","name":"parent","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes32","name":"mappingSlot","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getMappingLength","outputs":[{"internalType":"uint256","name":"length","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes32","name":"mappingSlot","type":"bytes32"},{"internalType":"uint256","name":"idx","type":"uint256"}],"stateMutability":"view","type":"function","name":"getMappingSlotAt","outputs":[{"internalType":"bytes32","name":"value","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getNonce","outputs":[{"internalType":"uint64","name":"nonce","type":"uint64"}]},{"inputs":[{"internalType":"struct VmSafe.Wallet","name":"wallet","type":"tuple","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"publicKeyX","type":"uint256"},{"internalType":"uint256","name":"publicKeyY","type":"uint256"},{"internalType":"uint256","name":"privateKey","type":"uint256"}]}],"stateMutability":"view","type":"function","name":"getNonce","outputs":[{"internalType":"uint64","name":"nonce","type":"uint64"}]},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"stateMutability":"view","type":"function","name":"getRawBlockHeader","outputs":[{"internalType":"bytes","name":"rlpHeader","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRecordedLogs","outputs":[{"internalType":"struct VmSafe.Log[]","name":"logs","type":"tuple[]","components":[{"internalType":"bytes32[]","name":"topics","type":"bytes32[]"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"address","name":"emitter","type":"address"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStateDiff","outputs":[{"internalType":"string","name":"diff","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStateDiffJson","outputs":[{"internalType":"string","name":"diff","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStorageAccesses","outputs":[{"internalType":"struct VmSafe.StorageAccess[]","name":"storageAccesses","type":"tuple[]","components":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"slot","type":"bytes32"},{"internalType":"bool","name":"isWrite","type":"bool"},{"internalType":"bytes32","name":"previousValue","type":"bytes32"},{"internalType":"bytes32","name":"newValue","type":"bytes32"},{"internalType":"bool","name":"reverted","type":"bool"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getWallets","outputs":[{"internalType":"address[]","name":"wallets","type":"address[]"}]},{"inputs":[{"internalType":"string","name":"input","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"indexOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum VmSafe.ForgeContext","name":"context","type":"uint8"}],"stateMutability":"view","type":"function","name":"isContext","outputs":[{"internalType":"bool","name":"result","type":"bool"}]},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"view","type":"function","name":"isDir","outputs":[{"internalType":"bool","name":"result","type":"bool"}]},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"view","type":"function","name":"isFile","outputs":[{"internalType":"bool","name":"result","type":"bool"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"view","type":"function","name":"keyExists","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"view","type":"function","name":"keyExistsJson","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"view","type":"function","name":"keyExistsToml","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"string","name":"newLabel","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"label"},{"inputs":[],"stateMutability":"view","type":"function","name":"lastCallGas","outputs":[{"internalType":"struct VmSafe.Gas","name":"gas","type":"tuple","components":[{"internalType":"uint64","name":"gasLimit","type":"uint64"},{"internalType":"uint64","name":"gasTotalUsed","type":"uint64"},{"internalType":"uint64","name":"gasMemoryUsed","type":"uint64"},{"internalType":"int64","name":"gasRefunded","type":"int64"},{"internalType":"uint64","name":"gasRemaining","type":"uint64"}]}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes32","name":"slot","type":"bytes32"}],"stateMutability":"view","type":"function","name":"load","outputs":[{"internalType":"bytes32","name":"data","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}],"stateMutability":"pure","type":"function","name":"parseAddress","outputs":[{"internalType":"address","name":"parsedValue","type":"address"}]},{"inputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}],"stateMutability":"pure","type":"function","name":"parseBool","outputs":[{"internalType":"bool","name":"parsedValue","type":"bool"}]},{"inputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}],"stateMutability":"pure","type":"function","name":"parseBytes","outputs":[{"internalType":"bytes","name":"parsedValue","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}],"stateMutability":"pure","type":"function","name":"parseBytes32","outputs":[{"internalType":"bytes32","name":"parsedValue","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}],"stateMutability":"pure","type":"function","name":"parseInt","outputs":[{"internalType":"int256","name":"parsedValue","type":"int256"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJson","outputs":[{"internalType":"bytes","name":"abiEncodedData","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJson","outputs":[{"internalType":"bytes","name":"abiEncodedData","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonAddressArray","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonBool","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonBoolArray","outputs":[{"internalType":"bool[]","name":"","type":"bool[]"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonBytes","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonBytes32","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonBytes32Array","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonBytesArray","outputs":[{"internalType":"bytes[]","name":"","type":"bytes[]"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonInt","outputs":[{"internalType":"int256","name":"","type":"int256"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonIntArray","outputs":[{"internalType":"int256[]","name":"","type":"int256[]"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonKeys","outputs":[{"internalType":"string[]","name":"keys","type":"string[]"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonString","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonStringArray","outputs":[{"internalType":"string[]","name":"","type":"string[]"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"typeDescription","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonType","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"},{"internalType":"string","name":"typeDescription","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonType","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"},{"internalType":"string","name":"typeDescription","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonTypeArray","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonUint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonUintArray","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseToml","outputs":[{"internalType":"bytes","name":"abiEncodedData","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"}],"stateMutability":"pure","type":"function","name":"parseToml","outputs":[{"internalType":"bytes","name":"abiEncodedData","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlAddressArray","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlBool","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlBoolArray","outputs":[{"internalType":"bool[]","name":"","type":"bool[]"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlBytes","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlBytes32","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlBytes32Array","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlBytesArray","outputs":[{"internalType":"bytes[]","name":"","type":"bytes[]"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlInt","outputs":[{"internalType":"int256","name":"","type":"int256"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlIntArray","outputs":[{"internalType":"int256[]","name":"","type":"int256[]"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlKeys","outputs":[{"internalType":"string[]","name":"keys","type":"string[]"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlString","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlStringArray","outputs":[{"internalType":"string[]","name":"","type":"string[]"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"typeDescription","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlType","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"},{"internalType":"string","name":"typeDescription","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlType","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"},{"internalType":"string","name":"typeDescription","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlTypeArray","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlUint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlUintArray","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}]},{"inputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}],"stateMutability":"pure","type":"function","name":"parseUint","outputs":[{"internalType":"uint256","name":"parsedValue","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pauseGasMetering"},{"inputs":[],"stateMutability":"view","type":"function","name":"pauseTracing"},{"inputs":[],"stateMutability":"view","type":"function","name":"projectRoot","outputs":[{"internalType":"string","name":"path","type":"string"}]},{"inputs":[{"internalType":"string","name":"promptText","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"prompt","outputs":[{"internalType":"string","name":"input","type":"string"}]},{"inputs":[{"internalType":"string","name":"promptText","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"promptAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"promptText","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"promptSecret","outputs":[{"internalType":"string","name":"input","type":"string"}]},{"inputs":[{"internalType":"string","name":"promptText","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"promptSecretUint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"promptText","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"promptUint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}],"stateMutability":"pure","type":"function","name":"publicKeyP256","outputs":[{"internalType":"uint256","name":"publicKeyX","type":"uint256"},{"internalType":"uint256","name":"publicKeyY","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"randomBool","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"len","type":"uint256"}],"stateMutability":"view","type":"function","name":"randomBytes","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"randomBytes4","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"randomBytes8","outputs":[{"internalType":"bytes8","name":"","type":"bytes8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"randomInt","outputs":[{"internalType":"int256","name":"","type":"int256"}]},{"inputs":[{"internalType":"uint256","name":"bits","type":"uint256"}],"stateMutability":"view","type":"function","name":"randomInt","outputs":[{"internalType":"int256","name":"","type":"int256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"randomUint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"bits","type":"uint256"}],"stateMutability":"view","type":"function","name":"randomUint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"min","type":"uint256"},{"internalType":"uint256","name":"max","type":"uint256"}],"stateMutability":"view","type":"function","name":"randomUint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"path","type":"string"},{"internalType":"uint64","name":"maxDepth","type":"uint64"}],"stateMutability":"view","type":"function","name":"readDir","outputs":[{"internalType":"struct VmSafe.DirEntry[]","name":"entries","type":"tuple[]","components":[{"internalType":"string","name":"errorMessage","type":"string"},{"internalType":"string","name":"path","type":"string"},{"internalType":"uint64","name":"depth","type":"uint64"},{"internalType":"bool","name":"isDir","type":"bool"},{"internalType":"bool","name":"isSymlink","type":"bool"}]}]},{"inputs":[{"internalType":"string","name":"path","type":"string"},{"internalType":"uint64","name":"maxDepth","type":"uint64"},{"internalType":"bool","name":"followLinks","type":"bool"}],"stateMutability":"view","type":"function","name":"readDir","outputs":[{"internalType":"struct VmSafe.DirEntry[]","name":"entries","type":"tuple[]","components":[{"internalType":"string","name":"errorMessage","type":"string"},{"internalType":"string","name":"path","type":"string"},{"internalType":"uint64","name":"depth","type":"uint64"},{"internalType":"bool","name":"isDir","type":"bool"},{"internalType":"bool","name":"isSymlink","type":"bool"}]}]},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"view","type":"function","name":"readDir","outputs":[{"internalType":"struct VmSafe.DirEntry[]","name":"entries","type":"tuple[]","components":[{"internalType":"string","name":"errorMessage","type":"string"},{"internalType":"string","name":"path","type":"string"},{"internalType":"uint64","name":"depth","type":"uint64"},{"internalType":"bool","name":"isDir","type":"bool"},{"internalType":"bool","name":"isSymlink","type":"bool"}]}]},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"view","type":"function","name":"readFile","outputs":[{"internalType":"string","name":"data","type":"string"}]},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"view","type":"function","name":"readFileBinary","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"view","type":"function","name":"readLine","outputs":[{"internalType":"string","name":"line","type":"string"}]},{"inputs":[{"internalType":"string","name":"linkPath","type":"string"}],"stateMutability":"view","type":"function","name":"readLink","outputs":[{"internalType":"string","name":"targetPath","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"record"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recordLogs"},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"rememberKey","outputs":[{"internalType":"address","name":"keyAddr","type":"address"}]},{"inputs":[{"internalType":"string","name":"mnemonic","type":"string"},{"internalType":"string","name":"derivationPath","type":"string"},{"internalType":"uint32","name":"count","type":"uint32"}],"stateMutability":"nonpayable","type":"function","name":"rememberKeys","outputs":[{"internalType":"address[]","name":"keyAddrs","type":"address[]"}]},{"inputs":[{"internalType":"string","name":"mnemonic","type":"string"},{"internalType":"string","name":"derivationPath","type":"string"},{"internalType":"string","name":"language","type":"string"},{"internalType":"uint32","name":"count","type":"uint32"}],"stateMutability":"nonpayable","type":"function","name":"rememberKeys","outputs":[{"internalType":"address[]","name":"keyAddrs","type":"address[]"}]},{"inputs":[{"internalType":"string","name":"path","type":"string"},{"internalType":"bool","name":"recursive","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"removeDir"},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"removeFile"},{"inputs":[{"internalType":"string","name":"input","type":"string"},{"internalType":"string","name":"from","type":"string"},{"internalType":"string","name":"to","type":"string"}],"stateMutability":"pure","type":"function","name":"replace","outputs":[{"internalType":"string","name":"output","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"resetGasMetering"},{"inputs":[{"internalType":"string","name":"input","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"resolveEnv","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"resumeGasMetering"},{"inputs":[],"stateMutability":"view","type":"function","name":"resumeTracing"},{"inputs":[{"internalType":"string","name":"urlOrAlias","type":"string"},{"internalType":"string","name":"method","type":"string"},{"internalType":"string","name":"params","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"rpc","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"method","type":"string"},{"internalType":"string","name":"params","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"rpc","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"rpcAlias","type":"string"}],"stateMutability":"view","type":"function","name":"rpcUrl","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"rpcUrlStructs","outputs":[{"internalType":"struct VmSafe.Rpc[]","name":"urls","type":"tuple[]","components":[{"internalType":"string","name":"key","type":"string"},{"internalType":"string","name":"url","type":"string"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"rpcUrls","outputs":[{"internalType":"string[2][]","name":"urls","type":"string[2][]"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"address[]","name":"values","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"serializeAddress","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"address","name":"value","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"serializeAddress","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"bool[]","name":"values","type":"bool[]"}],"stateMutability":"nonpayable","type":"function","name":"serializeBool","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"bool","name":"value","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"serializeBool","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"bytes[]","name":"values","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"serializeBytes","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"bytes","name":"value","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"serializeBytes","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"bytes32[]","name":"values","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"serializeBytes32","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"bytes32","name":"value","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"serializeBytes32","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"int256","name":"value","type":"int256"}],"stateMutability":"nonpayable","type":"function","name":"serializeInt","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"int256[]","name":"values","type":"int256[]"}],"stateMutability":"nonpayable","type":"function","name":"serializeInt","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"value","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"serializeJson","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"typeDescription","type":"string"},{"internalType":"bytes","name":"value","type":"bytes"}],"stateMutability":"pure","type":"function","name":"serializeJsonType","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"string","name":"typeDescription","type":"string"},{"internalType":"bytes","name":"value","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"serializeJsonType","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"string[]","name":"values","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"serializeString","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"string","name":"value","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"serializeString","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"serializeUint","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"uint256[]","name":"values","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"serializeUint","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"serializeUintToHex","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bool","name":"overwrite","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setArbitraryStorage"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setArbitraryStorage"},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"value","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"setEnv"},{"inputs":[{"internalType":"uint256","name":"seed","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setSeed"},{"inputs":[{"internalType":"uint256[]","name":"array","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"shuffle","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}]},{"inputs":[{"internalType":"bytes32","name":"digest","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"sign","outputs":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"signer","type":"address"},{"internalType":"bytes32","name":"digest","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"sign","outputs":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}]},{"inputs":[{"internalType":"struct VmSafe.Wallet","name":"wallet","type":"tuple","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"publicKeyX","type":"uint256"},{"internalType":"uint256","name":"publicKeyY","type":"uint256"},{"internalType":"uint256","name":"privateKey","type":"uint256"}]},{"internalType":"bytes32","name":"digest","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"sign","outputs":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"},{"internalType":"bytes32","name":"digest","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"sign","outputs":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"implementation","type":"address"},{"internalType":"uint256","name":"privateKey","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"signAndAttachDelegation","outputs":[{"internalType":"struct VmSafe.SignedDelegation","name":"signedDelegation","type":"tuple","components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"address","name":"implementation","type":"address"}]}]},{"inputs":[{"internalType":"address","name":"implementation","type":"address"},{"internalType":"uint256","name":"privateKey","type":"uint256"},{"internalType":"uint64","name":"nonce","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"signAndAttachDelegation","outputs":[{"internalType":"struct VmSafe.SignedDelegation","name":"signedDelegation","type":"tuple","components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"address","name":"implementation","type":"address"}]}]},{"inputs":[{"internalType":"address","name":"implementation","type":"address"},{"internalType":"uint256","name":"privateKey","type":"uint256"},{"internalType":"bool","name":"crossChain","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"signAndAttachDelegation","outputs":[{"internalType":"struct VmSafe.SignedDelegation","name":"signedDelegation","type":"tuple","components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"address","name":"implementation","type":"address"}]}]},{"inputs":[{"internalType":"struct VmSafe.Wallet","name":"wallet","type":"tuple","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"publicKeyX","type":"uint256"},{"internalType":"uint256","name":"publicKeyY","type":"uint256"},{"internalType":"uint256","name":"privateKey","type":"uint256"}]},{"internalType":"bytes32","name":"digest","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"signCompact","outputs":[{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"vs","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"signer","type":"address"},{"internalType":"bytes32","name":"digest","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"signCompact","outputs":[{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"vs","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"digest","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"signCompact","outputs":[{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"vs","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"},{"internalType":"bytes32","name":"digest","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"signCompact","outputs":[{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"vs","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"implementation","type":"address"},{"internalType":"uint256","name":"privateKey","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"signDelegation","outputs":[{"internalType":"struct VmSafe.SignedDelegation","name":"signedDelegation","type":"tuple","components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"address","name":"implementation","type":"address"}]}]},{"inputs":[{"internalType":"address","name":"implementation","type":"address"},{"internalType":"uint256","name":"privateKey","type":"uint256"},{"internalType":"bool","name":"crossChain","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"signDelegation","outputs":[{"internalType":"struct VmSafe.SignedDelegation","name":"signedDelegation","type":"tuple","components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"address","name":"implementation","type":"address"}]}]},{"inputs":[{"internalType":"address","name":"implementation","type":"address"},{"internalType":"uint256","name":"privateKey","type":"uint256"},{"internalType":"uint64","name":"nonce","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"signDelegation","outputs":[{"internalType":"struct VmSafe.SignedDelegation","name":"signedDelegation","type":"tuple","components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"address","name":"implementation","type":"address"}]}]},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"},{"internalType":"bytes32","name":"digest","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"signP256","outputs":[{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"duration","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"sleep"},{"inputs":[{"internalType":"uint256[]","name":"array","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"sort","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}]},{"inputs":[{"internalType":"string","name":"input","type":"string"},{"internalType":"string","name":"delimiter","type":"string"}],"stateMutability":"pure","type":"function","name":"split","outputs":[{"internalType":"string[]","name":"outputs","type":"string[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"startBroadcast"},{"inputs":[{"internalType":"address","name":"signer","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"startBroadcast"},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"startBroadcast"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"startDebugTraceRecording"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"startMappingRecording"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"startStateDiffRecording"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"stopAndReturnDebugTraceRecording","outputs":[{"internalType":"struct VmSafe.DebugStep[]","name":"step","type":"tuple[]","components":[{"internalType":"uint256[]","name":"stack","type":"uint256[]"},{"internalType":"bytes","name":"memoryInput","type":"bytes"},{"internalType":"uint8","name":"opcode","type":"uint8"},{"internalType":"uint64","name":"depth","type":"uint64"},{"internalType":"bool","name":"isOutOfGas","type":"bool"},{"internalType":"address","name":"contractAddr","type":"address"}]}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"stopAndReturnStateDiff","outputs":[{"internalType":"struct VmSafe.AccountAccess[]","name":"accountAccesses","type":"tuple[]","components":[{"internalType":"struct VmSafe.ChainInfo","name":"chainInfo","type":"tuple","components":[{"internalType":"uint256","name":"forkId","type":"uint256"},{"internalType":"uint256","name":"chainId","type":"uint256"}]},{"internalType":"enum VmSafe.AccountAccessKind","name":"kind","type":"uint8"},{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"accessor","type":"address"},{"internalType":"bool","name":"initialized","type":"bool"},{"internalType":"uint256","name":"oldBalance","type":"uint256"},{"internalType":"uint256","name":"newBalance","type":"uint256"},{"internalType":"bytes","name":"deployedCode","type":"bytes"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bool","name":"reverted","type":"bool"},{"internalType":"struct VmSafe.StorageAccess[]","name":"storageAccesses","type":"tuple[]","components":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"slot","type":"bytes32"},{"internalType":"bool","name":"isWrite","type":"bool"},{"internalType":"bytes32","name":"previousValue","type":"bytes32"},{"internalType":"bytes32","name":"newValue","type":"bytes32"},{"internalType":"bool","name":"reverted","type":"bool"}]},{"internalType":"uint64","name":"depth","type":"uint64"},{"internalType":"uint64","name":"oldNonce","type":"uint64"},{"internalType":"uint64","name":"newNonce","type":"uint64"}]}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"stopBroadcast"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"stopMappingRecording"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"stopRecord"},{"inputs":[{"internalType":"string","name":"data","type":"string"}],"stateMutability":"pure","type":"function","name":"toBase64","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"pure","type":"function","name":"toBase64","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"string","name":"data","type":"string"}],"stateMutability":"pure","type":"function","name":"toBase64URL","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"pure","type":"function","name":"toBase64URL","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"string","name":"input","type":"string"}],"stateMutability":"pure","type":"function","name":"toLowercase","outputs":[{"internalType":"string","name":"output","type":"string"}]},{"inputs":[{"internalType":"address","name":"value","type":"address"}],"stateMutability":"pure","type":"function","name":"toString","outputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"pure","type":"function","name":"toString","outputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}]},{"inputs":[{"internalType":"bytes","name":"value","type":"bytes"}],"stateMutability":"pure","type":"function","name":"toString","outputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}]},{"inputs":[{"internalType":"bool","name":"value","type":"bool"}],"stateMutability":"pure","type":"function","name":"toString","outputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}]},{"inputs":[{"internalType":"int256","name":"value","type":"int256"}],"stateMutability":"pure","type":"function","name":"toString","outputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}]},{"inputs":[{"internalType":"bytes32","name":"value","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"toString","outputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}]},{"inputs":[{"internalType":"string","name":"input","type":"string"}],"stateMutability":"pure","type":"function","name":"toUppercase","outputs":[{"internalType":"string","name":"output","type":"string"}]},{"inputs":[{"internalType":"string","name":"input","type":"string"}],"stateMutability":"pure","type":"function","name":"trim","outputs":[{"internalType":"string","name":"output","type":"string"}]},{"inputs":[{"internalType":"string[]","name":"commandInput","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"tryFfi","outputs":[{"internalType":"struct VmSafe.FfiResult","name":"result","type":"tuple","components":[{"internalType":"int32","name":"exitCode","type":"int32"},{"internalType":"bytes","name":"stdout","type":"bytes"},{"internalType":"bytes","name":"stderr","type":"bytes"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"unixTime","outputs":[{"internalType":"uint256","name":"milliseconds","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"path","type":"string"},{"internalType":"string","name":"data","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"writeFile"},{"inputs":[{"internalType":"string","name":"path","type":"string"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"writeFileBinary"},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"path","type":"string"},{"internalType":"string","name":"valueKey","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"writeJson"},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"path","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"writeJson"},{"inputs":[{"internalType":"string","name":"path","type":"string"},{"internalType":"string","name":"data","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"writeLine"},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"path","type":"string"},{"internalType":"string","name":"valueKey","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"writeToml"},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"path","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"writeToml"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"accesses(address)":{"notice":"Gets all accessed reads and write slot from a `vm.record` session, for a given address."},"addr(uint256)":{"notice":"Gets the address for a given private key."},"assertApproxEqAbs(int256,int256,uint256)":{"notice":"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`."},"assertApproxEqAbs(int256,int256,uint256,string)":{"notice":"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Includes error message into revert string on failure."},"assertApproxEqAbs(uint256,uint256,uint256)":{"notice":"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`."},"assertApproxEqAbs(uint256,uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Includes error message into revert string on failure."},"assertApproxEqAbsDecimal(int256,int256,uint256,uint256)":{"notice":"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message."},"assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)":{"notice":"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)":{"notice":"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message."},"assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertApproxEqRel(int256,int256,uint256)":{"notice":"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%"},"assertApproxEqRel(int256,int256,uint256,string)":{"notice":"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Includes error message into revert string on failure."},"assertApproxEqRel(uint256,uint256,uint256)":{"notice":"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%"},"assertApproxEqRel(uint256,uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Includes error message into revert string on failure."},"assertApproxEqRelDecimal(int256,int256,uint256,uint256)":{"notice":"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message."},"assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)":{"notice":"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)":{"notice":"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message."},"assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertEq(address,address)":{"notice":"Asserts that two `address` values are equal."},"assertEq(address,address,string)":{"notice":"Asserts that two `address` values are equal and includes error message into revert string on failure."},"assertEq(address[],address[])":{"notice":"Asserts that two arrays of `address` values are equal."},"assertEq(address[],address[],string)":{"notice":"Asserts that two arrays of `address` values are equal and includes error message into revert string on failure."},"assertEq(bool,bool)":{"notice":"Asserts that two `bool` values are equal."},"assertEq(bool,bool,string)":{"notice":"Asserts that two `bool` values are equal and includes error message into revert string on failure."},"assertEq(bool[],bool[])":{"notice":"Asserts that two arrays of `bool` values are equal."},"assertEq(bool[],bool[],string)":{"notice":"Asserts that two arrays of `bool` values are equal and includes error message into revert string on failure."},"assertEq(bytes,bytes)":{"notice":"Asserts that two `bytes` values are equal."},"assertEq(bytes,bytes,string)":{"notice":"Asserts that two `bytes` values are equal and includes error message into revert string on failure."},"assertEq(bytes32,bytes32)":{"notice":"Asserts that two `bytes32` values are equal."},"assertEq(bytes32,bytes32,string)":{"notice":"Asserts that two `bytes32` values are equal and includes error message into revert string on failure."},"assertEq(bytes32[],bytes32[])":{"notice":"Asserts that two arrays of `bytes32` values are equal."},"assertEq(bytes32[],bytes32[],string)":{"notice":"Asserts that two arrays of `bytes32` values are equal and includes error message into revert string on failure."},"assertEq(bytes[],bytes[])":{"notice":"Asserts that two arrays of `bytes` values are equal."},"assertEq(bytes[],bytes[],string)":{"notice":"Asserts that two arrays of `bytes` values are equal and includes error message into revert string on failure."},"assertEq(int256,int256)":{"notice":"Asserts that two `int256` values are equal."},"assertEq(int256,int256,string)":{"notice":"Asserts that two `int256` values are equal and includes error message into revert string on failure."},"assertEq(int256[],int256[])":{"notice":"Asserts that two arrays of `int256` values are equal."},"assertEq(int256[],int256[],string)":{"notice":"Asserts that two arrays of `int256` values are equal and includes error message into revert string on failure."},"assertEq(string,string)":{"notice":"Asserts that two `string` values are equal."},"assertEq(string,string,string)":{"notice":"Asserts that two `string` values are equal and includes error message into revert string on failure."},"assertEq(string[],string[])":{"notice":"Asserts that two arrays of `string` values are equal."},"assertEq(string[],string[],string)":{"notice":"Asserts that two arrays of `string` values are equal and includes error message into revert string on failure."},"assertEq(uint256,uint256)":{"notice":"Asserts that two `uint256` values are equal."},"assertEq(uint256,uint256,string)":{"notice":"Asserts that two `uint256` values are equal and includes error message into revert string on failure."},"assertEq(uint256[],uint256[])":{"notice":"Asserts that two arrays of `uint256 values are equal."},"assertEq(uint256[],uint256[],string)":{"notice":"Asserts that two arrays of `uint256` values are equal and includes error message into revert string on failure."},"assertEqDecimal(int256,int256,uint256)":{"notice":"Asserts that two `int256` values are equal, formatting them with decimals in failure message."},"assertEqDecimal(int256,int256,uint256,string)":{"notice":"Asserts that two `int256` values are equal, formatting them with decimals in failure message. Includes error message into revert string on failure."},"assertEqDecimal(uint256,uint256,uint256)":{"notice":"Asserts that two `uint256` values are equal, formatting them with decimals in failure message."},"assertEqDecimal(uint256,uint256,uint256,string)":{"notice":"Asserts that two `uint256` values are equal, formatting them with decimals in failure message. Includes error message into revert string on failure."},"assertFalse(bool)":{"notice":"Asserts that the given condition is false."},"assertFalse(bool,string)":{"notice":"Asserts that the given condition is false and includes error message into revert string on failure."},"assertGe(int256,int256)":{"notice":"Compares two `int256` values. Expects first value to be greater than or equal to second."},"assertGe(int256,int256,string)":{"notice":"Compares two `int256` values. Expects first value to be greater than or equal to second. Includes error message into revert string on failure."},"assertGe(uint256,uint256)":{"notice":"Compares two `uint256` values. Expects first value to be greater than or equal to second."},"assertGe(uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects first value to be greater than or equal to second. Includes error message into revert string on failure."},"assertGeDecimal(int256,int256,uint256)":{"notice":"Compares two `int256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message."},"assertGeDecimal(int256,int256,uint256,string)":{"notice":"Compares two `int256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertGeDecimal(uint256,uint256,uint256)":{"notice":"Compares two `uint256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message."},"assertGeDecimal(uint256,uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertGt(int256,int256)":{"notice":"Compares two `int256` values. Expects first value to be greater than second."},"assertGt(int256,int256,string)":{"notice":"Compares two `int256` values. Expects first value to be greater than second. Includes error message into revert string on failure."},"assertGt(uint256,uint256)":{"notice":"Compares two `uint256` values. Expects first value to be greater than second."},"assertGt(uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects first value to be greater than second. Includes error message into revert string on failure."},"assertGtDecimal(int256,int256,uint256)":{"notice":"Compares two `int256` values. Expects first value to be greater than second. Formats values with decimals in failure message."},"assertGtDecimal(int256,int256,uint256,string)":{"notice":"Compares two `int256` values. Expects first value to be greater than second. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertGtDecimal(uint256,uint256,uint256)":{"notice":"Compares two `uint256` values. Expects first value to be greater than second. Formats values with decimals in failure message."},"assertGtDecimal(uint256,uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects first value to be greater than second. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertLe(int256,int256)":{"notice":"Compares two `int256` values. Expects first value to be less than or equal to second."},"assertLe(int256,int256,string)":{"notice":"Compares two `int256` values. Expects first value to be less than or equal to second. Includes error message into revert string on failure."},"assertLe(uint256,uint256)":{"notice":"Compares two `uint256` values. Expects first value to be less than or equal to second."},"assertLe(uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects first value to be less than or equal to second. Includes error message into revert string on failure."},"assertLeDecimal(int256,int256,uint256)":{"notice":"Compares two `int256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message."},"assertLeDecimal(int256,int256,uint256,string)":{"notice":"Compares two `int256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertLeDecimal(uint256,uint256,uint256)":{"notice":"Compares two `uint256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message."},"assertLeDecimal(uint256,uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertLt(int256,int256)":{"notice":"Compares two `int256` values. Expects first value to be less than second."},"assertLt(int256,int256,string)":{"notice":"Compares two `int256` values. Expects first value to be less than second. Includes error message into revert string on failure."},"assertLt(uint256,uint256)":{"notice":"Compares two `uint256` values. Expects first value to be less than second."},"assertLt(uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects first value to be less than second. Includes error message into revert string on failure."},"assertLtDecimal(int256,int256,uint256)":{"notice":"Compares two `int256` values. Expects first value to be less than second. Formats values with decimals in failure message."},"assertLtDecimal(int256,int256,uint256,string)":{"notice":"Compares two `int256` values. Expects first value to be less than second. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertLtDecimal(uint256,uint256,uint256)":{"notice":"Compares two `uint256` values. Expects first value to be less than second. Formats values with decimals in failure message."},"assertLtDecimal(uint256,uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects first value to be less than second. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertNotEq(address,address)":{"notice":"Asserts that two `address` values are not equal."},"assertNotEq(address,address,string)":{"notice":"Asserts that two `address` values are not equal and includes error message into revert string on failure."},"assertNotEq(address[],address[])":{"notice":"Asserts that two arrays of `address` values are not equal."},"assertNotEq(address[],address[],string)":{"notice":"Asserts that two arrays of `address` values are not equal and includes error message into revert string on failure."},"assertNotEq(bool,bool)":{"notice":"Asserts that two `bool` values are not equal."},"assertNotEq(bool,bool,string)":{"notice":"Asserts that two `bool` values are not equal and includes error message into revert string on failure."},"assertNotEq(bool[],bool[])":{"notice":"Asserts that two arrays of `bool` values are not equal."},"assertNotEq(bool[],bool[],string)":{"notice":"Asserts that two arrays of `bool` values are not equal and includes error message into revert string on failure."},"assertNotEq(bytes,bytes)":{"notice":"Asserts that two `bytes` values are not equal."},"assertNotEq(bytes,bytes,string)":{"notice":"Asserts that two `bytes` values are not equal and includes error message into revert string on failure."},"assertNotEq(bytes32,bytes32)":{"notice":"Asserts that two `bytes32` values are not equal."},"assertNotEq(bytes32,bytes32,string)":{"notice":"Asserts that two `bytes32` values are not equal and includes error message into revert string on failure."},"assertNotEq(bytes32[],bytes32[])":{"notice":"Asserts that two arrays of `bytes32` values are not equal."},"assertNotEq(bytes32[],bytes32[],string)":{"notice":"Asserts that two arrays of `bytes32` values are not equal and includes error message into revert string on failure."},"assertNotEq(bytes[],bytes[])":{"notice":"Asserts that two arrays of `bytes` values are not equal."},"assertNotEq(bytes[],bytes[],string)":{"notice":"Asserts that two arrays of `bytes` values are not equal and includes error message into revert string on failure."},"assertNotEq(int256,int256)":{"notice":"Asserts that two `int256` values are not equal."},"assertNotEq(int256,int256,string)":{"notice":"Asserts that two `int256` values are not equal and includes error message into revert string on failure."},"assertNotEq(int256[],int256[])":{"notice":"Asserts that two arrays of `int256` values are not equal."},"assertNotEq(int256[],int256[],string)":{"notice":"Asserts that two arrays of `int256` values are not equal and includes error message into revert string on failure."},"assertNotEq(string,string)":{"notice":"Asserts that two `string` values are not equal."},"assertNotEq(string,string,string)":{"notice":"Asserts that two `string` values are not equal and includes error message into revert string on failure."},"assertNotEq(string[],string[])":{"notice":"Asserts that two arrays of `string` values are not equal."},"assertNotEq(string[],string[],string)":{"notice":"Asserts that two arrays of `string` values are not equal and includes error message into revert string on failure."},"assertNotEq(uint256,uint256)":{"notice":"Asserts that two `uint256` values are not equal."},"assertNotEq(uint256,uint256,string)":{"notice":"Asserts that two `uint256` values are not equal and includes error message into revert string on failure."},"assertNotEq(uint256[],uint256[])":{"notice":"Asserts that two arrays of `uint256` values are not equal."},"assertNotEq(uint256[],uint256[],string)":{"notice":"Asserts that two arrays of `uint256` values are not equal and includes error message into revert string on failure."},"assertNotEqDecimal(int256,int256,uint256)":{"notice":"Asserts that two `int256` values are not equal, formatting them with decimals in failure message."},"assertNotEqDecimal(int256,int256,uint256,string)":{"notice":"Asserts that two `int256` values are not equal, formatting them with decimals in failure message. Includes error message into revert string on failure."},"assertNotEqDecimal(uint256,uint256,uint256)":{"notice":"Asserts that two `uint256` values are not equal, formatting them with decimals in failure message."},"assertNotEqDecimal(uint256,uint256,uint256,string)":{"notice":"Asserts that two `uint256` values are not equal, formatting them with decimals in failure message. Includes error message into revert string on failure."},"assertTrue(bool)":{"notice":"Asserts that the given condition is true."},"assertTrue(bool,string)":{"notice":"Asserts that the given condition is true and includes error message into revert string on failure."},"assume(bool)":{"notice":"If the condition is false, discard this run's fuzz inputs and generate new ones."},"assumeNoRevert((address,bool,bytes))":{"notice":"Discard this run's fuzz inputs and generate new ones if next call reverts with the potential revert parameters."},"assumeNoRevert((address,bool,bytes)[])":{"notice":"Discard this run's fuzz inputs and generate new ones if next call reverts with the any of the potential revert parameters."},"assumeNoRevert()":{"notice":"Discard this run's fuzz inputs and generate new ones if next call reverted."},"attachBlob(bytes)":{"notice":"Attach an EIP-4844 blob to the next call"},"attachDelegation((uint8,bytes32,bytes32,uint64,address))":{"notice":"Designate the next call as an EIP-7702 transaction"},"attachDelegation((uint8,bytes32,bytes32,uint64,address),bool)":{"notice":"Designate the next call as an EIP-7702 transaction, with optional cross-chain validity."},"bound(int256,int256,int256)":{"notice":"Returns an int256 value bounded in given range and different from the current one."},"bound(uint256,uint256,uint256)":{"notice":"Returns an uint256 value bounded in given range and different from the current one."},"breakpoint(string)":{"notice":"Writes a breakpoint to jump to in the debugger."},"breakpoint(string,bool)":{"notice":"Writes a conditional breakpoint to jump to in the debugger."},"broadcast()":{"notice":"Has the next call (at this call depth only) create transactions that can later be signed and sent onchain. Broadcasting address is determined by checking the following in order: 1. If `--sender` argument was provided, that address is used. 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used. 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used."},"broadcast(address)":{"notice":"Has the next call (at this call depth only) create a transaction with the address provided as the sender that can later be signed and sent onchain."},"broadcast(uint256)":{"notice":"Has the next call (at this call depth only) create a transaction with the private key provided as the sender that can later be signed and sent onchain."},"broadcastRawTransaction(bytes)":{"notice":"Takes a signed transaction and broadcasts it to the network."},"closeFile(string)":{"notice":"Closes file for reading, resetting the offset and allowing to read it from beginning with readLine. `path` is relative to the project root."},"computeCreate2Address(bytes32,bytes32)":{"notice":"Compute the address of a contract created with CREATE2 using the default CREATE2 deployer."},"computeCreate2Address(bytes32,bytes32,address)":{"notice":"Compute the address of a contract created with CREATE2 using the given CREATE2 deployer."},"computeCreateAddress(address,uint256)":{"notice":"Compute the address a contract will be deployed at for a given deployer address and nonce."},"contains(string,string)":{"notice":"Returns true if `search` is found in `subject`, false otherwise."},"copyFile(string,string)":{"notice":"Copies the contents of one file to another. This function will **overwrite** the contents of `to`. On success, the total number of bytes copied is returned and it is equal to the length of the `to` file as reported by `metadata`. Both `from` and `to` are relative to the project root."},"copyStorage(address,address)":{"notice":"Utility cheatcode to copy storage of `from` contract to another `to` contract."},"createDir(string,bool)":{"notice":"Creates a new, empty directory at the provided path. This cheatcode will revert in the following situations, but is not limited to just these cases: - User lacks permissions to modify `path`. - A parent of the given path doesn't exist and `recursive` is false. - `path` already exists and `recursive` is false. `path` is relative to the project root."},"createWallet(string)":{"notice":"Derives a private key from the name, labels the account with that name, and returns the wallet."},"createWallet(uint256)":{"notice":"Generates a wallet from the private key and returns the wallet."},"createWallet(uint256,string)":{"notice":"Generates a wallet from the private key, labels the account with that name, and returns the wallet."},"deployCode(string)":{"notice":"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional."},"deployCode(string,bytes)":{"notice":"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments."},"deployCode(string,bytes,bytes32)":{"notice":"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments."},"deployCode(string,bytes,uint256)":{"notice":"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments and `msg.value`."},"deployCode(string,bytes,uint256,bytes32)":{"notice":"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments and `msg.value`."},"deployCode(string,bytes32)":{"notice":"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional."},"deployCode(string,uint256)":{"notice":"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts `msg.value`."},"deployCode(string,uint256,bytes32)":{"notice":"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts `msg.value`."},"deriveKey(string,string,uint32)":{"notice":"Derive a private key from a provided mnemonic string (or mnemonic file path) at `{derivationPath}{index}`."},"deriveKey(string,string,uint32,string)":{"notice":"Derive a private key from a provided mnemonic string (or mnemonic file path) in the specified language at `{derivationPath}{index}`."},"deriveKey(string,uint32)":{"notice":"Derive a private key from a provided mnemonic string (or mnemonic file path) at the derivation path `m/44'/60'/0'/0/{index}`."},"deriveKey(string,uint32,string)":{"notice":"Derive a private key from a provided mnemonic string (or mnemonic file path) in the specified language at the derivation path `m/44'/60'/0'/0/{index}`."},"eip712HashStruct(string,bytes)":{"notice":"Generates the struct hash of the canonical EIP-712 type representation and its abi-encoded data. Supports 2 different inputs: 1. Name of the type (i.e. \"PermitSingle\"): * requires previous binding generation with `forge bind-json`. * bindings will be retrieved from the path configured in `foundry.toml`. 2. String representation of the type (i.e. \"Foo(Bar bar) Bar(uint256 baz)\"). * Note: the cheatcode will use the canonical type even if the input is malformated with the wrong order of elements or with extra whitespaces."},"eip712HashStruct(string,string,bytes)":{"notice":"Generates the struct hash of the canonical EIP-712 type representation and its abi-encoded data. Requires previous binding generation with `forge bind-json`. Params: * `bindingsPath`: path where the output of `forge bind-json` is stored. * `typeName`: Name of the type (i.e. \"PermitSingle\"). * `abiEncodedData`: ABI-encoded data for the struct that is being hashed."},"eip712HashType(string)":{"notice":"Generates the hash of the canonical EIP-712 type representation. Supports 2 different inputs: 1. Name of the type (i.e. \"Transaction\"): * requires previous binding generation with `forge bind-json`. * bindings will be retrieved from the path configured in `foundry.toml`. 2. String representation of the type (i.e. \"Foo(Bar bar) Bar(uint256 baz)\"). * Note: the cheatcode will output the canonical type even if the input is malformated with the wrong order of elements or with extra whitespaces."},"eip712HashType(string,string)":{"notice":"Generates the hash of the canonical EIP-712 type representation. Requires previous binding generation with `forge bind-json`. Params: * `bindingsPath`: path where the output of `forge bind-json` is stored. * `typeName`: Name of the type (i.e. \"Transaction\")."},"eip712HashTypedData(string)":{"notice":"Generates a ready-to-sign digest of human-readable typed data following the EIP-712 standard."},"ensNamehash(string)":{"notice":"Returns ENS namehash for provided string."},"envAddress(string)":{"notice":"Gets the environment variable `name` and parses it as `address`. Reverts if the variable was not found or could not be parsed."},"envAddress(string,string)":{"notice":"Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`. Reverts if the variable was not found or could not be parsed."},"envBool(string)":{"notice":"Gets the environment variable `name` and parses it as `bool`. Reverts if the variable was not found or could not be parsed."},"envBool(string,string)":{"notice":"Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`. Reverts if the variable was not found or could not be parsed."},"envBytes(string)":{"notice":"Gets the environment variable `name` and parses it as `bytes`. Reverts if the variable was not found or could not be parsed."},"envBytes(string,string)":{"notice":"Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`. Reverts if the variable was not found or could not be parsed."},"envBytes32(string)":{"notice":"Gets the environment variable `name` and parses it as `bytes32`. Reverts if the variable was not found or could not be parsed."},"envBytes32(string,string)":{"notice":"Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`. Reverts if the variable was not found or could not be parsed."},"envExists(string)":{"notice":"Gets the environment variable `name` and returns true if it exists, else returns false."},"envInt(string)":{"notice":"Gets the environment variable `name` and parses it as `int256`. Reverts if the variable was not found or could not be parsed."},"envInt(string,string)":{"notice":"Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`. Reverts if the variable was not found or could not be parsed."},"envOr(string,address)":{"notice":"Gets the environment variable `name` and parses it as `address`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,bool)":{"notice":"Gets the environment variable `name` and parses it as `bool`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,bytes)":{"notice":"Gets the environment variable `name` and parses it as `bytes`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,bytes32)":{"notice":"Gets the environment variable `name` and parses it as `bytes32`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,int256)":{"notice":"Gets the environment variable `name` and parses it as `int256`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,string)":{"notice":"Gets the environment variable `name` and parses it as `string`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,string,address[])":{"notice":"Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,string,bool[])":{"notice":"Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,string,bytes32[])":{"notice":"Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,string,bytes[])":{"notice":"Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,string,int256[])":{"notice":"Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,string,string[])":{"notice":"Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,string,uint256[])":{"notice":"Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,uint256)":{"notice":"Gets the environment variable `name` and parses it as `uint256`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envString(string)":{"notice":"Gets the environment variable `name` and parses it as `string`. Reverts if the variable was not found or could not be parsed."},"envString(string,string)":{"notice":"Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`. Reverts if the variable was not found or could not be parsed."},"envUint(string)":{"notice":"Gets the environment variable `name` and parses it as `uint256`. Reverts if the variable was not found or could not be parsed."},"envUint(string,string)":{"notice":"Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`. Reverts if the variable was not found or could not be parsed."},"eth_getLogs(uint256,uint256,address,bytes32[])":{"notice":"Gets all the logs according to specified filter."},"exists(string)":{"notice":"Returns true if the given path points to an existing entity, else returns false."},"ffi(string[])":{"notice":"Performs a foreign function call via the terminal."},"foundryVersionAtLeast(string)":{"notice":"Returns true if the current Foundry version is greater than or equal to the given version. The given version string must be in the format `major.minor.patch`. This is equivalent to `foundryVersionCmp(version) >= 0`."},"foundryVersionCmp(string)":{"notice":"Compares the current Foundry version with the given version string. The given version string must be in the format `major.minor.patch`. Returns: -1 if current Foundry version is less than the given version 0 if current Foundry version equals the given version 1 if current Foundry version is greater than the given version This result can then be used with a comparison operator against `0`. For example, to check if the current Foundry version is greater than or equal to `1.0.0`: `if (foundryVersionCmp(\"1.0.0\") >= 0) { ... }`"},"fsMetadata(string)":{"notice":"Given a path, query the file system to get information about a file, directory, etc."},"getArtifactPathByCode(bytes)":{"notice":"Gets the artifact path from code (aka. creation code)."},"getArtifactPathByDeployedCode(bytes)":{"notice":"Gets the artifact path from deployed code (aka. runtime code)."},"getBlobBaseFee()":{"notice":"Gets the current `block.blobbasefee`. You should use this instead of `block.blobbasefee` if you use `vm.blobBaseFee`, as `block.blobbasefee` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180"},"getBlockNumber()":{"notice":"Gets the current `block.number`. You should use this instead of `block.number` if you use `vm.roll`, as `block.number` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180"},"getBlockTimestamp()":{"notice":"Gets the current `block.timestamp`. You should use this instead of `block.timestamp` if you use `vm.warp`, as `block.timestamp` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180"},"getBroadcast(string,uint64,uint8)":{"notice":"Returns the most recent broadcast for the given contract on `chainId` matching `txType`. For example: The most recent deployment can be fetched by passing `txType` as `CREATE` or `CREATE2`. The most recent call can be fetched by passing `txType` as `CALL`."},"getBroadcasts(string,uint64)":{"notice":"Returns all broadcasts for the given contract on `chainId`. Sorted such that the most recent broadcast is the first element, and the oldest is the last. i.e descending order of BroadcastTxSummary.blockNumber."},"getBroadcasts(string,uint64,uint8)":{"notice":"Returns all broadcasts for the given contract on `chainId` with the specified `txType`. Sorted such that the most recent broadcast is the first element, and the oldest is the last. i.e descending order of BroadcastTxSummary.blockNumber."},"getChain(string)":{"notice":"Returns a Chain struct for specific alias"},"getChain(uint256)":{"notice":"Returns a Chain struct for specific chainId"},"getChainId()":{"notice":"Gets the current `block.chainid` of the currently selected environment. You should use this instead of `block.chainid` if you use `vm.selectFork` or `vm.createSelectFork`, as `block.chainid` could be assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180"},"getCode(string)":{"notice":"Gets the creation bytecode from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional."},"getDeployedCode(string)":{"notice":"Gets the deployed bytecode from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional."},"getDeployment(string)":{"notice":"Returns the most recent deployment for the current `chainId`."},"getDeployment(string,uint64)":{"notice":"Returns the most recent deployment for the given contract on `chainId`"},"getDeployments(string,uint64)":{"notice":"Returns all deployments for the given contract on `chainId` Sorted in descending order of deployment time i.e descending order of BroadcastTxSummary.blockNumber. The most recent deployment is the first element, and the oldest is the last."},"getFoundryVersion()":{"notice":"Returns the Foundry version. Format: -+.. Sample output: 0.3.0-nightly+3cb96bde9b.1737036656.debug Note: Build timestamps may vary slightly across platforms due to separate CI jobs. For reliable version comparisons, use UNIX format (e.g., >= 1700000000) to compare timestamps while ignoring minor time differences."},"getLabel(address)":{"notice":"Gets the label for the specified address."},"getMappingKeyAndParentOf(address,bytes32)":{"notice":"Gets the map key and parent of a mapping at a given slot, for a given address."},"getMappingLength(address,bytes32)":{"notice":"Gets the number of elements in the mapping at the given slot, for a given address."},"getMappingSlotAt(address,bytes32,uint256)":{"notice":"Gets the elements at index idx of the mapping at the given slot, for a given address. The index must be less than the length of the mapping (i.e. the number of keys in the mapping)."},"getNonce((address,uint256,uint256,uint256))":{"notice":"Get the nonce of a `Wallet`."},"getNonce(address)":{"notice":"Gets the nonce of an account."},"getRawBlockHeader(uint256)":{"notice":"Gets the RLP encoded block header for a given block number. Returns the block header in the same format as `cast block --raw`."},"getRecordedLogs()":{"notice":"Gets all the recorded logs."},"getStateDiff()":{"notice":"Returns state diffs from current `vm.startStateDiffRecording` session."},"getStateDiffJson()":{"notice":"Returns state diffs from current `vm.startStateDiffRecording` session, in json format."},"getStorageAccesses()":{"notice":"Returns an array of `StorageAccess` from current `vm.stateStateDiffRecording` session"},"getWallets()":{"notice":"Returns addresses of available unlocked wallets in the script environment."},"indexOf(string,string)":{"notice":"Returns the index of the first occurrence of a `key` in an `input` string. Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `key` is not found. Returns 0 in case of an empty `key`."},"isContext(uint8)":{"notice":"Returns true if `forge` command was executed in given context."},"isDir(string)":{"notice":"Returns true if the path exists on disk and is pointing at a directory, else returns false."},"isFile(string)":{"notice":"Returns true if the path exists on disk and is pointing at a regular file, else returns false."},"keyExists(string,string)":{"notice":"Checks if `key` exists in a JSON object `keyExists` is being deprecated in favor of `keyExistsJson`. It will be removed in future versions."},"keyExistsJson(string,string)":{"notice":"Checks if `key` exists in a JSON object."},"keyExistsToml(string,string)":{"notice":"Checks if `key` exists in a TOML table."},"label(address,string)":{"notice":"Labels an address in call traces."},"lastCallGas()":{"notice":"Gets the gas used in the last call from the callee perspective."},"load(address,bytes32)":{"notice":"Loads a storage slot from an address."},"parseAddress(string)":{"notice":"Parses the given `string` into an `address`."},"parseBool(string)":{"notice":"Parses the given `string` into a `bool`."},"parseBytes(string)":{"notice":"Parses the given `string` into `bytes`."},"parseBytes32(string)":{"notice":"Parses the given `string` into a `bytes32`."},"parseInt(string)":{"notice":"Parses the given `string` into a `int256`."},"parseJson(string)":{"notice":"ABI-encodes a JSON object."},"parseJson(string,string)":{"notice":"ABI-encodes a JSON object at `key`."},"parseJsonAddress(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `address`."},"parseJsonAddressArray(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `address[]`."},"parseJsonBool(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `bool`."},"parseJsonBoolArray(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `bool[]`."},"parseJsonBytes(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `bytes`."},"parseJsonBytes32(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `bytes32`."},"parseJsonBytes32Array(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `bytes32[]`."},"parseJsonBytesArray(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `bytes[]`."},"parseJsonInt(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `int256`."},"parseJsonIntArray(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `int256[]`."},"parseJsonKeys(string,string)":{"notice":"Returns an array of all the keys in a JSON object."},"parseJsonString(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `string`."},"parseJsonStringArray(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `string[]`."},"parseJsonType(string,string)":{"notice":"Parses a string of JSON data and coerces it to type corresponding to `typeDescription`."},"parseJsonType(string,string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to type corresponding to `typeDescription`."},"parseJsonTypeArray(string,string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to type array corresponding to `typeDescription`."},"parseJsonUint(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `uint256`."},"parseJsonUintArray(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `uint256[]`."},"parseToml(string)":{"notice":"ABI-encodes a TOML table."},"parseToml(string,string)":{"notice":"ABI-encodes a TOML table at `key`."},"parseTomlAddress(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `address`."},"parseTomlAddressArray(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `address[]`."},"parseTomlBool(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `bool`."},"parseTomlBoolArray(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `bool[]`."},"parseTomlBytes(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `bytes`."},"parseTomlBytes32(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `bytes32`."},"parseTomlBytes32Array(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `bytes32[]`."},"parseTomlBytesArray(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `bytes[]`."},"parseTomlInt(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `int256`."},"parseTomlIntArray(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `int256[]`."},"parseTomlKeys(string,string)":{"notice":"Returns an array of all the keys in a TOML table."},"parseTomlString(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `string`."},"parseTomlStringArray(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `string[]`."},"parseTomlType(string,string)":{"notice":"Parses a string of TOML data and coerces it to type corresponding to `typeDescription`."},"parseTomlType(string,string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to type corresponding to `typeDescription`."},"parseTomlTypeArray(string,string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to type array corresponding to `typeDescription`."},"parseTomlUint(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `uint256`."},"parseTomlUintArray(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `uint256[]`."},"parseUint(string)":{"notice":"Parses the given `string` into a `uint256`."},"pauseGasMetering()":{"notice":"Pauses gas metering (i.e. gas usage is not counted). Noop if already paused."},"pauseTracing()":{"notice":"Pauses collection of call traces. Useful in cases when you want to skip tracing of complex calls which are not useful for debugging."},"projectRoot()":{"notice":"Get the path of the current project root."},"prompt(string)":{"notice":"Prompts the user for a string value in the terminal."},"promptAddress(string)":{"notice":"Prompts the user for an address in the terminal."},"promptSecret(string)":{"notice":"Prompts the user for a hidden string value in the terminal."},"promptSecretUint(string)":{"notice":"Prompts the user for hidden uint256 in the terminal (usually pk)."},"promptUint(string)":{"notice":"Prompts the user for uint256 in the terminal."},"publicKeyP256(uint256)":{"notice":"Derives secp256r1 public key from the provided `privateKey`."},"randomAddress()":{"notice":"Returns a random `address`."},"randomBool()":{"notice":"Returns a random `bool`."},"randomBytes(uint256)":{"notice":"Returns a random byte array value of the given length."},"randomBytes4()":{"notice":"Returns a random fixed-size byte array of length 4."},"randomBytes8()":{"notice":"Returns a random fixed-size byte array of length 8."},"randomInt()":{"notice":"Returns a random `int256` value."},"randomInt(uint256)":{"notice":"Returns a random `int256` value of given bits."},"randomUint()":{"notice":"Returns a random uint256 value."},"randomUint(uint256)":{"notice":"Returns a random `uint256` value of given bits."},"randomUint(uint256,uint256)":{"notice":"Returns random uint256 value between the provided range (=min..=max)."},"readDir(string)":{"notice":"Reads the directory at the given path recursively, up to `maxDepth`. `maxDepth` defaults to 1, meaning only the direct children of the given directory will be returned. Follows symbolic links if `followLinks` is true."},"readDir(string,uint64)":{"notice":"See `readDir(string)`."},"readDir(string,uint64,bool)":{"notice":"See `readDir(string)`."},"readFile(string)":{"notice":"Reads the entire content of file to string. `path` is relative to the project root."},"readFileBinary(string)":{"notice":"Reads the entire content of file as binary. `path` is relative to the project root."},"readLine(string)":{"notice":"Reads next line of file to string."},"readLink(string)":{"notice":"Reads a symbolic link, returning the path that the link points to. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` is not a symbolic link. - `path` does not exist."},"record()":{"notice":"Records all storage reads and writes. Use `accesses` to get the recorded data. Subsequent calls to `record` will clear the previous data."},"recordLogs()":{"notice":"Record all the transaction logs."},"rememberKey(uint256)":{"notice":"Adds a private key to the local forge wallet and returns the address."},"rememberKeys(string,string,string,uint32)":{"notice":"Derive a set number of wallets from a mnemonic in the specified language at the derivation path `m/44'/60'/0'/0/{0..count}`. The respective private keys are saved to the local forge wallet for later use and their addresses are returned."},"rememberKeys(string,string,uint32)":{"notice":"Derive a set number of wallets from a mnemonic at the derivation path `m/44'/60'/0'/0/{0..count}`. The respective private keys are saved to the local forge wallet for later use and their addresses are returned."},"removeDir(string,bool)":{"notice":"Removes a directory at the provided path. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` doesn't exist. - `path` isn't a directory. - User lacks permissions to modify `path`. - The directory is not empty and `recursive` is false. `path` is relative to the project root."},"removeFile(string)":{"notice":"Removes a file from the filesystem. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` points to a directory. - The file doesn't exist. - The user lacks permissions to remove the file. `path` is relative to the project root."},"replace(string,string,string)":{"notice":"Replaces occurrences of `from` in the given `string` with `to`."},"resetGasMetering()":{"notice":"Reset gas metering (i.e. gas usage is set to gas limit)."},"resolveEnv(string)":{"notice":"Resolves the env variable placeholders of a given input string."},"resumeGasMetering()":{"notice":"Resumes gas metering (i.e. gas usage is counted again). Noop if already on."},"resumeTracing()":{"notice":"Unpauses collection of call traces."},"rpc(string,string)":{"notice":"Performs an Ethereum JSON-RPC request to the current fork URL."},"rpc(string,string,string)":{"notice":"Performs an Ethereum JSON-RPC request to the given endpoint."},"rpcUrl(string)":{"notice":"Returns the RPC url for the given alias."},"rpcUrlStructs()":{"notice":"Returns all rpc urls and their aliases as structs."},"rpcUrls()":{"notice":"Returns all rpc urls and their aliases `[alias, url][]`."},"serializeAddress(string,string,address)":{"notice":"See `serializeJson`."},"serializeAddress(string,string,address[])":{"notice":"See `serializeJson`."},"serializeBool(string,string,bool)":{"notice":"See `serializeJson`."},"serializeBool(string,string,bool[])":{"notice":"See `serializeJson`."},"serializeBytes(string,string,bytes)":{"notice":"See `serializeJson`."},"serializeBytes(string,string,bytes[])":{"notice":"See `serializeJson`."},"serializeBytes32(string,string,bytes32)":{"notice":"See `serializeJson`."},"serializeBytes32(string,string,bytes32[])":{"notice":"See `serializeJson`."},"serializeInt(string,string,int256)":{"notice":"See `serializeJson`."},"serializeInt(string,string,int256[])":{"notice":"See `serializeJson`."},"serializeJson(string,string)":{"notice":"Serializes a key and value to a JSON object stored in-memory that can be later written to a file. Returns the stringified version of the specific JSON file up to that moment."},"serializeJsonType(string,bytes)":{"notice":"See `serializeJson`."},"serializeJsonType(string,string,string,bytes)":{"notice":"See `serializeJson`."},"serializeString(string,string,string)":{"notice":"See `serializeJson`."},"serializeString(string,string,string[])":{"notice":"See `serializeJson`."},"serializeUint(string,string,uint256)":{"notice":"See `serializeJson`."},"serializeUint(string,string,uint256[])":{"notice":"See `serializeJson`."},"serializeUintToHex(string,string,uint256)":{"notice":"See `serializeJson`."},"setArbitraryStorage(address)":{"notice":"Utility cheatcode to set arbitrary storage for given target address."},"setArbitraryStorage(address,bool)":{"notice":"Utility cheatcode to set arbitrary storage for given target address and overwrite any storage slots that have been previously set."},"setEnv(string,string)":{"notice":"Sets environment variables."},"setSeed(uint256)":{"notice":"Set RNG seed."},"shuffle(uint256[])":{"notice":"Randomly shuffles an array."},"sign((address,uint256,uint256,uint256),bytes32)":{"notice":"Signs data with a `Wallet`."},"sign(address,bytes32)":{"notice":"Signs `digest` with signer provided to script using the secp256k1 curve. Raises error if none of the signers passed into the script have provided address."},"sign(bytes32)":{"notice":"Signs `digest` with signer provided to script using the secp256k1 curve. If `--sender` is provided, the signer with provided address is used, otherwise, if exactly one signer is provided to the script, that signer is used. Raises error if signer passed through `--sender` does not match any unlocked signers or if `--sender` is not provided and not exactly one signer is passed to the script."},"sign(uint256,bytes32)":{"notice":"Signs `digest` with `privateKey` using the secp256k1 curve."},"signAndAttachDelegation(address,uint256)":{"notice":"Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction"},"signAndAttachDelegation(address,uint256,bool)":{"notice":"Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction, with optional cross-chain validity."},"signAndAttachDelegation(address,uint256,uint64)":{"notice":"Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction for specific nonce"},"signCompact((address,uint256,uint256,uint256),bytes32)":{"notice":"Signs data with a `Wallet`. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes."},"signCompact(address,bytes32)":{"notice":"Signs `digest` with signer provided to script using the secp256k1 curve. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes. Raises error if none of the signers passed into the script have provided address."},"signCompact(bytes32)":{"notice":"Signs `digest` with signer provided to script using the secp256k1 curve. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes. If `--sender` is provided, the signer with provided address is used, otherwise, if exactly one signer is provided to the script, that signer is used. Raises error if signer passed through `--sender` does not match any unlocked signers or if `--sender` is not provided and not exactly one signer is passed to the script."},"signCompact(uint256,bytes32)":{"notice":"Signs `digest` with `privateKey` using the secp256k1 curve. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes."},"signDelegation(address,uint256)":{"notice":"Sign an EIP-7702 authorization for delegation"},"signDelegation(address,uint256,bool)":{"notice":"Sign an EIP-7702 authorization for delegation, with optional cross-chain validity."},"signDelegation(address,uint256,uint64)":{"notice":"Sign an EIP-7702 authorization for delegation for specific nonce"},"signP256(uint256,bytes32)":{"notice":"Signs `digest` with `privateKey` using the secp256r1 curve."},"sleep(uint256)":{"notice":"Suspends execution of the main thread for `duration` milliseconds."},"sort(uint256[])":{"notice":"Sorts an array in ascending order."},"split(string,string)":{"notice":"Splits the given `string` into an array of strings divided by the `delimiter`."},"startBroadcast()":{"notice":"Has all subsequent calls (at this call depth only) create transactions that can later be signed and sent onchain. Broadcasting address is determined by checking the following in order: 1. If `--sender` argument was provided, that address is used. 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used. 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used."},"startBroadcast(address)":{"notice":"Has all subsequent calls (at this call depth only) create transactions with the address provided that can later be signed and sent onchain."},"startBroadcast(uint256)":{"notice":"Has all subsequent calls (at this call depth only) create transactions with the private key provided that can later be signed and sent onchain."},"startDebugTraceRecording()":{"notice":"Records the debug trace during the run."},"startMappingRecording()":{"notice":"Starts recording all map SSTOREs for later retrieval."},"startStateDiffRecording()":{"notice":"Record all account accesses as part of CREATE, CALL or SELFDESTRUCT opcodes in order, along with the context of the calls"},"stopAndReturnDebugTraceRecording()":{"notice":"Stop debug trace recording and returns the recorded debug trace."},"stopAndReturnStateDiff()":{"notice":"Returns an ordered array of all account accesses from a `vm.startStateDiffRecording` session."},"stopBroadcast()":{"notice":"Stops collecting onchain transactions."},"stopMappingRecording()":{"notice":"Stops recording all map SSTOREs for later retrieval and clears the recorded data."},"stopRecord()":{"notice":"Stops recording storage reads and writes."},"toBase64(bytes)":{"notice":"Encodes a `bytes` value to a base64 string."},"toBase64(string)":{"notice":"Encodes a `string` value to a base64 string."},"toBase64URL(bytes)":{"notice":"Encodes a `bytes` value to a base64url string."},"toBase64URL(string)":{"notice":"Encodes a `string` value to a base64url string."},"toLowercase(string)":{"notice":"Converts the given `string` value to Lowercase."},"toString(address)":{"notice":"Converts the given value to a `string`."},"toString(bool)":{"notice":"Converts the given value to a `string`."},"toString(bytes)":{"notice":"Converts the given value to a `string`."},"toString(bytes32)":{"notice":"Converts the given value to a `string`."},"toString(int256)":{"notice":"Converts the given value to a `string`."},"toString(uint256)":{"notice":"Converts the given value to a `string`."},"toUppercase(string)":{"notice":"Converts the given `string` value to Uppercase."},"trim(string)":{"notice":"Trims leading and trailing whitespace from the given `string` value."},"tryFfi(string[])":{"notice":"Performs a foreign function call via terminal and returns the exit code, stdout, and stderr."},"unixTime()":{"notice":"Returns the time since unix epoch in milliseconds."},"writeFile(string,string)":{"notice":"Writes data to file, creating a file if it does not exist, and entirely replacing its contents if it does. `path` is relative to the project root."},"writeFileBinary(string,bytes)":{"notice":"Writes binary data to a file, creating a file if it does not exist, and entirely replacing its contents if it does. `path` is relative to the project root."},"writeJson(string,string)":{"notice":"Write a serialized JSON object to a file. If the file exists, it will be overwritten."},"writeJson(string,string,string)":{"notice":"Write a serialized JSON object to an **existing** JSON file, replacing a value with key = This is useful to replace a specific value of a JSON file, without having to parse the entire thing. This cheatcode will create new keys if they didn't previously exist."},"writeLine(string,string)":{"notice":"Writes line to file, creating a file if it does not exist. `path` is relative to the project root."},"writeToml(string,string)":{"notice":"Takes serialized JSON, converts to TOML and write a serialized TOML to a file."},"writeToml(string,string,string)":{"notice":"Takes serialized JSON, converts to TOML and write a serialized TOML table to an **existing** TOML file, replacing a value with key = This is useful to replace a specific value of a TOML file, without having to parse the entire thing. This cheatcode will create new keys if they didn't previously exist."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/Vm.sol":"VmSafe"},"evmVersion":"prague","libraries":{}},"sources":{"lib/forge-std/src/Vm.sol":{"keccak256":"0x6f235e293b4406784ff3bd89b2e4d51d0922918cf6825e7a7a09413606932e39","urls":["bzz-raw://afc4fceb24a18596a239e82eb354c41d9a4e28d3fc56fcce04146af2c692b1b9","dweb:/ipfs/QmQCHSAb5k9KQW9kEzeoPdirSknkWso4q4t5CSVFLNnMLB"],"license":"MIT OR Apache-2.0"}},"version":1},"id":14} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/build-info/c08ca214f50efb5e.json b/lib/signals-implicit-mode/out/build-info/c08ca214f50efb5e.json new file mode 100644 index 0000000000..3c29a1dbd3 --- /dev/null +++ b/lib/signals-implicit-mode/out/build-info/c08ca214f50efb5e.json @@ -0,0 +1 @@ +{"id":"c08ca214f50efb5e","source_id_to_path":{"0":"lib/forge-std/src/Base.sol","1":"lib/forge-std/src/Script.sol","2":"lib/forge-std/src/StdChains.sol","3":"lib/forge-std/src/StdCheats.sol","4":"lib/forge-std/src/StdConstants.sol","5":"lib/forge-std/src/StdJson.sol","6":"lib/forge-std/src/StdMath.sol","7":"lib/forge-std/src/StdStorage.sol","8":"lib/forge-std/src/StdStyle.sol","9":"lib/forge-std/src/StdUtils.sol","10":"lib/forge-std/src/Vm.sol","11":"lib/forge-std/src/console.sol","12":"lib/forge-std/src/console2.sol","13":"lib/forge-std/src/interfaces/IMulticall3.sol","14":"lib/forge-std/src/safeconsole.sol","15":"lib/sequence-v3/lib/erc2470-libs/script/SingletonDeployer.s.sol","16":"lib/sequence-v3/lib/erc2470-libs/src/ISingletonFactory.sol","17":"lib/sequence-v3/src/extensions/sessions/implicit/Attestation.sol","18":"lib/sequence-v3/src/extensions/sessions/implicit/ISignalsImplicitMode.sol","19":"lib/sequence-v3/src/modules/Payload.sol","20":"lib/sequence-v3/src/utils/LibBytes.sol","21":"script/Deploy.s.sol","22":"src/registry/IImplicitProjectRegistry.sol","23":"src/registry/IImplicitProjectValidation.sol","24":"src/registry/ImplicitProjectRegistry.sol"},"language":"Solidity"} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/build-info/fac03bf294c3c997.json b/lib/signals-implicit-mode/out/build-info/fac03bf294c3c997.json new file mode 100644 index 0000000000..af8b60bc20 --- /dev/null +++ b/lib/signals-implicit-mode/out/build-info/fac03bf294c3c997.json @@ -0,0 +1 @@ +{"id":"fac03bf294c3c997","source_id_to_path":{"0":"lib/forge-std/src/Base.sol","1":"lib/forge-std/src/StdAssertions.sol","2":"lib/forge-std/src/StdChains.sol","3":"lib/forge-std/src/StdCheats.sol","4":"lib/forge-std/src/StdConstants.sol","5":"lib/forge-std/src/StdError.sol","6":"lib/forge-std/src/StdInvariant.sol","7":"lib/forge-std/src/StdJson.sol","8":"lib/forge-std/src/StdMath.sol","9":"lib/forge-std/src/StdStorage.sol","10":"lib/forge-std/src/StdStyle.sol","11":"lib/forge-std/src/StdToml.sol","12":"lib/forge-std/src/StdUtils.sol","13":"lib/forge-std/src/Test.sol","14":"lib/forge-std/src/Vm.sol","15":"lib/forge-std/src/console.sol","16":"lib/forge-std/src/console2.sol","17":"lib/forge-std/src/interfaces/IMulticall3.sol","18":"lib/forge-std/src/safeconsole.sol","19":"lib/sequence-v3/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol","20":"lib/sequence-v3/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol","21":"lib/sequence-v3/src/extensions/sessions/implicit/Attestation.sol","22":"lib/sequence-v3/src/extensions/sessions/implicit/ISignalsImplicitMode.sol","23":"lib/sequence-v3/src/modules/Payload.sol","24":"lib/sequence-v3/src/utils/LibBytes.sol","25":"src/helper/SignalsImplicitMode.sol","26":"src/registry/IImplicitProjectRegistry.sol","27":"src/registry/IImplicitProjectValidation.sol","28":"src/registry/ImplicitProjectRegistry.sol","29":"test/ImplicitProjectRegistry.t.sol","30":"test/SignalsImplicitMode.t.sol","31":"test/TestHelper.sol","32":"test/mock/SignalsImplicitModeMock.sol"},"language":"Solidity"} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/console.sol/console.json b/lib/signals-implicit-mode/out/console.sol/console.json new file mode 100644 index 0000000000..dd3a4dae62 --- /dev/null +++ b/lib/signals-implicit-mode/out/console.sol/console.json @@ -0,0 +1 @@ +{"abi":[],"bytecode":{"object":"0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220d1c121dacd62dc11e3a85b54eda1e2c6fd6bb7e0d939abd195c69127d926ff2d64736f6c634300081c0033","sourceMap":"66:69203:15:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;66:69203:15;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220d1c121dacd62dc11e3a85b54eda1e2c6fd6bb7e0d939abd195c69127d926ff2d64736f6c634300081c0033","sourceMap":"66:69203:15:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/console.sol\":\"console\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/console.sol":"console"},"evmVersion":"prague","libraries":{}},"sources":{"lib/forge-std/src/console.sol":{"keccak256":"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5","urls":["bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57","dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP"],"license":"MIT"}},"version":1},"id":15} \ No newline at end of file diff --git a/lib/signals-implicit-mode/out/safeconsole.sol/safeconsole.json b/lib/signals-implicit-mode/out/safeconsole.sol/safeconsole.json new file mode 100644 index 0000000000..6255dfbbb6 --- /dev/null +++ b/lib/signals-implicit-mode/out/safeconsole.sol/safeconsole.json @@ -0,0 +1 @@ +{"abi":[],"bytecode":{"object":"0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220618ed8a96b6a6c0870ce29ec8569455c2dfdaff1829f73c92f8554b3b66f3e1864736f6c634300081c0033","sourceMap":"163:427371:18:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;163:427371:18;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220618ed8a96b6a6c0870ce29ec8569455c2dfdaff1829f73c92f8554b3b66f3e1864736f6c634300081c0033","sourceMap":"163:427371:18:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"philogy \",\"details\":\"Code generated automatically by script.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/safeconsole.sol\":\"safeconsole\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/\",\":erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/\",\":sequence-v3/=lib/sequence-v3/\",\":signals-implicit-mode/=lib/signals-implicit-mode/\"]},\"sources\":{\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/sequence-v3/lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/sequence-v3/lib/account-abstraction/contracts/","erc2470-libs/=lib/sequence-v3/lib/erc2470-libs/","erc4626-tests/=lib/sequence-v3/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/sequence-v3/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/sequence-v3/lib/openzeppelin-contracts/","sequence-v3/=lib/sequence-v3/","signals-implicit-mode/=lib/signals-implicit-mode/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/safeconsole.sol":"safeconsole"},"evmVersion":"prague","libraries":{}},"sources":{"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11","urls":["bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab","dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3"],"license":"MIT"}},"version":1},"id":18} \ No newline at end of file diff --git a/packages/services/api/.turbo/turbo-build.log b/packages/services/api/.turbo/turbo-build.log new file mode 100644 index 0000000000..39fb8bedc7 --- /dev/null +++ b/packages/services/api/.turbo/turbo-build.log @@ -0,0 +1,2 @@ +[?25l> @0xsequence/api@3.0.0 build C:\Users\Legion\sequence.js\packages\services\api +> tsc]0;C:\Windows\system32\cmd.exe[?25h diff --git a/packages/services/api/.turbo/turbo-test.log b/packages/services/api/.turbo/turbo-test.log new file mode 100644 index 0000000000..7e2526b326 --- /dev/null +++ b/packages/services/api/.turbo/turbo-test.log @@ -0,0 +1,2 @@ +[?25l> @0xsequence/api@3.0.0 test C:\Users\Legion\sequence.js\packages\services\api +> echo]0;C:\Windows\system32\cmd.exe[?25hECHO is on. diff --git a/packages/services/api/.turbo/turbo-typecheck.log b/packages/services/api/.turbo/turbo-typecheck.log new file mode 100644 index 0000000000..6c83370a30 --- /dev/null +++ b/packages/services/api/.turbo/turbo-typecheck.log @@ -0,0 +1,2 @@ +[?25l> @0xsequence/api@3.0.0 typecheck C:\Users\Legion\sequence.js\packages\services\api +> tsc --noEmit]0;C:\Windows\system32\cmd.exe[?25h diff --git a/packages/services/builder/.turbo/turbo-build.log b/packages/services/builder/.turbo/turbo-build.log new file mode 100644 index 0000000000..b99efcdc65 --- /dev/null +++ b/packages/services/builder/.turbo/turbo-build.log @@ -0,0 +1,2 @@ +[?25l> @0xsequence/builder@3.0.0 build C:\Users\Legion\sequence.js\packages\services\builder +> tsc]0;C:\Windows\system32\cmd.exe[?25h diff --git a/packages/services/builder/.turbo/turbo-test.log b/packages/services/builder/.turbo/turbo-test.log new file mode 100644 index 0000000000..daa4f5e154 --- /dev/null +++ b/packages/services/builder/.turbo/turbo-test.log @@ -0,0 +1,2 @@ +[?25l> @0xsequence/builder@3.0.0 test C:\Users\Legion\sequence.js\packages\services\builder +> echo]0;C:\Windows\system32\cmd.exe[?25hECHO is on. diff --git a/packages/services/builder/.turbo/turbo-typecheck.log b/packages/services/builder/.turbo/turbo-typecheck.log new file mode 100644 index 0000000000..cc215076ee --- /dev/null +++ b/packages/services/builder/.turbo/turbo-typecheck.log @@ -0,0 +1,2 @@ +[?25l> @0xsequence/builder@3.0.0 typecheck C:\Users\Legion\sequence.js\packages\services\builder +> tsc --noEmit]0;C:\Windows\system32\cmd.exe[?25h diff --git a/packages/services/guard/.turbo/turbo-build.log b/packages/services/guard/.turbo/turbo-build.log new file mode 100644 index 0000000000..f67e3916d5 --- /dev/null +++ b/packages/services/guard/.turbo/turbo-build.log @@ -0,0 +1,2 @@ +[?25l> @0xsequence/guard@3.0.0 build C:\Users\Legion\sequence.js\packages\services\guard +> tsc]0;C:\Windows\system32\cmd.exe[?25h diff --git a/packages/services/guard/.turbo/turbo-test.log b/packages/services/guard/.turbo/turbo-test.log new file mode 100644 index 0000000000..0bb2737f30 --- /dev/null +++ b/packages/services/guard/.turbo/turbo-test.log @@ -0,0 +1,100 @@ +[?25l> @0xsequence/guard@3.0.0 test C:\Users\Legion\sequence.js\packages\services\guard +> vitest run]0;C:\Windows\system32\cmd.exe[?25h]0;node (vitest)[?25l + RUN  v3.2.4 C:/Users/Legion/sequence.js/packages/services/guard]0;node (vitest 1)]0;node (vitest 2)]0;node (vitest 6)]0;node (vitest 5)]0;node (vitest 7)[?2026h[?2026l ❯ test/sequence.test.ts [queued] Test Files 0 passed (1) + Tests 0 passed (0) + Start at 14:53:13 + Duration 767ms[?2026h[?2026l + ❯ test/sequence.test.ts [queued] + + Test Files 0 passed (1) + Tests 0 passed (0) + Start at 14:53:13 + Duration 972ms +[?2026h[?2026l + ❯ test/sequence.test.ts 0/8 + + Test Files 0 passed (1) + Tests 0 passed (8) + Start at 14:53:13 + Duration 1.42s +[?2026hstderr | test/sequence.test.ts > Sequence > GuardSigner > sign() > Should throw error when guard service fails +WebrpcRequestFailed: request failed + at WebrpcRequestFailedError.new (C:\Users\Legion\sequence.js\packages\services\guard\src\client\guard.gen.ts:654:12)  + at C:\Users\Legion\sequence.js\packages\services\guard\src\client\guard.gen.ts:440:40 + at processTicksAndRejections (node:internal/process/task_queues:105:5) + at Guard.signPayload (C:\Users\Legion\sequence.js\packages\services\guard\src\sequence.ts:30:19) { + code: -1, + status: 0, + cause: 'fetch(): Network error', + msg: 'request failed' +}stderr | test/sequence.test.ts > Sequence > GuardSigner > sign() > Should throw error when guard service returns invalid response +Error: Invalid JSON + at Object.text (C:\Users\Legion\sequence.js\packages\services\guard\test\sequence.test.ts:109:19) + at buildResponse (C:\Users\Legion\sequence.js\packages\services\guard\src\client\guard.gen.ts:606:14) + at fetch.then.WebrpcRequestFailedError.new.cause (C:\Users\Legion\sequence.js\packages\services\guard\src\client\guard.gen.ts:433:16) + at processTicksAndRejections (node:internal/process/task_queues:105:5) + at Guard.signPayload (C:\Users\Legion\sequence.js\packages\services\guard\src\sequence.ts:30:19)stderr | test/sequence.test.ts > Sequence > GuardSigner > sign() > Error Handling > Should handle malformed guard service response +InvalidHexTypeError [Hex.InvalidHexTypeError]: Value `undefined` of type `undefined` is an invalid hex type. + +Hex types must be represented as `"0x${string}"`. + at Module.assert (file:///C:/Users/Legion/sequence.js/node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/co +ore/Hex.ts:38:21) + at Guard.signPayload (C:\Users\Legion\sequence.js\packages\services\guard\src\sequence.ts:43:11) + at processTicksAndRejections (node:internal/process/task_queues:105:5) + at C:\Users\Legion\sequence.js\packages\services\guard\test\sequence.test.ts:154:11 + at file:///C:/Users/Legion/sequence.js/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk +k-hooks.js:752:20 { + details: undefined, + docs: 'https://oxlib.sh', + docsPath: undefined, + shortMessage: 'Value `undefined` of type `undefined` is an invalid hex type.', + cause: undefined, + version: 'ox@0.1.1' +} + + + ❯ test/sequence.test.ts 1/8 + + Test Files 0 passed (1) + Tests 1 passed (8) + Start at 14:53:13 + Duration 1.53s[?2026l +stderr | test/sequence.test.ts > Sequence > GuardSigner > sign() > Error Handling > Should handle network timeout errors +WebrpcRequestFailed: request failed + at WebrpcRequestFailedError.new (C:\Users\Legion\sequence.js\packages\services\guard\src\client\guard.gen.ts:654:12)  + at C:\Users\Legion\sequence.js\packages\services\guard\src\client\guard.gen.ts:440:40 + at Guard.signPayload (C:\Users\Legion\sequence.js\packages\services\guard\src\sequence.ts:30:19) + at C:\Users\Legion\sequence.js\packages\services\guard\test\sequence.test.ts:164:11 + at file:///C:/Users/Legion/sequence.js/node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20 { + code: -1, + status: 0, + cause: 'fetch(): Timeout', + msg: 'request failed' +} + +stderr | test/sequence.test.ts > Sequence > GuardSigner > sign() > Error Handling > Should handle HTTP error responses +Internal server error: endpoint error + at WebrpcEndpointError.new (C:\Users\Legion\sequence.js\packages\services\guard\src\client\guard.gen.ts:654:12)  + at C:\Users\Legion\sequence.js\packages\services\guard\src\client\guard.gen.ts:622:54 { + code: 0, + status: 0, + cause: undefined, + msg: 'endpoint error' +} + + ✓ test/sequence.test.ts (8 tests) 140ms + ✓ Sequence > GuardSigner > sign() > Should successfully sign a payload with guard service 4ms + ✓ Sequence > GuardSigner > sign() > Should handle custom chainId in sign request 0ms + ✓ Sequence > GuardSigner > sign() > Should throw error when guard service fails 9ms + ✓ Sequence > GuardSigner > sign() > Should throw error when guard service returns invalid response 2ms + ✓ Sequence > GuardSigner > sign() > Should include proper headers and signer address in request 1ms + ✓ Sequence > GuardSigner > sign() > Error Handling > Should handle malformed guard service response 6ms + ✓ Sequence > GuardSigner > sign() > Error Handling > Should handle network timeout errors 114ms + ✓ Sequence > GuardSigner > sign() > Error Handling > Should handle HTTP error responses 1ms + + Test Files  1 passed (1) + Tests  8 passed (8) + Start at  14:53:13 + Duration  1.65s (transform 146ms, setup 0ms, collect 674ms, tests 140ms, environment 0ms, prepare 333ms) + +[?25h]0;node (vitest 1) diff --git a/packages/services/guard/.turbo/turbo-typecheck.log b/packages/services/guard/.turbo/turbo-typecheck.log new file mode 100644 index 0000000000..7f165b53d7 --- /dev/null +++ b/packages/services/guard/.turbo/turbo-typecheck.log @@ -0,0 +1,2 @@ +[?25l> @0xsequence/guard@3.0.0 typecheck C:\Users\Legion\sequence.js\packages\services\guard +> tsc --noEmit]0;C:\Windows\system32\cmd.exe[?25h diff --git a/packages/services/identity-instrument/.turbo/turbo-build.log b/packages/services/identity-instrument/.turbo/turbo-build.log new file mode 100644 index 0000000000..7d9cb21277 --- /dev/null +++ b/packages/services/identity-instrument/.turbo/turbo-build.log @@ -0,0 +1,2 @@ +[?25l> @0xsequence/identity-instrument@0.0.0 build C:\Users\Legion\sequence.js\packages\services\identity-instrument +> tsc]0;C:\Windows\system32\cmd.exe[?25h diff --git a/packages/services/identity-instrument/.turbo/turbo-test.log b/packages/services/identity-instrument/.turbo/turbo-test.log new file mode 100644 index 0000000000..a78e57fb3a --- /dev/null +++ b/packages/services/identity-instrument/.turbo/turbo-test.log @@ -0,0 +1,46 @@ +[?25l> @0xsequence/identity-instrument@0.0.0 test C:\Users\Legion\sequence.js\packages\services\identity-instrument +> vitest run]0;C:\Windows\system32\cmd.exe[?25h]0;node (vitest)[?25l + RUN  v3.2.4 C:/Users/Legion/sequence.js/packages/services/identity-instrument]0;node (vitest 2)]0;node (vitest 4)]0;node (vitest 3)]0;node (vitest 6)[?2026h[?2026l Test Files 0 passed (1) + Tests 0 passed (0) + Start at 14:53:03 + Duration 952ms[?2026h[?2026l + ❯ test/challenge.test.ts [queued] + + Test Files 0 passed (1) + Tests 0 passed (0) + Start at 14:53:03 + Duration 1.50s[?2026h[?2026l + ❯ test/challenge.test.ts [queued] + + Test Files 0 passed (1) + Tests 0 passed (0) + Start at 14:53:03 + Duration 1.93s +[?2026h[?2026l + ❯ test/challenge.test.ts 0/17 + + Test Files 0 passed (1) + Tests 0 passed (17) + Start at 14:53:03 + Duration 2.14s + ✓ test/challenge.test.ts (17 tests) 12ms + ✓ IdTokenChallenge > returns correct commit params 4ms + ✓ IdTokenChallenge > returns correct complete params 1ms + ✓ AuthCodeChallenge > returns correct commit params 1ms + ✓ AuthCodeChallenge > returns correct commit params with signer 0ms + ✓ AuthCodeChallenge > returns correct complete params 0ms + ✓ AuthCodePkceChallenge > returns correct commit params 0ms + ✓ AuthCodePkceChallenge > returns correct commit params with signer 0ms + ✓ AuthCodePkceChallenge > returns correct complete params with answer and verifier 0ms + ✓ AuthCodePkceChallenge > throws if answer and verifier are not provided 1ms + ✓ AuthCodePkceChallenge > throws if answer is not provided 0ms + ✓ AuthCodePkceChallenge > throws if verifier is not provided 0ms + ✓ OtpChallenge > fromRecipient > getCommitParams > returns correct commit params 0ms + ✓ OtpChallenge > fromRecipient > getCommitParams > throws if recipient is not provided 0ms + ✓ OtpChallenge > fromRecipient > getCompleteParams > returns correct complete params 0ms + ✓ OtpChallenge > fromRecipient > getCompleteParams > throws if answer is not provided 0ms + ✓ OtpChallenge > fromSigner > getCommitParams > returns correct commit params 0ms + ✓ OtpChallenge > fromSigner > getCommitParams > throws if signer is not provided 0ms Test Files  1 passed (1) + Tests  17 passed (17) + Start at  14:53:03 + Duration  2.22s (transform 123ms, setup 0ms, collect 614ms, tests 12ms, environment 937ms, prepare 222ms)[?25h]0;node (vitest 1) diff --git a/packages/services/indexer/.turbo/turbo-build.log b/packages/services/indexer/.turbo/turbo-build.log new file mode 100644 index 0000000000..c8f82ba20a --- /dev/null +++ b/packages/services/indexer/.turbo/turbo-build.log @@ -0,0 +1,2 @@ +[?25l> @0xsequence/indexer@3.0.0 build C:\Users\Legion\sequence.js\packages\services\indexer +> tsc]0;C:\Windows\system32\cmd.exe[?25h diff --git a/packages/services/indexer/.turbo/turbo-test.log b/packages/services/indexer/.turbo/turbo-test.log new file mode 100644 index 0000000000..3555bd5ecd --- /dev/null +++ b/packages/services/indexer/.turbo/turbo-test.log @@ -0,0 +1,2 @@ +[?25l> @0xsequence/indexer@3.0.0 test C:\Users\Legion\sequence.js\packages\services\indexer +> echo]0;C:\Windows\system32\cmd.exe[?25hECHO is on. diff --git a/packages/services/indexer/.turbo/turbo-typecheck.log b/packages/services/indexer/.turbo/turbo-typecheck.log new file mode 100644 index 0000000000..a36ac600b8 --- /dev/null +++ b/packages/services/indexer/.turbo/turbo-typecheck.log @@ -0,0 +1,2 @@ +[?25l> @0xsequence/indexer@3.0.0 typecheck C:\Users\Legion\sequence.js\packages\services\indexer +> tsc --noEmit]0;C:\Windows\system32\cmd.exe[?25h diff --git a/packages/services/marketplace/.turbo/turbo-build.log b/packages/services/marketplace/.turbo/turbo-build.log new file mode 100644 index 0000000000..4fd296b6f3 --- /dev/null +++ b/packages/services/marketplace/.turbo/turbo-build.log @@ -0,0 +1,2 @@ +[?25l> @0xsequence/marketplace@3.0.0 build C:\Users\Legion\sequence.js\packages\services\marketplace +> tsc]0;C:\Windows\system32\cmd.exe[?25h diff --git a/packages/services/marketplace/.turbo/turbo-test.log b/packages/services/marketplace/.turbo/turbo-test.log new file mode 100644 index 0000000000..01b9e1e1f9 --- /dev/null +++ b/packages/services/marketplace/.turbo/turbo-test.log @@ -0,0 +1,3 @@ +[?25l> @0xsequence/marketplace@3.0.0 test C:\Users\Legion\sequence.js\packages\services\marketplace +> echoECHO is on. +]0;C:\Windows\system32\cmd.exe[?25h diff --git a/packages/services/marketplace/.turbo/turbo-typecheck.log b/packages/services/marketplace/.turbo/turbo-typecheck.log new file mode 100644 index 0000000000..01a90edd67 --- /dev/null +++ b/packages/services/marketplace/.turbo/turbo-typecheck.log @@ -0,0 +1,2 @@ +[?25l> @0xsequence/marketplace@3.0.0 typecheck C:\Users\Legion\sequence.js\packages\services\marketplace +> tsc --noEmit]0;C:\Windows\system32\cmd.exe[?25h diff --git a/packages/services/metadata/.turbo/turbo-build.log b/packages/services/metadata/.turbo/turbo-build.log new file mode 100644 index 0000000000..05a11ef5df --- /dev/null +++ b/packages/services/metadata/.turbo/turbo-build.log @@ -0,0 +1,2 @@ +[?25l> @0xsequence/metadata@3.0.0 build C:\Users\Legion\sequence.js\packages\services\metadata +> tsc]0;C:\Windows\system32\cmd.exe[?25h diff --git a/packages/services/metadata/.turbo/turbo-test.log b/packages/services/metadata/.turbo/turbo-test.log new file mode 100644 index 0000000000..31e6edadd0 --- /dev/null +++ b/packages/services/metadata/.turbo/turbo-test.log @@ -0,0 +1,2 @@ +[?25l> @0xsequence/metadata@3.0.0 test C:\Users\Legion\sequence.js\packages\services\metadata +> echo]0;C:\Windows\system32\cmd.exe[?25hECHO is on. diff --git a/packages/services/metadata/.turbo/turbo-typecheck.log b/packages/services/metadata/.turbo/turbo-typecheck.log new file mode 100644 index 0000000000..5eaf6adeca --- /dev/null +++ b/packages/services/metadata/.turbo/turbo-typecheck.log @@ -0,0 +1,2 @@ +[?25l> @0xsequence/metadata@3.0.0 typecheck C:\Users\Legion\sequence.js\packages\services\metadata +> tsc --noEmit]0;C:\Windows\system32\cmd.exe[?25h diff --git a/packages/services/relayer/.turbo/turbo-build.log b/packages/services/relayer/.turbo/turbo-build.log new file mode 100644 index 0000000000..dc236dd6e5 --- /dev/null +++ b/packages/services/relayer/.turbo/turbo-build.log @@ -0,0 +1,2 @@ +[?25l> @0xsequence/relayer@3.0.0 build C:\Users\Legion\sequence.js\packages\services\relayer +> tsc]0;C:\Windows\system32\cmd.exe[?25h diff --git a/packages/services/relayer/.turbo/turbo-typecheck.log b/packages/services/relayer/.turbo/turbo-typecheck.log new file mode 100644 index 0000000000..7cefc1132a --- /dev/null +++ b/packages/services/relayer/.turbo/turbo-typecheck.log @@ -0,0 +1,2 @@ +[?25l> @0xsequence/relayer@3.0.0 typecheck C:\Users\Legion\sequence.js\packages\services\relayer +> tsc --noEmit]0;C:\Windows\system32\cmd.exe[?25h diff --git a/packages/utils/abi/.turbo/turbo-build.log b/packages/utils/abi/.turbo/turbo-build.log new file mode 100644 index 0000000000..568ad3e883 --- /dev/null +++ b/packages/utils/abi/.turbo/turbo-build.log @@ -0,0 +1,2 @@ +[?25l> @0xsequence/abi@3.0.0 build C:\Users\Legion\sequence.js\packages\utils\abi +> tsc]0;C:\Windows\system32\cmd.exe[?25h diff --git a/packages/utils/abi/.turbo/turbo-test.log b/packages/utils/abi/.turbo/turbo-test.log new file mode 100644 index 0000000000..47911a79ff --- /dev/null +++ b/packages/utils/abi/.turbo/turbo-test.log @@ -0,0 +1,2 @@ +[?25l> @0xsequence/abi@3.0.0 test C:\Users\Legion\sequence.js\packages\utils\abi +> echo]0;C:\Windows\system32\cmd.exe[?25hECHO is on. diff --git a/packages/utils/abi/.turbo/turbo-typecheck.log b/packages/utils/abi/.turbo/turbo-typecheck.log new file mode 100644 index 0000000000..9b29453bfc --- /dev/null +++ b/packages/utils/abi/.turbo/turbo-typecheck.log @@ -0,0 +1,2 @@ +[?25l> @0xsequence/abi@3.0.0 typecheck C:\Users\Legion\sequence.js\packages\utils\abi +> tsc --noEmit]0;C:\Windows\system32\cmd.exe[?25h diff --git a/packages/wallet/core/.turbo/turbo-build.log b/packages/wallet/core/.turbo/turbo-build.log new file mode 100644 index 0000000000..55299a3038 --- /dev/null +++ b/packages/wallet/core/.turbo/turbo-build.log @@ -0,0 +1,2 @@ +[?25l> @0xsequence/wallet-core@0.0.0 build C:\Users\Legion\sequence.js\packages\wallet\core +> tsc]0;C:\Windows\system32\cmd.exe[?25h diff --git a/packages/wallet/core/.turbo/turbo-test.log b/packages/wallet/core/.turbo/turbo-test.log new file mode 100644 index 0000000000..08e6a7f215 --- /dev/null +++ b/packages/wallet/core/.turbo/turbo-test.log @@ -0,0 +1,1581 @@ +[?25l> @0xsequence/wallet-core@0.0.0 test C:\Users\Legion\sequence.js\packages\wallet\core +> vitest run]0;C:\Windows\system32\cmd.exe[?25h]0;node (vitest)[?25l + RUN  v3.2.4 C:/Users/Legion/sequence.js/packages/wallet/core]0;node (vitest 2)]0;node (vitest 7)]0;node (vitest 6)[?2026h[?2026l ❯ test/signers-pk.test.ts [queued] Test Files 0 passed (21) + Tests 0 passed (0) + Start at 16:13:56 + Duration 782ms[?2026h[?2026l + ❯ test/session-manager.test.ts [queued] + ❯ test/signers-pk.test.ts [queued] + ❯ test/signers-session-explicit.test.ts [queued] + ❯ test/signers-session-implicit.test.ts [queued] + ❯ test/state/utils.test.ts [queued] + ❯ test/utils/session/permission-builder.test.ts [queued] + ❯ test/wallet.test.ts [queued] Test Files 0 passed (21) + Tests 0 passed (0) + Start at 16:13:56 + Duration 883ms[?2026h + +[?2026l + ❯ test/session-manager.test.ts [queued] + ❯ test/signers-pk.test.ts [queued] + ❯ test/signers-session-explicit.test.ts [queued] + ❯ test/signers-session-implicit.test.ts [queued] + ❯ test/state/utils.test.ts [queued] + ❯ test/utils/session/permission-builder.test.ts [queued] + ❯ test/wallet.test.ts [queued] + + Test Files 0 passed (21) + Tests 0 passed (0) + Start at 16:13:56 + Duration 1.91s[?2026h[?2026l + ❯ test/session-manager.test.ts [queued] + ❯ test/signers-pk.test.ts 0/16 + ❯ test/signers-session-explicit.test.ts [queued] + ❯ test/signers-session-implicit.test.ts [queued] + ❯ test/state/utils.test.ts [queued] + ❯ test/utils/session/permission-builder.test.ts [queued] + ❯ test/wallet.test.ts [queued] + + Test Files 0 passed (21) + Tests 0 passed (16) + Start at 16:13:56 + Duration 2.63s +[?2026h[?2026l + ❯ test/session-manager.test.ts [queued] + ❯ test/signers-pk.test.ts 1/16 + ❯ test/signers-session-explicit.test.ts [queued] + ❯ test/signers-session-implicit.test.ts [queued] + ❯ test/state/utils.test.ts [queued] + ❯ test/utils/session/permission-builder.test.ts [queued] + ❯ test/wallet.test.ts [queued] + + Test Files 0 passed (21) + Tests 1 passed (16) + Start at 16:13:56 + Duration 2.74s +[?2026h[?2026l ✓ test/signers-pk.test.ts (16 tests) 184ms + + ❯ test/session-manager.test.ts [queued] + ❯ test/signers-pk.test.ts 16/16 + ❯ test/signers-session-explicit.test.ts [queued] + ❯ test/signers-session-implicit.test.ts [queued] + ❯ test/state/utils.test.ts [queued] + ❯ test/utils/session/permission-builder.test.ts [queued] + ❯ test/wallet.test.ts [queued] + + Test Files 1 passed (21) + Tests 16 passed (16) + Start at 16:13:56 + Duration 2.94s[?2026h[?2026l ✓ test/state/utils.test.ts (14 tests) 72ms + + ❯ test/session-manager.test.ts [queued] + ❯ test/signers-pk.test.ts 16/16 + ❯ test/signers-session-explicit.test.ts [queued] + ❯ test/signers-session-implicit.test.ts [queued] + ❯ test/state/utils.test.ts 14/14 + ❯ test/utils/session/permission-builder.test.ts [queued] + ❯ test/wallet.test.ts [queued] + + Test Files 2 passed (21) + Tests 30 passed (30) + Start at 16:13:56 + Duration 3.04s]0;node (vitest 4)]0;node (vitest 6)[?2026h[?2026l + ❯ test/session-manager.test.ts [queued] + ❯ test/signers-guard.test.ts [queued] + ❯ test/signers-session-explicit.test.ts [queued] + ❯ test/signers-session-implicit.test.ts [queued] + ❯ test/state/utils.test.ts 14/14 + ❯ test/utils/session/permission-builder.test.ts [queued] + ❯ test/wallet.test.ts [queued] + + Test Files 2 passed (21) + Tests 30 passed (30) + Start at 16:13:56 + Duration 3.54s +[?2026h[?2026l + ❯ test/session-manager.test.ts [queued] + ❯ test/signers-guard.test.ts [queued] + ❯ test/signers-session-explicit.test.ts [queued] + ❯ test/signers-session-implicit.test.ts [queued] + ❯ test/state/cached.test.ts [queued] + ❯ test/utils/session/permission-builder.test.ts [queued] + ❯ test/wallet.test.ts [queued] + + Test Files 2 passed (21) + Tests 30 passed (30) + Start at 16:13:56 + Duration 3.86s +[?2026h + + + + + + + + + + +[?2026l + ❯ test/session-manager.test.ts [queued] + ❯ test/signers-guard.test.ts [queued] + ❯ test/signers-session-explicit.test.ts [queued] + ❯ test/signers-session-implicit.test.ts [queued] + ❯ test/state/cached.test.ts [queued] + ❯ test/utils/session/permission-builder.test.ts [queued] + ❯ test/wallet.test.ts [queued] Test Files 2 passed (21) + Tests 30 passed (30) + Start at 16:13:56 + Duration 3.97s[?2026h[?2026l + ❯ test/session-manager.test.ts [queued] + ❯ test/signers-guard.test.ts [queued] + ❯ test/signers-session-explicit.test.ts [queued] + ❯ test/signers-session-implicit.test.ts [queued] + ❯ test/state/cached.test.ts 0/32 + ❯ test/utils/session/permission-builder.test.ts [queued] + ❯ test/wallet.test.ts [queued] + + Test Files 2 passed (21) + Tests 30 passed (62) + Start at 16:13:56 + Duration 4.81s +[?2026h[?2026l ✓ test/state/cached.test.ts (32 tests) 85ms + + ❯ test/session-manager.test.ts [queued] + ❯ test/signers-guard.test.ts [queued] + ❯ test/signers-session-explicit.test.ts [queued] + ❯ test/signers-session-implicit.test.ts [queued] + ❯ test/state/cached.test.ts 32/32 + ❯ test/utils/session/permission-builder.test.ts [queued] + ❯ test/wallet.test.ts [queued] + + Test Files 3 passed (21) + Tests 62 passed (62) + Start at 16:13:56 + Duration 5.02s[?2026h[?2026l + ❯ test/session-manager.test.ts [queued] + ❯ test/signers-guard.test.ts [queued] + ❯ test/signers-passkey.test.ts [queued] + ❯ test/signers-session-explicit.test.ts [queued] + ❯ test/signers-session-implicit.test.ts [queued] + ❯ test/utils/session/permission-builder.test.ts [queued] + ❯ test/wallet.test.ts [queued] + + Test Files 3 passed (21) + Tests 62 passed (62) + Start at 16:13:56 + Duration 5.57s +[?2026h[?2026l + ❯ test/session-manager.test.ts [queued] + ❯ test/signers-guard.test.ts [queued] + ❯ test/signers-passkey.test.ts [queued] + ❯ test/signers-session-explicit.test.ts [queued] + ❯ test/signers-session-implicit.test.ts [queued] + ❯ test/utils/session/permission-builder.test.ts [queued] + ❯ test/wallet.test.ts [queued] + + Test Files 3 passed (21) + Tests 62 passed (62) + Start at 16:13:56 + Duration 5.99s +[?2026h[?2026l + ❯ test/session-manager.test.ts [queued] + ❯ test/signers-guard.test.ts [queued] + ❯ test/signers-passkey.test.ts 0/29 + ❯ test/signers-session-explicit.test.ts [queued] + ❯ test/signers-session-implicit.test.ts [queued] + ❯ test/utils/session/permission-builder.test.ts [queued] + ❯ test/wallet.test.ts [queued] + + Test Files 3 passed (21) + Tests 62 passed (91) + Start at 16:13:56 + Duration 6.41s +[?2026h[?2026l ✓ test/signers-passkey.test.ts (29 tests) 46ms + + ❯ test/session-manager.test.ts [queued] + ❯ test/signers-guard.test.ts [queued] + ❯ test/signers-pk-encrypted.test.ts [queued] + ❯ test/signers-session-explicit.test.ts [queued] + ❯ test/signers-session-implicit.test.ts [queued] + ❯ test/utils/session/permission-builder.test.ts [queued] + ❯ test/wallet.test.ts [queued] + + Test Files 4 passed (21) + Tests 91 passed (91) + Start at 16:13:56 + Duration 6.94s[?2026h[?2026l + ❯ test/session-manager.test.ts [queued] + ❯ test/signers-guard.test.ts [queued] + ❯ test/signers-pk-encrypted.test.ts [queued] + ❯ test/signers-session-explicit.test.ts [queued] + ❯ test/signers-session-implicit.test.ts [queued] + ❯ test/utils/session/permission-builder.test.ts [queued] + ❯ test/wallet.test.ts [queued] + + Test Files 4 passed (21) + Tests 91 passed (91) + Start at 16:13:56 + Duration 7.05s +[?2026h[?2026l + ❯ test/session-manager.test.ts [queued] + ❯ test/signers-guard.test.ts [queued] + ❯ test/signers-pk-encrypted.test.ts 0/19 + ❯ test/signers-session-explicit.test.ts [queued] + ❯ test/signers-session-implicit.test.ts [queued] + ❯ test/utils/session/permission-builder.test.ts [queued] + ❯ test/wallet.test.ts [queued] + + Test Files 4 passed (21) + Tests 91 passed (110) + Start at 16:13:56 + Duration 7.70s +[?2026h + + + + + + +stdout | test/utils/session/permission-builder.test.ts > PermissionBuilder > should build an exact match permission +random calldata 0x481948a90c8949c1a4adc140a3663f25148e00ce365c9c02782f7dfaab26a0aac247060cedca3856a4abffab1b01fe3d9055c680212a4e8805049c8c6afdfe5a6324fb8ba4f8 +random calldata 0x0d0bf8036689999dcb0a5d4f5a01572cdefd001fccd4f9ca01f6030fbe88fa3f31645cfe0cb598e331174e1a6c +random calldata 0x012766 +random calldata 0xd1552ac0945c56c3484af672b5df0c659a6aa9b4addeba408945dad967e2d295068545bb809b959b923848de201fbbd639e0a92a6012 +random calldata 0xcdef1a78e11af73cbaf60e605fed3dfc1f9006317b72bb3f3506c050d09495135c1f82d16815ac77e38c88c559837d6c6f31bb90969943ad9f7e8ebff0ae12f664e4c8b8b89aa78b3167aaf3 +random calldata 0xe72d51fa23cf1774e1245c999a7432fbf45c24cc876fc4f3e4c3 +random calldata 0x4f5026e38b4360c763 +random calldata 0xd0d64dbee68dd9446f0c572a6420623fd5cdcea368c225102da599a260c5682ee008af77a9fed623aa2b76d43896b2b2587146fb58ccc144716e79c5 +random calldata 0x7920e39880874b308ac3aa034c659f0cff6be4c8038be27f1ebdb87ea664bb5144cc49e4309ecd7c97edb5099464a19b647a +random calldata 0x ✓ test/signers-pk-encrypted.test.ts (19 tests) 31ms + ✓ test/signers-guard.test.ts (4 tests) 46ms + ✓ test/utils/session/permission-builder.test.ts (28 tests) 90ms ❯ test/session-manager.test.ts [queued] + ❯ test/signers-guard.test.ts 4/4 + ❯ test/signers-pk-encrypted.test.ts 19/19 + ❯ test/signers-session-explicit.test.ts 1/25 + ❯ test/signers-session-implicit.test.ts 0/28 + ❯ test/utils/session/permission-builder.test.ts 28/28 + ❯ test/wallet.test.ts 0/8 + + Test Files 7 passed (21) + Tests 143 passed (203) + Start at 16:13:56 + Duration 7.90s[?2026l +[?2026h ✓ test/signers-session-explicit.test.ts (25 tests) 82ms + + ❯ test/session-manager.test.ts 0/36 + ❯ test/signers-guard.test.ts 4/4 + ❯ test/signers-pk-encrypted.test.ts 19/19 + ❯ test/signers-session-explicit.test.ts 25/25 + ❯ test/signers-session-implicit.test.ts 7/28 + ❯ test/utils/session/permission-builder.test.ts 28/28 + ❯ test/wallet.test.ts 1/8 + + Test Files 8 passed (21) + Tests 1 failed | 174 passed (239) + Start at 16:13:56 + Duration 8.02s[?2026l +[?2026h + + + + + + ❯ test/wallet.test.ts (8 tests | 4 failed) 230ms + × Wallet > deployed > should sign a message 172ms + → fetch failed + × Wallet > deployed > should sign a typed data message 9ms + → fetch failed + × Wallet > not-deployed > should sign a message 6ms + → fetch failed + × Wallet > not-deployed > should sign a typed data message 5ms + → fetch failed + ✓ Wallet > Should reject unsafe wallet creation 10ms + ✓ Wallet > Should reject unsafe wallet update 10ms + ✓ Wallet > Should accept unsafe wallet creation in unsafe mode 7ms + ✓ Wallet > Should accept unsafe wallet update in unsafe mode 9ms + + ❯ test/session-manager.test.ts 1/36 + ❯ test/signers-guard.test.ts 4/4 + ❯ test/signers-pk-encrypted.test.ts 19/19 + ❯ test/signers-session-explicit.test.ts 25/25 + ❯ test/signers-session-implicit.test.ts 16/28 + ❯ test/utils/session/permission-builder.test.ts 28/28 + ❯ test/wallet.test.ts 8/8 + + Test Files 1 failed | 8 passed (21) + Tests 5 failed | 187 passed (239) + Start at 16:13:56 + Duration 8.12s[?2026l[?2026h +stderr | test/session-manager.test.ts > SessionManager (Dev1) > should fail to sign with an expired explicit session +Promise returned by `expect(actual).rejects.toThrow(expected)` was not awaited. Vitest currently auto-awaits hanging assertions at the end of the test, but this will cause the test to fail in Vitest 3. Please remember to await the assertion. + at C:/Users/Legion/sequence.js/packages/wallet/core/test/session-manager.test.ts:356:87 + +  + ❯ test/session-manager.test.ts 1/36  + ❯ test/signers-guard.test.ts 4/4  + ❯ test/signers-pk-encrypted.test.ts 19/19  + ❯ test/signers-session-explicit.test.ts 25/25  + ❯ test/signers-session-implicit.test.ts 16/28  + ❯ test/utils/session/permission-builder.test.ts 28/28  + ❯ test/wallet.test.ts 8/8 + + Test Files 1 failed | 8 passed (21) + Tests 5 failed | 187 passed (239) + Start at 16:13:56 + Duration 8.12s[?2026l +]0;node (vitest 5)]0;node (vitest 4)[?2026h + + + + + + + + + + +]0;node (vitest 7) ✓ test/signers-session-implicit.test.ts (28 tests) 389ms + + ❯ test/session-manager.test.ts 18/36 + ❯ test/signers-guard.test.ts 4/4 + ❯ test/signers-pk-encrypted.test.ts 19/19 + ❯ test/signers-session-explicit.test.ts 25/25 + ❯ test/signers-session-implicit.test.ts 28/28 + ❯ test/utils/session/permission-builder.test.ts 28/28 + ❯ test/wallet.test.ts 8/8 Test Files 1 failed | 9 passed (21) + Tests 20 failed | 201 passed (239) + Start at 16:13:56 + Duration 8.34s[?2026l[?2026h +stderr | test/session-manager.test.ts > SessionManager (Dev2) > should fail to sign with an expired explicit session +Promise returned by `expect(actual).rejects.toThrow(expected)` was not awaited. Vitest currently auto-awaits hanging assertions at the end of the test, but this will cause the test to fail in Vitest 3. Please remember to await the assertion. + at C:/Users/Legion/sequence.js/packages/wallet/core/test/session-manager.test.ts:356:87 + + + ❯ test/session-manager.test.ts 18/36 + ❯ test/signers-guard.test.ts 4/4 + ❯ test/signers-pk-encrypted.test.ts 19/19 + ❯ test/signers-session-explicit.test.ts 25/25 + ❯ test/signers-session-implicit.test.ts 28/28 + ❯ test/utils/session/permission-builder.test.ts 28/28 + ❯ test/wallet.test.ts 8/8 + + Test Files 1 failed | 9 passed (21) + Tests 20 failed | 201 passed (239) + Start at 16:13:56 + Duration 8.34s[?2026l +]0;node (vitest 2)[?2026hstderr | test/session-manager.test.ts > SessionManager (Rc3) > should fail to sign with an expired explicit session +Promise returned by `expect(actual).rejects.toThrow(expected)` was not awaited. Vitest currently auto-awaits hanging assertions at the end of the test, but this will cause the test to fail in Vitest 3. Please remember to await the assertion. + at C:/Users/Legion/sequence.js/packages/wallet/core/test/session-manager.test.ts:356:87 + + + ❯ test/preconditions/codec.test.ts [queued] + ❯ test/session-manager.test.ts 36/36 + ❯ test/signers-guard.test.ts 4/4 + ❯ test/signers-session-explicit.test.ts 25/25 + ❯ test/signers-session-implicit.test.ts 28/28 + ❯ test/utils/session/permission-builder.test.ts 28/28 + ❯ test/wallet.test.ts 8/8 + + Test Files 2 failed | 9 passed (21) + Tests 37 failed | 202 passed (239) + Start at 16:13:56 + Duration 8.55s[?2026l[?2026h + ❯ test/session-manager.test.ts (36 tests | 33 failed) 502ms  + × SessionManager (Dev1) > should load from state 121ms  + → fetch failed + × SessionManager (Dev1) > should create and sign with an implicit session 29ms  + → fetch failed + × SessionManager (Dev1) > should create and sign with an explicit session 12ms  + → fetch failed + × SessionManager (Dev1) > should create and sign with an explicit session with 0 chainId 13ms  + → fetch failed  + ✓ SessionManager (Dev1) > should fail to sign with an expired explicit session 25ms  + × SessionManager (Dev1) > signs a payload using an implicit session 15ms  + → fetch failed + × SessionManager (Dev1) > signs a payload using an explicit session 11ms  + → fetch failed + × SessionManager (Dev1) > signs a payload using an explicit session 7ms + → fetch failed + × SessionManager (Dev1) > signs an ERC20 approve using an explicit session 6ms + → fetch failed + × SessionManager (Dev1) > signs a payload sending value using an explicit session 8ms + → fetch failed + × SessionManager (Dev1) > signs a payload sending two transactions with cumulative rules using an explicit session 9ms + → fetch failed + × SessionManager (Dev1) > using explicit session, sends value, then uses a non-incremental permission 15ms + → fetch failed + × SessionManager (Dev2) > should load from state 4ms + → fetch failed + × SessionManager (Dev2) > should create and sign with an implicit session 15ms + → fetch failed + × SessionManager (Dev2) > should create and sign with an explicit session 5ms + → fetch failed + × SessionManager (Dev2) > should create and sign with an explicit session with 0 chainId 15ms + → fetch failed + ✓ SessionManager (Dev2) > should fail to sign with an expired explicit session 7ms + × SessionManager (Dev2) > signs a payload using an implicit session 17ms + → fetch failed + × SessionManager (Dev2) > signs a payload using an explicit session 11ms + → fetch failed + × SessionManager (Dev2) > signs a payload using an explicit session 5ms + → fetch failed + × SessionManager (Dev2) > signs an ERC20 approve using an explicit session 9ms + → fetch failed + × SessionManager (Dev2) > signs a payload sending value using an explicit session 23ms + → fetch failed + × SessionManager (Dev2) > signs a payload sending two transactions with cumulative rules using an explicit session 8ms + → fetch failed + × SessionManager (Dev2) > using explicit session, sends value, then uses a non-incremental permission 5ms + → fetch failed + × SessionManager (Rc3) > should load from state 6ms + → fetch failed + × SessionManager (Rc3) > should create and sign with an implicit session 16ms + → fetch failed + × SessionManager (Rc3) > should create and sign with an explicit session 5ms + → fetch failed + × SessionManager (Rc3) > should create and sign with an explicit session with 0 chainId 10ms + → fetch failed + ✓ SessionManager (Rc3) > should fail to sign with an expired explicit session 8ms + × SessionManager (Rc3) > signs a payload using an implicit session 7ms + → fetch failed + × SessionManager (Rc3) > signs a payload using an explicit session 8ms + → fetch failed + × SessionManager (Rc3) > signs a payload using an explicit session 6ms + → fetch failed + × SessionManager (Rc3) > signs an ERC20 approve using an explicit session 7ms + → fetch failed + × SessionManager (Rc3) > signs a payload sending value using an explicit session 8ms + → fetch failed + × SessionManager (Rc3) > signs a payload sending two transactions with cumulative rules using an explicit session 10ms + → fetch failed + × SessionManager (Rc3) > using explicit session, sends value, then uses a non-incremental permission 9ms + → fetch failed + + ❯ test/preconditions/codec.test.ts [queued] + ❯ test/session-manager.test.ts 36/36 + ❯ test/signers-guard.test.ts 4/4 + ❯ test/signers-session-explicit.test.ts 25/25 + ❯ test/signers-session-implicit.test.ts 28/28 + ❯ test/utils/session/permission-builder.test.ts 28/28 + ❯ test/wallet.test.ts 8/8 + + Test Files 2 failed | 9 passed (21) + Tests 37 failed | 202 passed (239) + Start at 16:13:56 + Duration 8.55s[?2026l +]0;node (vitest 3)[?2026h[?2026l + ❯ test/envelope.test.ts [queued] + ❯ test/preconditions/codec.test.ts [queued] + ❯ test/preconditions/selectors.test.ts [queued] + ❯ test/relayer/relayer.test.ts [queued] + ❯ test/session-manager.test.ts 36/36 + ❯ test/signers-session-implicit.test.ts 28/28 + ❯ test/wallet.test.ts 8/8 + + Test Files 2 failed | 9 passed (21) + Tests 37 failed | 202 passed (239) + Start at 16:13:56 + Duration 8.66s +]0;node (vitest 1)[?2026h[?2026l + ❯ test/envelope.test.ts [queued] + ❯ test/preconditions/codec.test.ts [queued] + ❯ test/preconditions/selectors.test.ts [queued] + ❯ test/preconditions/types.test.ts [queued] + ❯ test/relayer/relayer.test.ts [queued] + ❯ test/session-manager.test.ts 36/36 + ❯ test/state/debug.test.ts [queued] + + Test Files 2 failed | 9 passed (21) + Tests 37 failed | 202 passed (239) + Start at 16:13:56 + Duration 8.97s +[?2026h[?2026l + ❯ test/envelope.test.ts [queued] + ❯ test/preconditions/codec.test.ts [queued] + ❯ test/preconditions/selectors.test.ts [queued] + ❯ test/preconditions.test.ts [queued] + ❯ test/preconditions/types.test.ts [queued] + ❯ test/relayer/relayer.test.ts [queued] + ❯ test/state/debug.test.ts [queued] + + Test Files 2 failed | 9 passed (21) + Tests 37 failed | 202 passed (239) + Start at 16:13:56 + Duration 9.19s +[?2026h + + + + + + + + + + + +[?2026l + ❯ test/envelope.test.ts [queued] + ❯ test/preconditions/codec.test.ts [queued] + ❯ test/preconditions/selectors.test.ts 0/23 + ❯ test/preconditions.test.ts [queued] + ❯ test/preconditions/types.test.ts [queued] + ❯ test/relayer/relayer.test.ts [queued] + ❯ test/state/debug.test.ts [queued] Test Files 2 failed | 9 passed (21) + Tests 37 failed | 202 passed (262) + Start at 16:13:56 + Duration 9.52s[?2026hstderr | test/preconditions/selectors.test.ts > Preconditions Selectors > extractSupportedPreconditions > should filter out invalid preconditions +Failed to decode precondition: SyntaxError: Unexpected token 'i', "invalid json" is not valid JSON + +stderr | test/preconditions/selectors.test.ts > Preconditions Selectors > extractNativeBalancePreconditions > should filter out invalid native balance preconditions +Failed to decode precondition: SyntaxError: Unexpected token 'i', "invalid json" is not valid JSON +Failed to decode precondition: Address.InvalidAddressError: Address "undefined" is invalid. + +Details: Address is not a 20 byte (40 hexadecimal character) value. + +stderr | test/preconditions/selectors.test.ts > Preconditions Selectors > extractERC20BalancePreconditions > should filter out invalid ERC20 balance preconditions +Failed to decode precondition: SyntaxError: Unexpected token 'i', "invalid json" is not valid JSON +Failed to decode precondition: Address.InvalidAddressError: Address "undefined" is invalid. + +Details: Address is not a 20 byte (40 hexadecimal character) value. + + + ❯ test/envelope.test.ts 0/39 + ❯ test/preconditions/codec.test.ts 33/33 + ❯ test/preconditions/selectors.test.ts 23/23 + ❯ test/preconditions.test.ts [queued] + ❯ test/preconditions/types.test.ts [queued] + ❯ test/relayer/relayer.test.ts [queued] + ❯ test/state/debug.test.ts [queued] + + Test Files 2 failed | 11 passed (21) + Tests 37 failed | 258 passed (334) + Start at 16:13:56 + Duration 9.75s[?2026l[?2026h + ✓ test/preconditions/selectors.test.ts (23 tests) 27ms + ✓ test/preconditions/codec.test.ts (33 tests) 54ms +  + ❯ test/envelope.test.ts 0/39  + ❯ test/preconditions/codec.test.ts 33/33  + ❯ test/preconditions/selectors.test.ts 23/23  + ❯ test/preconditions.test.ts [queued]  + ❯ test/preconditions/types.test.ts [queued]  + ❯ test/relayer/relayer.test.ts [queued]  + ❯ test/state/debug.test.ts [queued] +  + Test Files 2 failed | 11 passed (21)  + Tests 37 failed | 258 passed (334)  + Start at 16:13:56 + Duration 9.75s[?2026l +[?2026h ✓ test/envelope.test.ts (39 tests) 29ms + ✓ test/relayer/relayer.test.ts (18 tests) 22ms + + + ❯ test/preconditions/codec.test.ts 33/33 + ❯ test/preconditions/selectors.test.ts 23/23 + ❯ test/preconditions.test.ts [queued] + ❯ test/preconditions/types.test.ts [queued] + ❯ test/state/debug.test.ts 0/14 + + Test Files 2 failed | 13 passed (21) + Tests 37 failed | 315 passed (366) + Start at 16:13:56 + Duration 9.95s[?2026l +]0;node (vitest 4)[?2026h + + + + + + + + + +]0;node (vitest 6) ✓ test/preconditions/types.test.ts (42 tests) 25ms + ✓ test/state/debug.test.ts (14 tests) 39ms ❯ test/preconditions/codec.test.ts 33/33 + ❯ test/preconditions/selectors.test.ts 23/23 + ❯ test/preconditions.test.ts [queued] Test Files 2 failed | 15 passed (21) + Tests 37 failed | 371 passed (408) + Start at 16:13:56 + Duration 10.16s[?2026l +]0;node (vitest 7)]0;node (vitest 3)[?2026h[?2026l + + + ❯ test/preconditions/codec.test.ts 33/33 + ❯ test/preconditions.test.ts [queued] + ❯ test/relayer/bundler.test.ts [queued] + + Test Files 2 failed | 15 passed (21) + Tests 37 failed | 371 passed (408) + Start at 16:13:56 + Duration 10.47s +[?2026h[?2026l ✓ test/preconditions.test.ts (7 tests) 31ms + + + ❯ test/relayer/bundler.test.ts [queued] + ❯ test/signers-index.test.ts [queued] + ❯ test/state/local/memory.test.ts [queued] + + Test Files 2 failed | 16 passed (21) + Tests 37 failed | 378 passed (415) + Start at 16:13:56 + Duration 10.67s +]0;node (vitest 1)[?2026h[?2026l + + ❯ test/relayer/bundler.test.ts [queued] + ❯ test/signers-index.test.ts [queued] + ❯ test/state/local/memory.test.ts [queued] + + Test Files 2 failed | 16 passed (21) + Tests 37 failed | 378 passed (415) + Start at 16:13:56 + Duration 10.99s +[?2026h[?2026l + + ❯ test/relayer/bundler.test.ts [queued] + ❯ test/signers-index.test.ts [queued] + ❯ test/state/local/memory.test.ts [queued] + + Test Files 2 failed | 16 passed (21) + Tests 37 failed | 378 passed (415) + Start at 16:13:56 + Duration 11.20s +[?2026h[?2026l + + ❯ test/relayer/bundler.test.ts 1/13 + ❯ test/signers-index.test.ts [queued] + ❯ test/state/local/memory.test.ts [queued] + + Test Files 2 failed | 16 passed (21) + Tests 37 failed | 379 passed (428) + Start at 16:13:56 + Duration 11.30s +[?2026h ✓ test/relayer/bundler.test.ts (13 tests) 16ms + ✓ test/state/local/memory.test.ts (16 tests) 22ms + + + + ❯ test/signers-index.test.ts 0/7 + + Test Files 2 failed | 18 passed (21) + Tests 37 failed | 407 passed (451) + Start at 16:13:56 + Duration 11.51s[?2026l + ✓ test/signers-index.test.ts (7 tests) 6ms + +⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 37 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ + + FAIL  test/session-manager.test.ts > SessionManager (Dev1) > should load from state + FAIL  test/session-manager.test.ts > SessionManager (Dev2) > should load from state + FAIL  test/session-manager.test.ts > SessionManager (Rc3) > should load from state +RpcResponse.InternalError: fetch failed + ❯ Module.parseError ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/RpcResponse.ts:289:12  + ❯ parseError ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/Provider.ts:539:30 + ❯ Object.request ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/Provider.ts:507:15 + ❯ test/session-manager.test.ts:57:32 + 55| async () => { + 56|const provider = Provider.from(RpcTransport.fromHttp(LOCAL_RPC_URL)) + 57|const chainId = Number(await provider.request({ method: 'eth_chainId' })) + |^ + 58| + 59|let topology = SessionConfig.emptySessionsTopology(identityAddress) + +Caused by: TypeError: fetch failed + ❯ ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/internal/promise.ts:22:17 + +{ + stack: 'AggregateError: \n' + + ' at internalConnectMultiple (node:net:1134:18)\n' + + ' at afterConnectMultiple (node:net:1715:7)', + errors: [ + { + stack: 'Error: connect ECONNREFUSED ::1:8545\n' + + ' at createConnectionError (node:net:1678:14)\n' + + ' at afterConnectMultiple (node:net:1708:16)', + message: 'connect ECONNREFUSED ::1:8545', + errno: -4078, + code: 'ECONNREFUSED', + syscall: 'connect', + address: '::1', + port: 8545, + constructor: 'Function', + name: 'Error', + toString: 'Function' + }, + { + stack: 'Error: connect ECONNREFUSED 127.0.0.1:8545\n' + + ' at createConnectionError (node:net:1678:14)\n' + + ' at afterConnectMultiple (node:net:1708:16)', + message: 'connect ECONNREFUSED 127.0.0.1:8545', + errno: -4078, + code: 'ECONNREFUSED', + syscall: 'connect', + address: '127.0.0.1', + port: 8545, + constructor: 'Function', + name: 'Error', + toString: 'Function' + } + ], + code: 'ECONNREFUSED', + message: '', + constructor: 'Function', + name: 'Caused by: AggregateError', + toString: 'Function', + stacks: [] +} + ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ +Serialized Error: { errors: [ { stack: 'Error: connect ECONNREFUSED ::1:8545\n at createConnectionError (node:net:1678 +8:14)\n at afterConnectMultiple (node:net:1708:16)', message: 'connect ECONNREFUSED ::1:8545', errno: -4078, code: 'ECO +ONNREFUSED', syscall: 'connect', address: '::1', port: 8545, constructor: 'Function', name: 'Error', toString: 'Fun +nction' }, { stack: 'Error: connect ECONNREFUSED 127.0.0.1:8545\n at createConnectionError (node:net:1678:14) +)\n at afterConnectMultiple (node:net:1708:16)', message: 'connect ECONNREFUSED 127.0.0.1:8545', errno: -4078, code: 'E +ECONNREFUSED', syscall: 'connect', address: '127.0.0.1', port: 8545, constructor: 'Function', name: 'Error', toStri +ing: 'Function' } ], code: 'ECONNREFUSED' } +⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/37]⎯ + + FAIL  test/session-manager.test.ts > SessionManager (Dev1) > should create and sign with an implicit session + FAIL  test/session-manager.test.ts > SessionManager (Dev2) > should create and sign with an implicit session +]0;node (vitest 4) FAIL  test/session-manager.test.ts > SessionManager (Rc3) > should create and sign with an implicit session +RpcResponse.InternalError: fetch failed + ❯ Module.parseError ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/RpcResponse.ts:289:12 + ❯ parseError ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/Provider.ts:539:30 + ❯ Object.request ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/Provider.ts:507:15 + ❯ test/session-manager.test.ts:204:32 + 202| + 203| // Sign the transaction + 204|const chainId = Number(await provider.request({ method: 'eth_chainId' })) + |^ + 205|const signature = await sessionManager.signSapient(wallet.address, chainId, payload, imageHash) + 206| + +Caused by: TypeError: fetch failed + ❯ ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/internal/promise.ts:22:17 + +{ + stack: 'AggregateError: \n' + + ' at internalConnectMultiple (node:net:1134:18)\n' + + ' at afterConnectMultiple (node:net:1715:7)', + errors: [ + { + stack: 'Error: connect ECONNREFUSED ::1:8545\n' + + ' at createConnectionError (node:net:1678:14)\n' + + ' at afterConnectMultiple (node:net:1708:16)', + message: 'connect ECONNREFUSED ::1:8545', + errno: -4078, + code: 'ECONNREFUSED', + syscall: 'connect', + address: '::1', + port: 8545, + constructor: 'Function', + name: 'Error', + toString: 'Function' + }, + { + stack: 'Error: connect ECONNREFUSED 127.0.0.1:8545\n' + + ' at createConnectionError (node:net:1678:14)\n' + + ' at afterConnectMultiple (node:net:1708:16)', + message: 'connect ECONNREFUSED 127.0.0.1:8545', + errno: -4078, + code: 'ECONNREFUSED', + syscall: 'connect', + address: '127.0.0.1', + port: 8545, + constructor: 'Function', + name: 'Error', + toString: 'Function' + } + ], + code: 'ECONNREFUSED', + message: '', + constructor: 'Function', + name: 'Caused by: AggregateError', + toString: 'Function', + stacks: [] +} + ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ +Serialized Error: { errors: [ { stack: 'Error: connect ECONNREFUSED ::1:8545\n at createConnectionError (node:net:1678 +8:14)\n at afterConnectMultiple (node:net:1708:16)', message: 'connect ECONNREFUSED ::1:8545', errno: -4078, code: 'ECO +ONNREFUSED', syscall: 'connect', address: '::1', port: 8545, constructor: 'Function', name: 'Error', toString: 'Fun +nction' }, { stack: 'Error: connect ECONNREFUSED 127.0.0.1:8545\n at createConnectionError (node:net:1678:14) +)\n at afterConnectMultiple (node:net:1708:16)', message: 'connect ECONNREFUSED 127.0.0.1:8545', errno: -4078, code: 'E +ECONNREFUSED', syscall: 'connect', address: '127.0.0.1', port: 8545, constructor: 'Function', name: 'Error', toStri +ing: 'Function' } ], code: 'ECONNREFUSED' } +⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[2/37]⎯ + + FAIL  test/session-manager.test.ts > SessionManager (Dev1) > should create and sign with an explicit session + FAIL  test/session-manager.test.ts > SessionManager (Dev2) > should create and sign with an explicit session + FAIL  test/session-manager.test.ts > SessionManager (Rc3) > should create and sign with an explicit session +RpcResponse.InternalError: fetch failed + ❯ Module.parseError ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/RpcResponse.ts:289:12 + ❯ parseError ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/Provider.ts:539:30 + ❯ Object.request ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/Provider.ts:507:15 + ❯ shouldCreateAndSignWithExplicitSession test/session-manager.test.ts:220:30 + 218| const shouldCreateAndSignWithExplicitSession = async (useChainId: boolean) => { + 219| const provider = Provider.from(RpcTransport.fromHttp(LOCAL_RPC_URL)) + 220| const chainId = Number(await provider.request({ method: 'eth_chainId' })) + |^ + 221| + 222| // Create explicit signer + ❯ test/session-manager.test.ts:286:9 + +Caused by: TypeError: fetch failed + ❯ ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/internal/promise.ts:22:17 + +{ + stack: 'AggregateError: \n' + + ' at internalConnectMultiple (node:net:1134:18)\n' + + ' at afterConnectMultiple (node:net:1715:7)', + errors: [ + { + stack: 'Error: connect ECONNREFUSED ::1:8545\n' + + ' at createConnectionError (node:net:1678:14)\n' + + ' at afterConnectMultiple (node:net:1708:16)', + message: 'connect ECONNREFUSED ::1:8545', + errno: -4078, + code: 'ECONNREFUSED', + syscall: 'connect', + address: '::1', + port: 8545, + constructor: 'Function', + name: 'Error', + toString: 'Function' + }, + { + stack: 'Error: connect ECONNREFUSED 127.0.0.1:8545\n' + + ' at createConnectionError (node:net:1678:14)\n' + + ' at afterConnectMultiple (node:net:1708:16)', + message: 'connect ECONNREFUSED 127.0.0.1:8545', + errno: -4078, + code: 'ECONNREFUSED', + syscall: 'connect', + address: '127.0.0.1', + port: 8545, + constructor: 'Function', + name: 'Error', + toString: 'Function' + } + ], + code: 'ECONNREFUSED', + message: '', + constructor: 'Function', + name: 'Caused by: AggregateError', + toString: 'Function', + stacks: [] +} +⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ + Serialized Error: { errors: [ { stack: 'Error: connect ECONNREFUSED ::1:8545\n at createConnectionError (node:net:1678 +8:14)\n at afterConnectMultiple (node:net:1708:16)', message: 'connect ECONNREFUSED ::1:8545', errno: -4078, code: 'ECO +ONNREFUSED', syscall: 'connect', address: '::1', port: 8545, constructor: 'Function', name: 'Error', toString: 'Fun +nction' }, { stack: 'Error: connect ECONNREFUSED 127.0.0.1:8545\n at createConnectionError (node:net:1678:14) +)\n at afterConnectMultiple (node:net:1708:16)', message: 'connect ECONNREFUSED 127.0.0.1:8545', errno: -4078, code: 'E +ECONNREFUSED', syscall: 'connect', address: '127.0.0.1', port: 8545, constructor: 'Function', name: 'Error', toStri +ing: 'Function' } ], code: 'ECONNREFUSED' } +⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[3/37]⎯ + + FAIL  test/session-manager.test.ts > SessionManager (Dev1) > should create and sign with an explicit session with 0 chai +inId + FAIL  test/session-manager.test.ts > SessionManager (Dev2) > should create and sign with an explicit session with 0 chai +inId + FAIL  test/session-manager.test.ts > SessionManager (Rc3) > should create and sign with an explicit session with 0 chain +nId +RpcResponse.InternalError: fetch failed + ❯ Module.parseError ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/RpcResponse.ts:289:12 + ❯ parseError ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/Provider.ts:539:30 + ❯ Object.request ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/Provider.ts:507:15 + ❯ shouldCreateAndSignWithExplicitSession test/session-manager.test.ts:220:30 + 218| const shouldCreateAndSignWithExplicitSession = async (useChainId: boolean) => { + 219| const provider = Provider.from(RpcTransport.fromHttp(LOCAL_RPC_URL)) + 220| const chainId = Number(await provider.request({ method: 'eth_chainId' })) + |^ + 221| + 222| // Create explicit signer + ❯ test/session-manager.test.ts:294:9 + +Caused by: TypeError: fetch failed + ❯ ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/internal/promise.ts:22:17 + +{ + stack: 'AggregateError: \n' + + ' at internalConnectMultiple (node:net:1134:18)\n' + + ' at afterConnectMultiple (node:net:1715:7)', + errors: [ + { + stack: 'Error: connect ECONNREFUSED ::1:8545\n' + + ' at createConnectionError (node:net:1678:14)\n' + + ' at afterConnectMultiple (node:net:1708:16)', + message: 'connect ECONNREFUSED ::1:8545', + errno: -4078, + code: 'ECONNREFUSED', + syscall: 'connect', + address: '::1', + port: 8545, + constructor: 'Function', + name: 'Error', + toString: 'Function' + }, + { + stack: 'Error: connect ECONNREFUSED 127.0.0.1:8545\n' + + ' at createConnectionError (node:net:1678:14)\n' + + ' at afterConnectMultiple (node:net:1708:16)', + message: 'connect ECONNREFUSED 127.0.0.1:8545', + errno: -4078, + code: 'ECONNREFUSED', + syscall: 'connect', + address: '127.0.0.1', + port: 8545, + constructor: 'Function', + name: 'Error', + toString: 'Function' + } + ], + code: 'ECONNREFUSED', + message: '', + constructor: 'Function', + name: 'Caused by: AggregateError', + toString: 'Function', + stacks: [] +} +⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ +Serialized Error: { errors: [ { stack: 'Error: connect ECONNREFUSED ::1:8545\n at createConnectionError (node:net:1678 +8:14)\n at afterConnectMultiple (node:net:1708:16)', message: 'connect ECONNREFUSED ::1:8545', errno: -4078, code: 'ECO +ONNREFUSED', syscall: 'connect', address: '::1', port: 8545, constructor: 'Function', name: 'Error', toString: 'Fun +nction' }, { stack: 'Error: connect ECONNREFUSED 127.0.0.1:8545\n at createConnectionError (node:net:1678:14) +)\n at afterConnectMultiple (node:net:1708:16)', message: 'connect ECONNREFUSED 127.0.0.1:8545', errno: -4078, code: 'E +ECONNREFUSED', syscall: 'connect', address: '127.0.0.1', port: 8545, constructor: 'Function', name: 'Error', toStri +ing: 'Function' } ], code: 'ECONNREFUSED' } +⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[4/37]⎯ + + FAIL  test/session-manager.test.ts > SessionManager (Dev1) > signs a payload using an implicit session + FAIL  test/session-manager.test.ts > SessionManager (Dev2) > signs a payload using an implicit session + FAIL  test/session-manager.test.ts > SessionManager (Rc3) > signs a payload using an implicit session +RpcResponse.InternalError: fetch failed + ❯ Module.parseError ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/RpcResponse.ts:289:12 + ❯ parseError ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/Provider.ts:539:30 + ❯ Object.request ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/Provider.ts:507:15 + ❯ test/session-manager.test.ts:431:32 + 429| // Check the contracts have been deployed + 430|const provider = Provider.from(RpcTransport.fromHttp(LOCAL_RPC_URL)) + 431|const chainId = Number(await provider.request({ method: 'eth_chainId' })) + |^ + 432| + 433| // Create an implicit signer + +Caused by: TypeError: fetch failed + ❯ ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/internal/promise.ts:22:17 + + { + stack: 'AggregateError: \n' + + ' at internalConnectMultiple (node:net:1134:18)\n' + + ' at afterConnectMultiple (node:net:1715:7)', + errors: [ + { + stack: 'Error: connect ECONNREFUSED ::1:8545\n' + + ' at createConnectionError (node:net:1678:14)\n' + + ' at afterConnectMultiple (node:net:1708:16)', + message: 'connect ECONNREFUSED ::1:8545', + errno: -4078, + code: 'ECONNREFUSED', + syscall: 'connect', + address: '::1', + port: 8545, + constructor: 'Function', + name: 'Error', + toString: 'Function' + }, + { + stack: 'Error: connect ECONNREFUSED 127.0.0.1:8545\n' + + ' at createConnectionError (node:net:1678:14)\n' + + ' at afterConnectMultiple (node:net:1708:16)', + message: 'connect ECONNREFUSED 127.0.0.1:8545', + errno: -4078, + code: 'ECONNREFUSED', + syscall: 'connect', + address: '127.0.0.1', + port: 8545, + constructor: 'Function', + name: 'Error', + toString: 'Function' + } + ], + code: 'ECONNREFUSED', + message: '', + constructor: 'Function', + name: 'Caused by: AggregateError', + toString: 'Function', + stacks: [] +} +⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ +Serialized Error: { errors: [ { stack: 'Error: connect ECONNREFUSED ::1:8545\n at createConnectionError (node:net:1678 +8:14)\n at afterConnectMultiple (node:net:1708:16)', message: 'connect ECONNREFUSED ::1:8545', errno: -4078, code: 'ECO +ONNREFUSED', syscall: 'connect', address: '::1', port: 8545, constructor: 'Function', name: 'Error', toString: 'Fun +nction' }, { stack: 'Error: connect ECONNREFUSED 127.0.0.1:8545\n at createConnectionError (node:net:1678:14) +)\n at afterConnectMultiple (node:net:1708:16)', message: 'connect ECONNREFUSED 127.0.0.1:8545', errno: -4078, code: 'E +ECONNREFUSED', syscall: 'connect', address: '127.0.0.1', port: 8545, constructor: 'Function', name: 'Error', toStri +ing: 'Function' } ], code: 'ECONNREFUSED' } +⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[5/37]⎯ + + FAIL  test/session-manager.test.ts > SessionManager (Dev1) > signs a payload using an explicit session + FAIL  test/session-manager.test.ts > SessionManager (Dev2) > signs a payload using an explicit session + FAIL  test/session-manager.test.ts > SessionManager (Rc3) > signs a payload using an explicit session +RpcResponse.InternalError: fetch failed + ❯ Module.parseError ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/RpcResponse.ts:289:12 + ❯ parseError ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/Provider.ts:539:30 + ❯ Object.request ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/Provider.ts:507:15 + ❯ test/session-manager.test.ts:503:32 + 501| async () => { + 502|const provider = Provider.from(RpcTransport.fromHttp(LOCAL_RPC_URL)) + 503|const chainId = Number(await provider.request({ method: 'eth_chainId' })) + |^ + 504| + 505| // Create explicit signer + +Caused by: TypeError: fetch failed + ❯ ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/internal/promise.ts:22:17 + +{ + stack: 'AggregateError: \n' + + ' at internalConnectMultiple (node:net:1134:18)\n' + + ' at afterConnectMultiple (node:net:1715:7)', + errors: [ + { + stack: 'Error: connect ECONNREFUSED ::1:8545\n' + + ' at createConnectionError (node:net:1678:14)\n' + + ' at afterConnectMultiple (node:net:1708:16)', + message: 'connect ECONNREFUSED ::1:8545', + errno: -4078, + code: 'ECONNREFUSED', + syscall: 'connect', + address: '::1', + port: 8545, + constructor: 'Function', + name: 'Error', + toString: 'Function' + }, + { + stack: 'Error: connect ECONNREFUSED 127.0.0.1:8545\n' + + ' at createConnectionError (node:net:1678:14)\n' + + ' at afterConnectMultiple (node:net:1708:16)', + message: 'connect ECONNREFUSED 127.0.0.1:8545', + errno: -4078, + code: 'ECONNREFUSED', + syscall: 'connect', + address: '127.0.0.1', + port: 8545, + constructor: 'Function', + name: 'Error', + toString: 'Function' + } + ], + code: 'ECONNREFUSED', + message: '', + constructor: 'Function', + name: 'Caused by: AggregateError', + toString: 'Function', + stacks: [] +} +⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ +Serialized Error: { errors: [ { stack: 'Error: connect ECONNREFUSED ::1:8545\n at createConnectionError (node:net:1678 +8:14)\n at afterConnectMultiple (node:net:1708:16)', message: 'connect ECONNREFUSED ::1:8545', errno: -4078, code: 'ECO +ONNREFUSED', syscall: 'connect', address: '::1', port: 8545, constructor: 'Function', name: 'Error', toString: 'Fun +nction' }, { stack: 'Error: connect ECONNREFUSED 127.0.0.1:8545\n at createConnectionError (node:net:1678:14) +)\n at afterConnectMultiple (node:net:1708:16)', message: 'connect ECONNREFUSED 127.0.0.1:8545', errno: -4078, code: 'E +ECONNREFUSED', syscall: 'connect', address: '127.0.0.1', port: 8545, constructor: 'Function', name: 'Error', toStri +ing: 'Function' } ], code: 'ECONNREFUSED' } +⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[6/37]⎯ + + FAIL  test/session-manager.test.ts > SessionManager (Dev1) > signs a payload using an explicit session + FAIL  test/session-manager.test.ts > SessionManager (Dev2) > signs a payload using an explicit session + FAIL  test/session-manager.test.ts > SessionManager (Rc3) > signs a payload using an explicit session +RpcResponse.InternalError: fetch failed + ❯ Module.parseError ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/RpcResponse.ts:289:12 + ❯ parseError ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/Provider.ts:539:30 + ❯ Object.request ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/Provider.ts:507:15 + ❯ test/session-manager.test.ts:571:32 + 569| async () => { + 570|const provider = Provider.from(RpcTransport.fromHttp(LOCAL_RPC_URL)) + 571|const chainId = Number(await provider.request({ method: 'eth_chainId' })) + |^ + 572| + 573| // Create explicit signer + +Caused by: TypeError: fetch failed]0;node (vitest 6) + ❯ ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/internal/promise.ts:22:17 + +{ + stack: 'AggregateError: \n' + + ' at internalConnectMultiple (node:net:1134:18)\n' + + ' at afterConnectMultiple (node:net:1715:7)', + errors: [ + { + stack: 'Error: connect ECONNREFUSED ::1:8545\n' + + ' at createConnectionError (node:net:1678:14)\n' + + ' at afterConnectMultiple (node:net:1708:16)', + message: 'connect ECONNREFUSED ::1:8545', + errno: -4078, + code: 'ECONNREFUSED', + syscall: 'connect', + address: '::1', + port: 8545, + constructor: 'Function', + name: 'Error', + toString: 'Function' + }, + { + stack: 'Error: connect ECONNREFUSED 127.0.0.1:8545\n' + + ' at createConnectionError (node:net:1678:14)\n' + + ' at afterConnectMultiple (node:net:1708:16)', + message: 'connect ECONNREFUSED 127.0.0.1:8545', + errno: -4078, + code: 'ECONNREFUSED', + syscall: 'connect', + address: '127.0.0.1', + port: 8545, + constructor: 'Function', + name: 'Error', + toString: 'Function' + } + ], + code: 'ECONNREFUSED', + message: '', + constructor: 'Function', + name: 'Caused by: AggregateError', + toString: 'Function', + stacks: [] +} +⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ +Serialized Error: { errors: [ { stack: 'Error: connect ECONNREFUSED ::1:8545\n at createConnectionError (node:net:1678 +8:14)\n at afterConnectMultiple (node:net:1708:16)', message: 'connect ECONNREFUSED ::1:8545', errno: -4078, code: 'ECO +ONNREFUSED', syscall: 'connect', address: '::1', port: 8545, constructor: 'Function', name: 'Error', toString: 'Fun +nction' }, { stack: 'Error: connect ECONNREFUSED 127.0.0.1:8545\n at createConnectionError (node:net:1678:14) +)\n at afterConnectMultiple (node:net:1708:16)', message: 'connect ECONNREFUSED 127.0.0.1:8545', errno: -4078, code: 'E +ECONNREFUSED', syscall: 'connect', address: '127.0.0.1', port: 8545, constructor: 'Function', name: 'Error', toStri +ing: 'Function' } ], code: 'ECONNREFUSED' } + ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[7/37]⎯ + + FAIL  test/session-manager.test.ts > SessionManager (Dev1) > signs an ERC20 approve using an explicit session + FAIL  test/session-manager.test.ts > SessionManager (Dev2) > signs an ERC20 approve using an explicit session + FAIL  test/session-manager.test.ts > SessionManager (Rc3) > signs an ERC20 approve using an explicit session +RpcResponse.InternalError: fetch failed + ❯ Module.parseError ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/RpcResponse.ts:289:12 + ❯ parseError ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/Provider.ts:539:30 + ❯ Object.request ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/Provider.ts:507:15 + ❯ test/session-manager.test.ts:658:32 + 656| async () => { + 657|const provider = Provider.from(RpcTransport.fromHttp(LOCAL_RPC_URL)) + 658|const chainId = Number(await provider.request({ method: 'eth_chainId' })) + |^ + 659| + 660| // Create explicit signer + +Caused by: TypeError: fetch failed + ❯ ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/internal/promise.ts:22:17 + +{ + stack: 'AggregateError: \n' + + ' at internalConnectMultiple (node:net:1134:18)\n' + + ' at afterConnectMultiple (node:net:1715:7)', + errors: [ + { + stack: 'Error: connect ECONNREFUSED ::1:8545\n' + + ' at createConnectionError (node:net:1678:14)\n' + + ' at afterConnectMultiple (node:net:1708:16)', + message: 'connect ECONNREFUSED ::1:8545', + errno: -4078, + code: 'ECONNREFUSED', + syscall: 'connect', + address: '::1', + port: 8545, + constructor: 'Function', + name: 'Error', + toString: 'Function' + }, + { + stack: 'Error: connect ECONNREFUSED 127.0.0.1:8545\n' + + ' at createConnectionError (node:net:1678:14)\n' + + ' at afterConnectMultiple (node:net:1708:16)', + message: 'connect ECONNREFUSED 127.0.0.1:8545', + errno: -4078, + code: 'ECONNREFUSED', + syscall: 'connect', + address: '127.0.0.1', + port: 8545, + constructor: 'Function', + name: 'Error', + toString: 'Function' + } + ], + code: 'ECONNREFUSED', + message: '', + constructor: 'Function', + name: 'Caused by: AggregateError', + toString: 'Function', + stacks: [] +} +⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ +Serialized Error: { errors: [ { stack: 'Error: connect ECONNREFUSED ::1:8545\n at createConnectionError (node:net:1678 +8:14)\n at afterConnectMultiple (node:net:1708:16)', message: 'connect ECONNREFUSED ::1:8545', errno: -4078, code: 'ECO +ONNREFUSED', syscall: 'connect', address: '::1', port: 8545, constructor: 'Function', name: 'Error', toString: 'Fun +nction' }, { stack: 'Error: connect ECONNREFUSED 127.0.0.1:8545\n at createConnectionError (node:net:1678:14) +)\n at afterConnectMultiple (node:net:1708:16)', message: 'connect ECONNREFUSED 127.0.0.1:8545', errno: -4078, code: 'E +ECONNREFUSED', syscall: 'connect', address: '127.0.0.1', port: 8545, constructor: 'Function', name: 'Error', toStri +ing: 'Function' } ], code: 'ECONNREFUSED' } +⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[8/37]⎯ + + FAIL  test/session-manager.test.ts > SessionManager (Dev1) > signs a payload sending value using an explicit session + FAIL  test/session-manager.test.ts > SessionManager (Dev2) > signs a payload sending value using an explicit session + FAIL  test/session-manager.test.ts > SessionManager (Rc3) > signs a payload sending value using an explicit session +RpcResponse.InternalError: fetch failed + ❯ Module.parseError ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/RpcResponse.ts:289:12 + ❯ parseError ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/Provider.ts:539:30 + ❯ Object.request ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/Provider.ts:507:15 + ❯ test/session-manager.test.ts:756:32 + 754| async () => { + 755|const provider = Provider.from(RpcTransport.fromHttp(LOCAL_RPC_URL)) + 756|const chainId = Number(await provider.request({ method: 'eth_chainId' })) + |^ + 757| + 758| // Create explicit signer + +Caused by: TypeError: fetch failed + ❯ ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/internal/promise.ts:22:17 + +{ + stack: 'AggregateError: \n' + + ' at internalConnectMultiple (node:net:1134:18)\n' + + ' at afterConnectMultiple (node:net:1715:7)', + errors: [ + { + stack: 'Error: connect ECONNREFUSED ::1:8545\n' + + ' at createConnectionError (node:net:1678:14)\n' + + ' at afterConnectMultiple (node:net:1708:16)', + message: 'connect ECONNREFUSED ::1:8545', + errno: -4078, + code: 'ECONNREFUSED', + syscall: 'connect', + address: '::1', + port: 8545, + constructor: 'Function', + name: 'Error', + toString: 'Function' + }, + { + stack: 'Error: connect ECONNREFUSED 127.0.0.1:8545\n' + + ' at createConnectionError (node:net:1678:14)\n' + + ' at afterConnectMultiple (node:net:1708:16)', + message: 'connect ECONNREFUSED 127.0.0.1:8545', + errno: -4078, + code: 'ECONNREFUSED', + syscall: 'connect', + address: '127.0.0.1', + port: 8545, + constructor: 'Function', + name: 'Error', + toString: 'Function' + } + ], + code: 'ECONNREFUSED', + message: '', + constructor: 'Function', + name: 'Caused by: AggregateError', + toString: 'Function', + stacks: [] +} +⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ + Serialized Error: { errors: [ { stack: 'Error: connect ECONNREFUSED ::1:8545\n at createConnectionError (node:net:1678 +8:14)\n at afterConnectMultiple (node:net:1708:16)', message: 'connect ECONNREFUSED ::1:8545', errno: -4078, code: 'ECO +ONNREFUSED', syscall: 'connect', address: '::1', port: 8545, constructor: 'Function', name: 'Error', toString: 'Fun +nction' }, { stack: 'Error: connect ECONNREFUSED 127.0.0.1:8545\n at createConnectionError (node:net:1678:14) +)\n at afterConnectMultiple (node:net:1708:16)', message: 'connect ECONNREFUSED 127.0.0.1:8545', errno: -4078, code: 'E +ECONNREFUSED', syscall: 'connect', address: '127.0.0.1', port: 8545, constructor: 'Function', name: 'Error', toStri +ing: 'Function' } ], code: 'ECONNREFUSED' } +⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[9/37]⎯ + + FAIL  test/session-manager.test.ts > SessionManager (Dev1) > signs a payload sending two transactions with cumulative ru +ules using an explicit session + FAIL  test/session-manager.test.ts > SessionManager (Dev2) > signs a payload sending two transactions with cumulative ru +ules using an explicit session + FAIL  test/session-manager.test.ts > SessionManager (Rc3) > signs a payload sending two transactions with cumulative rul +les using an explicit session +RpcResponse.InternalError: fetch failed + ❯ Module.parseError ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/RpcResponse.ts:289:12 + ❯ parseError ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/Provider.ts:539:30 + ❯ Object.request ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/Provider.ts:507:15 + ❯ test/session-manager.test.ts:861:32 + 859| async () => { + 860|const provider = Provider.from(RpcTransport.fromHttp(LOCAL_RPC_URL)) + 861|const chainId = Number(await provider.request({ method: 'eth_chainId' })) + |^ + 862| + 863| // Create explicit signer + +Caused by: TypeError: fetch failed + ❯ ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/internal/promise.ts:22:17 + +{ + stack: 'AggregateError: \n' + + ' at internalConnectMultiple (node:net:1134:18)\n' + + ' at afterConnectMultiple (node:net:1715:7)', + errors: [ + { + stack: 'Error: connect ECONNREFUSED ::1:8545\n' + + ' at createConnectionError (node:net:1678:14)\n' + + ' at afterConnectMultiple (node:net:1708:16)', + message: 'connect ECONNREFUSED ::1:8545', + errno: -4078, + code: 'ECONNREFUSED', + syscall: 'connect', + address: '::1', + port: 8545, + constructor: 'Function', + name: 'Error', + toString: 'Function' + }, + { + stack: 'Error: connect ECONNREFUSED 127.0.0.1:8545\n' + + ' at createConnectionError (node:net:1678:14)\n' + + ' at afterConnectMultiple (node:net:1708:16)', + message: 'connect ECONNREFUSED 127.0.0.1:8545', + errno: -4078, + code: 'ECONNREFUSED', + syscall: 'connect', + address: '127.0.0.1', + port: 8545, + constructor: 'Function', + name: 'Error', + toString: 'Function' + } + ], + code: 'ECONNREFUSED', + message: '', + constructor: 'Function', + name: 'Caused by: AggregateError', + toString: 'Function', + stacks: [] +} +⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ +Serialized Error: { errors: [ { stack: 'Error: connect ECONNREFUSED ::1:8545\n at createConnectionError (node:net:1678 +8:14)\n at afterConnectMultiple (node:net:1708:16)', message: 'connect ECONNREFUSED ::1:8545', errno: -4078, code: 'ECO +ONNREFUSED', syscall: 'connect', address: '::1', port: 8545, constructor: 'Function', name: 'Error', toString: 'Fun +nction' }, { stack: 'Error: connect ECONNREFUSED 127.0.0.1:8545\n at createConnectionError (node:net:1678:14) +)\n at afterConnectMultiple (node:net:1708:16)', message: 'connect ECONNREFUSED 127.0.0.1:8545', errno: -4078, code: 'E +ECONNREFUSED', syscall: 'connect', address: '127.0.0.1', port: 8545, constructor: 'Function', name: 'Error', toStri +ing: 'Function' } ], code: 'ECONNREFUSED' } +⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[10/37]⎯ + + FAIL  test/session-manager.test.ts > SessionManager (Dev1) > using explicit session, sends value, then uses a non-increm +mental permission + FAIL  test/session-manager.test.ts > SessionManager (Dev2) > using explicit session, sends value, then uses a non-increm +mental permission + FAIL  test/session-manager.test.ts > SessionManager (Rc3) > using explicit session, sends value, then uses a non-increme +ental permission +RpcResponse.InternalError: fetch failed + ❯ Module.parseError ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/RpcResponse.ts:289:12 + ❯ parseError ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/Provider.ts:539:30 + ❯ Object.request ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/Provider.ts:507:15 + ❯ test/session-manager.test.ts:980:32 + 978| async () => { + 979|const provider = Provider.from(RpcTransport.fromHttp(LOCAL_RPC_URL)) + 980|const chainId = Number(await provider.request({ method: 'eth_chainId' })) + |^ + 981| + 982| // Create explicit signer + +Caused by: TypeError: fetch failed + ❯ ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/internal/promise.ts:22:17 + +{ + stack: 'AggregateError: \n' + + ' at internalConnectMultiple (node:net:1134:18)\n' + + ' at afterConnectMultiple (node:net:1715:7)', + errors: [ + { + stack: 'Error: connect ECONNREFUSED ::1:8545\n' + + ' at createConnectionError (node:net:1678:14)\n' + + ' at afterConnectMultiple (node:net:1708:16)', + message: 'connect ECONNREFUSED ::1:8545', + errno: -4078, + code: 'ECONNREFUSED', + syscall: 'connect', + address: '::1', + port: 8545, + constructor: 'Function', + name: 'Error', + toString: 'Function' + }, + { + stack: 'Error: connect ECONNREFUSED 127.0.0.1:8545\n' + + ' at createConnectionError (node:net:1678:14)\n' + + ' at afterConnectMultiple (node:net:1708:16)', + message: 'connect ECONNREFUSED 127.0.0.1:8545', + errno: -4078, + code: 'ECONNREFUSED', + syscall: 'connect', + address: '127.0.0.1', + port: 8545, + constructor: 'Function', + name: 'Error', + toString: 'Function' + } + ], + code: 'ECONNREFUSED', + message: '', + constructor: 'Function', + name: 'Caused by: AggregateError', + toString: 'Function', + stacks: [] +} +⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ +Serialized Error: { errors: [ { stack: 'Error: connect ECONNREFUSED ::1:8545\n at createConnectionError (node:net:1678 +8:14)\n at afterConnectMultiple (node:net:1708:16)', message: 'connect ECONNREFUSED ::1:8545', errno: -4078, code: 'ECO +ONNREFUSED', syscall: 'connect', address: '::1', port: 8545, constructor: 'Function', name: 'Error', toString: 'Fun +nction' }, { stack: 'Error: connect ECONNREFUSED 127.0.0.1:8545\n at createConnectionError (node:net:1678:14) +)\n at afterConnectMultiple (node:net:1708:16)', message: 'connect ECONNREFUSED 127.0.0.1:8545', errno: -4078, code: 'E +ECONNREFUSED', syscall: 'connect', address: '127.0.0.1', port: 8545, constructor: 'Function', name: 'Error', toStri +ing: 'Function' } ], code: 'ECONNREFUSED' } +⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[11/37]⎯ + + FAIL  test/wallet.test.ts > Wallet > deployed > should sign a message + FAIL  test/wallet.test.ts > Wallet > not-deployed > should sign a message +RpcResponse.InternalError: fetch failed + ❯ Module.parseError ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/RpcResponse.ts:289:12 + ❯ parseError ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/Provider.ts:539:30 + ❯ Object.request ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/Provider.ts:507:15 + ❯ test/wallet.test.ts:43:32 + 41| it('should sign a message', async () => { + 42|const provider = Provider.from(RpcTransport.fromHttp(LOCAL_RPC_URL)) + 43|const chainId = Number(await provider.request({ method: 'eth_chainId' })) + |^ + 44| + 45|const signer = createRandomSigner() + +Caused by: TypeError: fetch failed + ❯ ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/internal/promise.ts:22:17 + + { + stack: 'AggregateError: \n' + + ' at internalConnectMultiple (node:net:1134:18)\n' + + ' at afterConnectMultiple (node:net:1715:7)', + errors: [ + { + stack: 'Error: connect ECONNREFUSED ::1:8545\n' + + ' at createConnectionError (node:net:1678:14)\n' + + ' at afterConnectMultiple (node:net:1708:16)', + message: 'connect ECONNREFUSED ::1:8545', + errno: -4078, + code: 'ECONNREFUSED', + syscall: 'connect', + address: '::1', + port: 8545, + constructor: 'Function', + name: 'Error', + toString: 'Function' + }, + { + stack: 'Error: connect ECONNREFUSED 127.0.0.1:8545\n' + + ' at createConnectionError (node:net:1678:14)\n' + + ' at afterConnectMultiple (node:net:1708:16)', + message: 'connect ECONNREFUSED 127.0.0.1:8545', + errno: -4078, + code: 'ECONNREFUSED', + syscall: 'connect', + address: '127.0.0.1', + port: 8545, + constructor: 'Function', + name: 'Error', + toString: 'Function' + } + ], + code: 'ECONNREFUSED', + message: '', + constructor: 'Function', + name: 'Caused by: AggregateError', + toString: 'Function', + stacks: [] +} +⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ +Serialized Error: { errors: [ { stack: 'Error: connect ECONNREFUSED ::1:8545\n at createConnectionError (node:net:1678 +8:14)\n at afterConnectMultiple (node:net:1708:16)', message: 'connect ECONNREFUSED ::1:8545', errno: -4078, code: 'ECO +ONNREFUSED', syscall: 'connect', address: '::1', port: 8545, constructor: 'Function', name: 'Error', toString: 'Fun +nction' }, { stack: 'Error: connect ECONNREFUSED 127.0.0.1:8545\n at createConnectionError (node:net:1678:14) +)\n at afterConnectMultiple (node:net:1708:16)', message: 'connect ECONNREFUSED 127.0.0.1:8545', errno: -4078, code: 'E +ECONNREFUSED', syscall: 'connect', address: '127.0.0.1', port: 8545, constructor: 'Function', name: 'Error', toStri +ing: 'Function' } ], code: 'ECONNREFUSED' } +⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[12/37]⎯ + + FAIL  test/wallet.test.ts > Wallet > deployed > should sign a typed data message + FAIL  test/wallet.test.ts > Wallet > not-deployed > should sign a typed data message +RpcResponse.InternalError: fetch failed + ❯ Module.parseError ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/RpcResponse.ts:289:12 + ❯ parseError ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/Provider.ts:539:30 + ❯ Object.request ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/Provider.ts:507:15 + ❯ test/wallet.test.ts:91:32 + 89| it('should sign a typed data message', async () => { + 90|const provider = Provider.from(RpcTransport.fromHttp(LOCAL_RPC_URL)) + 91|const chainId = Number(await provider.request({ method: 'eth_chainId' })) + |^ + 92| + 93|const signer = createRandomSigner() + +Caused by: TypeError: fetch failed + ❯ ../../../node_modules/.pnpm/ox@0.7.2_typescript@5.8.3/node_modules/ox/core/internal/promise.ts:22:17 + +{ + stack: 'AggregateError: \n' + + ' at internalConnectMultiple (node:net:1134:18)\n' + + ' at afterConnectMultiple (node:net:1715:7)', + errors: [ + { + stack: 'Error: connect ECONNREFUSED ::1:8545\n' + + ' at createConnectionError (node:net:1678:14)\n' + + ' at afterConnectMultiple (node:net:1708:16)', + message: 'connect ECONNREFUSED ::1:8545', + errno: -4078, + code: 'ECONNREFUSED', + syscall: 'connect', + address: '::1', + port: 8545, + constructor: 'Function', + name: 'Error', + toString: 'Function' + }, + { + stack: 'Error: connect ECONNREFUSED 127.0.0.1:8545\n' + + ' at createConnectionError (node:net:1678:14)\n' + + ' at afterConnectMultiple (node:net:1708:16)', + message: 'connect ECONNREFUSED 127.0.0.1:8545', + errno: -4078, + code: 'ECONNREFUSED', + syscall: 'connect', + address: '127.0.0.1', + port: 8545, + constructor: 'Function', + name: 'Error', + toString: 'Function' + } + ], + code: 'ECONNREFUSED', + message: '', + constructor: 'Function', + name: 'Caused by: AggregateError', + toString: 'Function', + stacks: [] +} +⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ +Serialized Error: { errors: [ { stack: 'Error: connect ECONNREFUSED ::1:8545\n at createConnectionError (node:net:1678 +8:14)\n at afterConnectMultiple (node:net:1708:16)', message: 'connect ECONNREFUSED ::1:8545', errno: -4078, code: 'ECO +ONNREFUSED', syscall: 'connect', address: '::1', port: 8545, constructor: 'Function', name: 'Error', toString: 'Fun +nction' }, { stack: 'Error: connect ECONNREFUSED 127.0.0.1:8545\n at createConnectionError (node:net:1678:14) +)\n at afterConnectMultiple (node:net:1708:16)', message: 'connect ECONNREFUSED 127.0.0.1:8545', errno: -4078, code: 'E +ECONNREFUSED', syscall: 'connect', address: '127.0.0.1', port: 8545, constructor: 'Function', name: 'Error', toStri +ing: 'Function' } ], code: 'ECONNREFUSED' } +⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[13/37]⎯ + + + Test Files  2 failed | 19 passed (21) + Tests  37 failed | 414 passed (451) + Start at  16:13:56 + Duration  11.61s (transform 2.62s, setup 0ms, collect 55.86s, tests 2.03s, environment 8ms, prepare 6.93s) + +[?25h]0;node (vitest 5) ELIFECYCLE  Test failed. See above for more details.  diff --git a/packages/wallet/core/.turbo/turbo-typecheck.log b/packages/wallet/core/.turbo/turbo-typecheck.log new file mode 100644 index 0000000000..522913fadf --- /dev/null +++ b/packages/wallet/core/.turbo/turbo-typecheck.log @@ -0,0 +1,2 @@ +[?25l> @0xsequence/wallet-core@0.0.0 typecheck C:\Users\Legion\sequence.js\packages\wallet\core +> tsc --noEmit]0;C:\Windows\system32\cmd.exe[?25h diff --git a/packages/wallet/dapp-client/.turbo/turbo-build.log b/packages/wallet/dapp-client/.turbo/turbo-build.log new file mode 100644 index 0000000000..626d703e3d --- /dev/null +++ b/packages/wallet/dapp-client/.turbo/turbo-build.log @@ -0,0 +1,4 @@ +[?25l> @0xsequence/dapp-client@0.0.0 build C:\Users\Legion\sequence.js\packages\wallet\dapp-client +> tsc]0;C:\Windows\system32\cmd.exe[?25h[?25lsrc/DappTransport.ts:519:21 - error TS2532: Object is possibly 'undefined'.519 const randStr = array[0].toString(36) + ~~~~~~~~Found 1 error in src/DappTransport.ts:519[?25h ELIFECYCLE  Command failed with exit code 2. + diff --git a/packages/wallet/dapp-client/.turbo/turbo-typecheck.log b/packages/wallet/dapp-client/.turbo/turbo-typecheck.log new file mode 100644 index 0000000000..3018df3c67 --- /dev/null +++ b/packages/wallet/dapp-client/.turbo/turbo-typecheck.log @@ -0,0 +1,5 @@ +[?25l]0;Administrator: C:\Windows\system32\cmd.exe [?25h[?25l +> @0xsequence/dapp-client@0.0.0 typecheck C:\Users\Legion\sequence.js\packages\wallet\dapp-client +> tsc --noEmit[?25h[?25lsrc/DappTransport.ts:519:21 - error TS2532: Object is possibly 'undefined'.519 const randStr = array[0].toString(36) + ~~~~~~~~Found 1 error in src/DappTransport.ts:519[?25h ELIFECYCLE  Command failed with exit code 2. + diff --git a/packages/wallet/primitives-cli/.turbo/turbo-build.log b/packages/wallet/primitives-cli/.turbo/turbo-build.log new file mode 100644 index 0000000000..dc2d6045ca --- /dev/null +++ b/packages/wallet/primitives-cli/.turbo/turbo-build.log @@ -0,0 +1,2 @@ +[?25l> @0xsequence/wallet-primitives-cli@ build C:\Users\Legion\sequence.js\packages\wallet\primitives-cli +> tsc]0;C:\Windows\system32\cmd.exe[?25h diff --git a/packages/wallet/primitives-cli/.turbo/turbo-lint.log b/packages/wallet/primitives-cli/.turbo/turbo-lint.log new file mode 100644 index 0000000000..f03f89da57 --- /dev/null +++ b/packages/wallet/primitives-cli/.turbo/turbo-lint.log @@ -0,0 +1,2 @@ +[?25l> @0xsequence/wallet-primitives-cli@ lint C:\Users\Legion\sequence.js\packages\wallet\primitives-cli +> eslint . --max-warnings 0]0;C:\Windows\system32\cmd.exe[?25hWarning: React version was set to "detect" in eslint-plugin-react settings, but the "react" package is not installed. Assuming latest React version for linting. diff --git a/packages/wallet/primitives-cli/.turbo/turbo-typecheck.log b/packages/wallet/primitives-cli/.turbo/turbo-typecheck.log new file mode 100644 index 0000000000..2301524e02 --- /dev/null +++ b/packages/wallet/primitives-cli/.turbo/turbo-typecheck.log @@ -0,0 +1,58 @@ +[?25l> @0xsequence/wallet-primitives-cli@ typecheck C:\Users\Legion\sequence.js\packages\wallet\primitives-cli +> tsc --noEmit]0;C:\Windows\system32\cmd.exe[?25h[?25lsrc/subcommands/address.ts:3:53 - error TS2307: Cannot find module '@0xsequence/wallet-primitives' or its corresponding type declarations.3 import { Address as SequenceAddress, Context } from '@0xsequence/wallet-primitives' + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~src/subcommands/config.ts:4:35 - error TS2307: Cannot find module '@0xsequence/wallet-primitives' or its corresponding type declarations.4 import { Signature, Config } from '@0xsequence/wallet-primitives' + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~src/subcommands/devTools.ts:1:51 - error TS2307: Cannot find module '@0xsequence/wallet-primitives' or its corresponding type declarations.1 import { Permission, SessionConfig, Config } from '@0xsequence/wallet-primitives' + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~src/subcommands/passkeys.ts:6:28 - error TS2307: Cannot find module '@0xsequence/wallet-primitives' or its corresponding type declarations.6 import { Extensions } from '@0xsequence/wallet-primitives' + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~src/subcommands/payload.ts:3:25 - error TS2307: Cannot find module '@0xsequence/wallet-primitives' or its corresponding type declarations.3 import { Payload } from '@0xsequence/wallet-primitives' [?25h + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  + +src/subcommands/recovery.ts:4:28 - error TS2307: Cannot find module '@0xsequence/wallet-primitives' or +r its corresponding type declarations. + +4 import { Extensions } from '@0xsequence/wallet-primitives' + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  + +src/subcommands/session.ts:6:62 - error TS2307: Cannot find module '@0xsequence/wallet-primitives' or + its corresponding type declarations. + +6 import { GenericTree, SessionConfig, SessionSignature } from '@0xsequence/wallet-primitives'  + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  + +src/subcommands/sessionExplicit.ts:3:43 - error TS2307: Cannot find module '@0xsequence/wallet-primiti +ives' or its corresponding type declarations. + +3 import { Permission, SessionConfig } from '@0xsequence/wallet-primitives' + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  + +src/subcommands/sessionImplicit.ts:1:31 - error TS2307: Cannot find module '@0xsequence/wallet-primiti +ives' or its corresponding type declarations. + +1 import { SessionConfig } from '@0xsequence/wallet-primitives' + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  + +src/subcommands/signature.ts:1:35 - error TS2307: Cannot find module '@0xsequence/wallet-primitives' o +or its corresponding type declarations. + +1 import { Config, Signature } from '@0xsequence/wallet-primitives' + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  + +src/subcommands/signature.ts:52:63 - error TS7006: Parameter 'leaf' implicitly has an 'any' type.  + +52 const fullTopology = Signature.fillLeaves(config.topology, (leaf) => { + ~~~~  + + +Found 11 errors in 10 files. + +Errors Files + 1 src/subcommands/address.ts:3  + 1 src/subcommands/config.ts:4  + 1 src/subcommands/devTools.ts:1  + 1 src/subcommands/passkeys.ts:6  + 1 src/subcommands/payload.ts:3  + 1 src/subcommands/recovery.ts:4  + 1 src/subcommands/session.ts:6  + 1 src/subcommands/sessionExplicit.ts:3  + 1 src/subcommands/sessionImplicit.ts:1  + 2 src/subcommands/signature.ts:1  + ELIFECYCLE  Command failed with exit code 2.  diff --git a/packages/wallet/primitives/.turbo/turbo-build.log b/packages/wallet/primitives/.turbo/turbo-build.log new file mode 100644 index 0000000000..82036d6d08 --- /dev/null +++ b/packages/wallet/primitives/.turbo/turbo-build.log @@ -0,0 +1,2 @@ +[?25l> @0xsequence/wallet-primitives@0.0.0 build C:\Users\Legion\sequence.js\packages\wallet\primitives +> tsc]0;C:\Windows\system32\cmd.exe[?25h diff --git a/packages/wallet/primitives/.turbo/turbo-test.log b/packages/wallet/primitives/.turbo/turbo-test.log new file mode 100644 index 0000000000..f5ec4be909 --- /dev/null +++ b/packages/wallet/primitives/.turbo/turbo-test.log @@ -0,0 +1,185 @@ +[?25l> @0xsequence/wallet-primitives@0.0.0 test C:\Users\Legion\sequence.js\packages\wallet\primitives +> vitest run]0;C:\Windows\system32\cmd.exe[?25h]0;node (vitest)[?25l + RUN  v3.2.4 C:/Users/Legion/sequence.js/packages/wallet/primitives]0;node (vitest 1)]0;node (vitest 6)]0;node (vitest 5)[?2026h[?2026l ❯ test/payload.test.ts [queued] Test Files 0 passed (14) + Tests 0 passed (0) + Start at 14:53:07 + Duration 649ms[?2026h[?2026l + ❯ test/config.test.ts [queued] + ❯ test/passkeys.test.ts [queued] + ❯ test/payload.test.ts [queued] + ❯ test/recovery.test.ts [queued] + ❯ test/session-config.test.ts [queued] + ❯ test/session-signature.test.ts [queued] + ❯ test/signature.test.ts [queued] Test Files 0 passed (14) + Tests 0 passed (0) + Start at 14:53:07 + Duration 894ms[?2026h[?2026l + ❯ test/config.test.ts [queued] + ❯ test/passkeys.test.ts 0/47 + ❯ test/payload.test.ts [queued] + ❯ test/recovery.test.ts [queued] + ❯ test/session-config.test.ts [queued] + ❯ test/session-signature.test.ts [queued] + ❯ test/signature.test.ts [queued] + + Test Files 0 passed (14) + Tests 0 passed (47) + Start at 14:53:07 + Duration 1.99s +[?2026h[?2026l ✓ test/passkeys.test.ts (47 tests) 55ms + + ❯ test/config.test.ts [queued] + ❯ test/passkeys.test.ts 47/47 + ❯ test/payload.test.ts [queued] + ❯ test/recovery.test.ts [queued] + ❯ test/session-config.test.ts 0/103 + ❯ test/session-signature.test.ts 0/62 + ❯ test/signature.test.ts [queued] + + Test Files 1 passed (14) + Tests 47 passed (212) + Start at 14:53:07 + Duration 2.10s[?2026h[?2026l ✓ test/config.test.ts (107 tests) 79ms + + ❯ test/config.test.ts 107/107 + ❯ test/passkeys.test.ts 47/47 + ❯ test/payload.test.ts 0/100 + ❯ test/recovery.test.ts 0/93 + ❯ test/session-config.test.ts 0/103 + ❯ test/session-signature.test.ts 1/62 + ❯ test/signature.test.ts 0/115 + + Test Files 2 passed (14) + Tests 155 passed (627) + Start at 14:53:07 + Duration 2.20s[?2026h[?2026l ✓ test/session-signature.test.ts (62 tests | 8 skipped) 78ms + ✓ test/recovery.test.ts (93 tests | 20 skipped) 135ms + ✓ test/session-config.test.ts (103 tests) 273ms + + ❯ test/config.test.ts 107/107 + ❯ test/passkeys.test.ts 47/47 + ❯ test/payload.test.ts 82/100 + ❯ test/recovery.test.ts 93/93 + ❯ test/session-config.test.ts 103/103 + ❯ test/session-signature.test.ts 62/62 + ❯ test/signature.test.ts 47/115 + + Test Files 5 passed (14) + Tests 511 passed | 30 skipped (627) + Start at 14:53:07 + Duration 2.42s]0;node (vitest 7)[?2026h[?2026l + ❯ test/config.test.ts 107/107 + ❯ test/passkeys.test.ts 47/47 + ❯ test/payload.test.ts 82/100 + ❯ test/recovery.test.ts 93/93 + ❯ test/session-config.test.ts 103/103 + ❯ test/session-signature.test.ts 62/62 + ❯ test/signature.test.ts 100/115 + + Test Files 5 passed (14) + Tests 559 passed | 35 skipped (627) + Start at 14:53:07 + Duration 2.52s +]0;node (vitest 6)]0;node (vitest 2)[?2026h[?2026l ✓ test/signature.test.ts (115 tests | 7 skipped) 423ms + + ❯ test/config.test.ts 107/107 + ❯ test/payload.test.ts 82/100 + ❯ test/permission.test.ts [queued] + ❯ test/recovery.test.ts 93/93 + ❯ test/session-config.test.ts 103/103 + ❯ test/session-signature.test.ts 62/62 + ❯ test/signature.test.ts 115/115 + + Test Files 6 passed (14) + Tests 573 passed | 36 skipped (627) + Start at 14:53:07 + Duration 2.85s[?2026h[?2026l + ❯ test/config.test.ts 107/107 + ❯ test/payload.test.ts 83/100 + ❯ test/permission.test.ts [queued] + ❯ test/recovery.test.ts 93/93 + ❯ test/session-config.test.ts 103/103 + ❯ test/session-signature.test.ts 62/62 + ❯ test/signature.test.ts 115/115 + + Test Files 6 passed (14) + Tests 574 passed | 36 skipped (627) + Start at 14:53:07 + Duration 2.96s +]0;node (vitest 1)[?2026h[?2026l ✓ test/payload.test.ts (100 tests | 1 skipped) 824ms + ✓ Payload > Payload Encoding and Decoding > encode > should throw for data too large 702ms + + ❯ test/attestation.test.ts [queued] + ❯ test/erc-6492.test.ts [queued] + ❯ test/permission.test.ts [queued] + ❯ test/precondition.test.ts 0/52 + ❯ test/signature.test.ts 115/115 + ❯ test/utils.test.ts [queued] + + Test Files 7 passed (14) + Tests 591 passed | 36 skipped (679) + Start at 14:53:07 + Duration 3.07s[?2026h[?2026l ✓ test/precondition.test.ts (52 tests) 37ms + + ❯ test/attestation.test.ts [queued] + ❯ test/erc-6492.test.ts [queued] + ❯ test/generic-tree.test.ts [queued] + ❯ test/permission.test.ts [queued] + ❯ test/utils.test.ts [queued] + + Test Files 8 passed (14) + Tests 643 passed | 36 skipped (679) + Start at 14:53:07 + Duration 3.29s +]0;node (vitest 3)]0;node (vitest 5)[?2026h[?2026l + ❯ test/address.test.ts [queued] + ❯ test/attestation.test.ts [queued] + ❯ test/erc-6492.test.ts [queued] + ❯ test/generic-tree.test.ts [queued] + ❯ test/permission.test.ts [queued] + ❯ test/utils.test.ts [queued] + + Test Files 8 passed (14) + Tests 643 passed | 36 skipped (679) + Start at 14:53:07 + Duration 3.61s[?2026h[?2026l ✓ test/permission.test.ts (53 tests) 46ms + + ❯ test/address.test.ts [queued] + ❯ test/attestation.test.ts [queued] + ❯ test/erc-6492.test.ts [queued] + ❯ test/generic-tree.test.ts [queued] + ❯ test/utils.test.ts 0/45 + + Test Files 9 passed (14) + Tests 696 passed | 36 skipped (777) + Start at 14:53:07 + Duration 3.82s +[?2026h[?2026l ✓ test/utils.test.ts (45 tests) 28ms + ✓ test/attestation.test.ts (31 tests) 30ms + ✓ test/erc-6492.test.ts (34 tests) 41ms + + + ❯ test/address.test.ts [queued] + ❯ test/generic-tree.test.ts [queued] + + Test Files 12 passed (14) + Tests 806 passed | 36 skipped (842) + Start at 14:53:07 + Duration 3.93s]0;node (vitest 7)]0;node (vitest 6)]0;node (vitest 4)]0;node (vitest 1)[?2026h[?2026l ✓ test/generic-tree.test.ts (42 tests) 48ms + + + ❯ test/address.test.ts 0/19 + + Test Files 13 passed (14) + Tests 848 passed | 36 skipped (903) + Start at 14:53:07 + Duration 4.46s + ✓ test/address.test.ts (19 tests) 34ms + + Test Files  14 passed (14) + Tests  867 passed | 36 skipped (903) + Start at  14:53:07 + Duration  4.60s (transform 1.73s, setup 0ms, collect 14.55s, tests 2.13s, environment 5ms, prepare 4.50s) + + +[?25h]0;node (vitest 3) diff --git a/packages/wallet/primitives/.turbo/turbo-typecheck.log b/packages/wallet/primitives/.turbo/turbo-typecheck.log new file mode 100644 index 0000000000..5b6db1470b --- /dev/null +++ b/packages/wallet/primitives/.turbo/turbo-typecheck.log @@ -0,0 +1,2 @@ +[?25l> @0xsequence/wallet-primitives@0.0.0 typecheck C:\Users\Legion\sequence.js\packages\wallet\primitives +> tsc --noEmit]0;C:\Windows\system32\cmd.exe[?25h diff --git a/packages/wallet/wdk/.turbo/turbo-build.log b/packages/wallet/wdk/.turbo/turbo-build.log new file mode 100644 index 0000000000..63d2758fee --- /dev/null +++ b/packages/wallet/wdk/.turbo/turbo-build.log @@ -0,0 +1,3 @@ +[?25l> @0xsequence/wallet-wdk@0.0.0 build C:\Users\Legion\sequence.js\packages\wallet\wdk +> tsc]0;C:\Windows\system32\cmd.exe[?25h^C ELIFECYCLE  Command failed with exit code 3221225786. + diff --git a/packages/wallet/wdk/.turbo/turbo-typecheck.log b/packages/wallet/wdk/.turbo/turbo-typecheck.log new file mode 100644 index 0000000000..439f56ae15 --- /dev/null +++ b/packages/wallet/wdk/.turbo/turbo-typecheck.log @@ -0,0 +1,4 @@ +[?25l]0;Administrator: C:\Windows\system32\cmd.exe [?25h[?25l +> @0xsequence/wallet-wdk@0.0.0 typecheck C:\Users\Legion\sequence.js\packages\wallet\wdk +> tsc --noEmit[?25h^C ELIFECYCLE  Command failed with exit code 3221225786. + diff --git a/repo/ui/.turbo/turbo-lint.log b/repo/ui/.turbo/turbo-lint.log new file mode 100644 index 0000000000..b883a81e48 --- /dev/null +++ b/repo/ui/.turbo/turbo-lint.log @@ -0,0 +1,2 @@ +[?25l> @repo/ui@0.0.0 lint C:\Users\Legion\sequence.js\repo\ui +> eslint . --max-warnings 0]0;C:\Windows\system32\cmd.exe[?25h diff --git a/repo/ui/.turbo/turbo-typecheck.log b/repo/ui/.turbo/turbo-typecheck.log new file mode 100644 index 0000000000..c18511dc4d --- /dev/null +++ b/repo/ui/.turbo/turbo-typecheck.log @@ -0,0 +1,2 @@ +[?25l> @repo/ui@0.0.0 typecheck C:\Users\Legion\sequence.js\repo\ui +> tsc --noEmit]0;C:\Windows\system32\cmd.exe[?25h diff --git a/vercel/v10/tmp/_tmp_1210640_11cd8ca49780b7c5aaa9a5f0f4076495/.turbo/turbo-build.log b/vercel/v10/tmp/_tmp_1210640_11cd8ca49780b7c5aaa9a5f0f4076495/.turbo/turbo-build.log new file mode 100644 index 0000000000..3ab2e072b2 --- /dev/null +++ b/vercel/v10/tmp/_tmp_1210640_11cd8ca49780b7c5aaa9a5f0f4076495/.turbo/turbo-build.log @@ -0,0 +1,4 @@ + +> @0xsequence/relayer@3.0.0-beta.1 build /home/runner/work/sequence.js/sequence.js/packages/services/relayer +> tsc + diff --git a/vercel/v10/tmp/_tmp_1210640_3a14409d5de174aeff15bca99179df87/.turbo/turbo-build.log b/vercel/v10/tmp/_tmp_1210640_3a14409d5de174aeff15bca99179df87/.turbo/turbo-build.log new file mode 100644 index 0000000000..7a2e8e205f --- /dev/null +++ b/vercel/v10/tmp/_tmp_1210640_3a14409d5de174aeff15bca99179df87/.turbo/turbo-build.log @@ -0,0 +1,4 @@ + +> @0xsequence/wallet-primitives@3.0.0-beta.1 build /home/runner/work/sequence.js/sequence.js/packages/wallet/primitives +> tsc + diff --git a/vercel/v10/tmp/_tmp_1210640_8f261f9509699b92854611cbd1e608aa/.turbo/turbo-build.log b/vercel/v10/tmp/_tmp_1210640_8f261f9509699b92854611cbd1e608aa/.turbo/turbo-build.log new file mode 100644 index 0000000000..99600ee684 --- /dev/null +++ b/vercel/v10/tmp/_tmp_1210640_8f261f9509699b92854611cbd1e608aa/.turbo/turbo-build.log @@ -0,0 +1,4 @@ + +> @0xsequence/dapp-client@3.0.0-beta.1 build /home/runner/work/sequence.js/sequence.js/packages/wallet/dapp-client +> tsc + diff --git a/vercel/v10/tmp/_tmp_1210640_aab55c21ab628b8874515a58792e63d5/.turbo/turbo-build.log b/vercel/v10/tmp/_tmp_1210640_aab55c21ab628b8874515a58792e63d5/.turbo/turbo-build.log new file mode 100644 index 0000000000..a6b625bf4e --- /dev/null +++ b/vercel/v10/tmp/_tmp_1210640_aab55c21ab628b8874515a58792e63d5/.turbo/turbo-build.log @@ -0,0 +1,4 @@ + +> @0xsequence/wallet-core@3.0.0-beta.1 build /home/runner/work/sequence.js/sequence.js/packages/wallet/core +> tsc + diff --git a/vercel/v10/tmp/_tmp_1210640_eafdaaa9e8b8b40741e8a41f51c2c440/.turbo/turbo-build.log b/vercel/v10/tmp/_tmp_1210640_eafdaaa9e8b8b40741e8a41f51c2c440/.turbo/turbo-build.log new file mode 100644 index 0000000000..3c8e99c187 --- /dev/null +++ b/vercel/v10/tmp/_tmp_1210640_eafdaaa9e8b8b40741e8a41f51c2c440/.turbo/turbo-build.log @@ -0,0 +1,4 @@ + +> @0xsequence/guard@3.0.0-beta.1 build /home/runner/work/sequence.js/sequence.js/packages/services/guard +> tsc +